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)
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; \
}
+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;
bool vncAutoUnixSocket;
bool vncTLS;
bool vncTLSx509verify;
+ bool vncTLSx509verifyPresent;
bool vncSASL;
char *vncTLSx509certdir;
char *vncListen;
bool chardevTLS;
char *chardevTLSx509certdir;
bool chardevTLSx509verify;
+ bool chardevTLSx509verifyPresent;
char *chardevTLSx509secretUUID;
char *migrateTLSx509certdir;
bool migrateTLSx509verify;
+ bool migrateTLSx509verifyPresent;
char *migrateTLSx509secretUUID;
unsigned int remotePortMin;
int
virQEMUDriverConfigValidate(virQEMUDriverConfigPtr cfg);
+int
+virQEMUDriverConfigSetDefaults(virQEMUDriverConfigPtr cfg);
+
virQEMUDriverConfigPtr virQEMUDriverGetConfig(virQEMUDriverPtr driver);
bool virQEMUDriverIsPrivileged(virQEMUDriverPtr driver);
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);