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;
|
goto cleanup;
|
||||||
if ((rv = virConfGetValueBool(conf, "vnc_tls_x509_verify", &cfg->vncTLSx509verify)) < 0)
|
if ((rv = virConfGetValueBool(conf, "vnc_tls_x509_verify", &cfg->vncTLSx509verify)) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (rv == 0)
|
if (rv == 1)
|
||||||
cfg->vncTLSx509verify = cfg->defaultTLSx509verify;
|
cfg->vncTLSx509verifyPresent = true;
|
||||||
if (virConfGetValueString(conf, "vnc_tls_x509_cert_dir", &cfg->vncTLSx509certdir) < 0)
|
if (virConfGetValueString(conf, "vnc_tls_x509_cert_dir", &cfg->vncTLSx509certdir) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (virConfGetValueString(conf, "vnc_listen", &cfg->vncListen) < 0)
|
if (virConfGetValueString(conf, "vnc_listen", &cfg->vncListen) < 0)
|
||||||
@ -601,8 +601,8 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
|
|||||||
if ((rv = virConfGetValueBool(conf, #val "_tls_x509_verify", \
|
if ((rv = virConfGetValueBool(conf, #val "_tls_x509_verify", \
|
||||||
&cfg->val## TLSx509verify)) < 0) \
|
&cfg->val## TLSx509verify)) < 0) \
|
||||||
goto cleanup; \
|
goto cleanup; \
|
||||||
if (rv == 0) \
|
if (rv == 1) \
|
||||||
cfg->val## TLSx509verify = cfg->defaultTLSx509verify; \
|
cfg->val## TLSx509verifyPresent = true; \
|
||||||
if ((rv = virConfGetValueString(conf, #val "_tls_x509_cert_dir", \
|
if ((rv = virConfGetValueString(conf, #val "_tls_x509_cert_dir", \
|
||||||
&cfg->val## TLSx509certdir)) < 0) \
|
&cfg->val## TLSx509certdir)) < 0) \
|
||||||
goto cleanup; \
|
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 virQEMUDriverGetConfig(virQEMUDriverPtr driver)
|
||||||
{
|
{
|
||||||
virQEMUDriverConfigPtr conf;
|
virQEMUDriverConfigPtr conf;
|
||||||
|
@ -122,6 +122,7 @@ struct _virQEMUDriverConfig {
|
|||||||
bool vncAutoUnixSocket;
|
bool vncAutoUnixSocket;
|
||||||
bool vncTLS;
|
bool vncTLS;
|
||||||
bool vncTLSx509verify;
|
bool vncTLSx509verify;
|
||||||
|
bool vncTLSx509verifyPresent;
|
||||||
bool vncSASL;
|
bool vncSASL;
|
||||||
char *vncTLSx509certdir;
|
char *vncTLSx509certdir;
|
||||||
char *vncListen;
|
char *vncListen;
|
||||||
@ -139,10 +140,12 @@ struct _virQEMUDriverConfig {
|
|||||||
bool chardevTLS;
|
bool chardevTLS;
|
||||||
char *chardevTLSx509certdir;
|
char *chardevTLSx509certdir;
|
||||||
bool chardevTLSx509verify;
|
bool chardevTLSx509verify;
|
||||||
|
bool chardevTLSx509verifyPresent;
|
||||||
char *chardevTLSx509secretUUID;
|
char *chardevTLSx509secretUUID;
|
||||||
|
|
||||||
char *migrateTLSx509certdir;
|
char *migrateTLSx509certdir;
|
||||||
bool migrateTLSx509verify;
|
bool migrateTLSx509verify;
|
||||||
|
bool migrateTLSx509verifyPresent;
|
||||||
char *migrateTLSx509secretUUID;
|
char *migrateTLSx509secretUUID;
|
||||||
|
|
||||||
unsigned int remotePortMin;
|
unsigned int remotePortMin;
|
||||||
@ -317,6 +320,9 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
|
|||||||
int
|
int
|
||||||
virQEMUDriverConfigValidate(virQEMUDriverConfigPtr cfg);
|
virQEMUDriverConfigValidate(virQEMUDriverConfigPtr cfg);
|
||||||
|
|
||||||
|
int
|
||||||
|
virQEMUDriverConfigSetDefaults(virQEMUDriverConfigPtr cfg);
|
||||||
|
|
||||||
virQEMUDriverConfigPtr virQEMUDriverGetConfig(virQEMUDriverPtr driver);
|
virQEMUDriverConfigPtr virQEMUDriverGetConfig(virQEMUDriverPtr driver);
|
||||||
bool virQEMUDriverIsPrivileged(virQEMUDriverPtr driver);
|
bool virQEMUDriverIsPrivileged(virQEMUDriverPtr driver);
|
||||||
|
|
||||||
|
@ -628,6 +628,9 @@ qemuStateInitialize(bool privileged,
|
|||||||
if (virQEMUDriverConfigValidate(cfg) < 0)
|
if (virQEMUDriverConfigValidate(cfg) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
if (virQEMUDriverConfigSetDefaults(cfg) < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
if (virFileMakePath(cfg->stateDir) < 0) {
|
if (virFileMakePath(cfg->stateDir) < 0) {
|
||||||
virReportSystemError(errno, _("Failed to create state dir %s"),
|
virReportSystemError(errno, _("Failed to create state dir %s"),
|
||||||
cfg->stateDir);
|
cfg->stateDir);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user