mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu.conf: fill out TLS verify attributes after parsing
Introduce a set of bool variables with the 'present' suffix to track whether the value was actually specified. Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
10ee1270ff
commit
5ce02870c4
@ -535,8 +535,8 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
|
||||
goto cleanup;
|
||||
if ((rv = virConfGetValueBool(conf, "vnc_tls_x509_verify", &cfg->vncTLSx509verify)) < 0)
|
||||
goto cleanup;
|
||||
if (rv == 0)
|
||||
cfg->vncTLSx509verify = cfg->defaultTLSx509verify;
|
||||
if (rv == 1)
|
||||
cfg->vncTLSx509verifyPresent = true;
|
||||
if (virConfGetValueString(conf, "vnc_tls_x509_cert_dir", &cfg->vncTLSx509certdir) < 0)
|
||||
goto cleanup;
|
||||
if (virConfGetValueString(conf, "vnc_listen", &cfg->vncListen) < 0)
|
||||
@ -601,8 +601,8 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
|
||||
if ((rv = virConfGetValueBool(conf, #val "_tls_x509_verify", \
|
||||
&cfg->val## TLSx509verify)) < 0) \
|
||||
goto cleanup; \
|
||||
if (rv == 0) \
|
||||
cfg->val## TLSx509verify = cfg->defaultTLSx509verify; \
|
||||
if (rv == 1) \
|
||||
cfg->val## TLSx509verifyPresent = true; \
|
||||
if ((rv = virConfGetValueString(conf, #val "_tls_x509_cert_dir", \
|
||||
&cfg->val## TLSx509certdir)) < 0) \
|
||||
goto cleanup; \
|
||||
@ -1056,6 +1056,28 @@ virQEMUDriverConfigValidate(virQEMUDriverConfigPtr cfg)
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
virQEMUDriverConfigSetDefaults(virQEMUDriverConfigPtr cfg)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
#define SET_TLS_VERIFY_DEFAULT(val) \
|
||||
do { \
|
||||
if (!cfg->val## TLSx509verifyPresent) \
|
||||
cfg->val## TLSx509verify = cfg->defaultTLSx509verify; \
|
||||
} while (0)
|
||||
|
||||
SET_TLS_VERIFY_DEFAULT(vnc);
|
||||
SET_TLS_VERIFY_DEFAULT(chardev);
|
||||
SET_TLS_VERIFY_DEFAULT(migrate);
|
||||
|
||||
#undef SET_TLS_VERIFY_DEFAULT
|
||||
|
||||
ret = 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
virQEMUDriverConfigPtr virQEMUDriverGetConfig(virQEMUDriverPtr driver)
|
||||
{
|
||||
virQEMUDriverConfigPtr conf;
|
||||
|
@ -122,6 +122,7 @@ struct _virQEMUDriverConfig {
|
||||
bool vncAutoUnixSocket;
|
||||
bool vncTLS;
|
||||
bool vncTLSx509verify;
|
||||
bool vncTLSx509verifyPresent;
|
||||
bool vncSASL;
|
||||
char *vncTLSx509certdir;
|
||||
char *vncListen;
|
||||
@ -139,10 +140,12 @@ struct _virQEMUDriverConfig {
|
||||
bool chardevTLS;
|
||||
char *chardevTLSx509certdir;
|
||||
bool chardevTLSx509verify;
|
||||
bool chardevTLSx509verifyPresent;
|
||||
char *chardevTLSx509secretUUID;
|
||||
|
||||
char *migrateTLSx509certdir;
|
||||
bool migrateTLSx509verify;
|
||||
bool migrateTLSx509verifyPresent;
|
||||
char *migrateTLSx509secretUUID;
|
||||
|
||||
unsigned int remotePortMin;
|
||||
@ -317,6 +320,9 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
|
||||
int
|
||||
virQEMUDriverConfigValidate(virQEMUDriverConfigPtr cfg);
|
||||
|
||||
int
|
||||
virQEMUDriverConfigSetDefaults(virQEMUDriverConfigPtr cfg);
|
||||
|
||||
virQEMUDriverConfigPtr virQEMUDriverGetConfig(virQEMUDriverPtr driver);
|
||||
bool virQEMUDriverIsPrivileged(virQEMUDriverPtr driver);
|
||||
|
||||
|
@ -628,6 +628,9 @@ qemuStateInitialize(bool privileged,
|
||||
if (virQEMUDriverConfigValidate(cfg) < 0)
|
||||
goto error;
|
||||
|
||||
if (virQEMUDriverConfigSetDefaults(cfg) < 0)
|
||||
goto error;
|
||||
|
||||
if (virFileMakePath(cfg->stateDir) < 0) {
|
||||
virReportSystemError(errno, _("Failed to create state dir %s"),
|
||||
cfg->stateDir);
|
||||
|
Loading…
x
Reference in New Issue
Block a user