mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
virDomainSmartcardDef: Declare 'type' as virDomainSmartcardType
Use 'virXMLPropEnum' to parse it and fix all switch statements which didn't include the VIR_DOMAIN_SMARTCARD_TYPE_LAST case. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
3c819a6ce8
commit
43d48eebf9
@ -2884,6 +2884,7 @@ void virDomainSmartcardDefFree(virDomainSmartcardDef *def)
|
|||||||
virObjectUnref(def->data.passthru);
|
virObjectUnref(def->data.passthru);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -11602,7 +11603,6 @@ virDomainSmartcardDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
g_autoptr(virDomainSmartcardDef) def = NULL;
|
g_autoptr(virDomainSmartcardDef) def = NULL;
|
||||||
g_autofree char *mode = NULL;
|
|
||||||
g_autofree char *type = NULL;
|
g_autofree char *type = NULL;
|
||||||
g_autofree xmlNodePtr *certificates = NULL;
|
g_autofree xmlNodePtr *certificates = NULL;
|
||||||
int n = 0;
|
int n = 0;
|
||||||
@ -11611,18 +11611,9 @@ virDomainSmartcardDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
ctxt->node = node;
|
ctxt->node = node;
|
||||||
def = g_new0(virDomainSmartcardDef, 1);
|
def = g_new0(virDomainSmartcardDef, 1);
|
||||||
|
|
||||||
mode = virXMLPropString(node, "mode");
|
if (virXMLPropEnum(node, "mode", virDomainSmartcardTypeFromString,
|
||||||
if (mode == NULL) {
|
VIR_XML_PROP_REQUIRED, &def->type) < 0)
|
||||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
|
||||||
_("missing smartcard device mode"));
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
if ((def->type = virDomainSmartcardTypeFromString(mode)) < 0) {
|
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
|
||||||
_("unknown smartcard device mode: %s"),
|
|
||||||
mode);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (def->type) {
|
switch (def->type) {
|
||||||
case VIR_DOMAIN_SMARTCARD_TYPE_HOST:
|
case VIR_DOMAIN_SMARTCARD_TYPE_HOST:
|
||||||
@ -11687,9 +11678,9 @@ virDomainSmartcardDefParseXML(virDomainXMLOption *xmlopt,
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
virReportEnumRangeError(virDomainSmartcardType, def->type);
|
||||||
_("unknown smartcard mode"));
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25406,9 +25397,9 @@ virDomainSmartcardDefFormat(virBuffer *buf,
|
|||||||
virDomainChrSourceDefFormat(&childBuf, def->data.passthru, flags);
|
virDomainChrSourceDefFormat(&childBuf, def->data.passthru, flags);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportEnumRangeError(virDomainSmartcardType, def->type);
|
||||||
_("unexpected smartcard type %d"), def->type);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
virDomainDeviceInfoFormat(&childBuf, &def->info, flags);
|
virDomainDeviceInfoFormat(&childBuf, &def->info, flags);
|
||||||
|
@ -1320,7 +1320,7 @@ typedef enum {
|
|||||||
#define VIR_DOMAIN_SMARTCARD_DEFAULT_DATABASE "/etc/pki/nssdb"
|
#define VIR_DOMAIN_SMARTCARD_DEFAULT_DATABASE "/etc/pki/nssdb"
|
||||||
|
|
||||||
struct _virDomainSmartcardDef {
|
struct _virDomainSmartcardDef {
|
||||||
int type; /* virDomainSmartcardType */
|
virDomainSmartcardType type;
|
||||||
union {
|
union {
|
||||||
/* no extra data for 'host' */
|
/* no extra data for 'host' */
|
||||||
struct {
|
struct {
|
||||||
|
@ -9146,6 +9146,7 @@ qemuBuildSmartcardCommandLine(virLogManager *logManager,
|
|||||||
smartcard->info.alias);
|
smartcard->info.alias);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
virReportEnumRangeError(virDomainSmartcardType, smartcard->type);
|
virReportEnumRangeError(virDomainSmartcardType, smartcard->type);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -2117,6 +2117,7 @@ qemuValidateDomainSmartcardDef(const virDomainSmartcardDef *def,
|
|||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
virReportEnumRangeError(virDomainSmartcardType, def->type);
|
virReportEnumRangeError(virDomainSmartcardType, def->type);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -2696,10 +2696,9 @@ virSecuritySELinuxRestoreSecuritySmartcardCallback(virDomainDef *def,
|
|||||||
return virSecuritySELinuxRestoreChardevLabel(mgr, def,
|
return virSecuritySELinuxRestoreChardevLabel(mgr, def,
|
||||||
dev->data.passthru, false);
|
dev->data.passthru, false);
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportEnumRangeError(virDomainSmartcardType, dev->type);
|
||||||
_("unknown smartcard type %d"),
|
|
||||||
dev->type);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3103,10 +3102,9 @@ virSecuritySELinuxSetSecuritySmartcardCallback(virDomainDef *def,
|
|||||||
return virSecuritySELinuxSetChardevLabel(mgr, def,
|
return virSecuritySELinuxSetChardevLabel(mgr, def,
|
||||||
dev->data.passthru, false);
|
dev->data.passthru, false);
|
||||||
|
|
||||||
|
case VIR_DOMAIN_SMARTCARD_TYPE_LAST:
|
||||||
default:
|
default:
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportEnumRangeError(virDomainSmartcardType, dev->type);
|
||||||
_("unknown smartcard type %d"),
|
|
||||||
dev->type);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user