[libvirt] [PATCH 01/13] qemu: Create #define for TLS configuration setup.

Jiri Denemark jdenemar at redhat.com
Mon Feb 20 15:09:46 UTC 2017


On Fri, Feb 17, 2017 at 14:39:18 -0500, John Ferlan wrote:
> Create GET_CONFIG_TLS_CERT to set up the TLS for 'chardev' TLS setting.
> Soon to be reused.
> 
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>  src/qemu/qemu_conf.c | 41 +++++++++++++++++++++++++----------------
>  1 file changed, 25 insertions(+), 16 deletions(-)
> 
> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
> index b5b0645..09066e4 100644
> --- a/src/qemu/qemu_conf.c
> +++ b/src/qemu/qemu_conf.c
> @@ -529,22 +529,31 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
>      if (virConfGetValueBool(conf, "spice_auto_unix_socket", &cfg->spiceAutoUnixSocket) < 0)
>          goto cleanup;
>  
> -    if (virConfGetValueBool(conf, "chardev_tls", &cfg->chardevTLS) < 0)
> -        goto cleanup;
> -    if (virConfGetValueString(conf, "chardev_tls_x509_cert_dir", &cfg->chardevTLSx509certdir) < 0)
> -        goto cleanup;
> -    if ((rv = virConfGetValueBool(conf, "chardev_tls_x509_verify", &cfg->chardevTLSx509verify)) < 0)
> -        goto cleanup;
> -    if (rv == 0)
> -        cfg->chardevTLSx509verify = cfg->defaultTLSx509verify;
> -    if (virConfGetValueString(conf, "chardev_tls_x509_secret_uuid",
> -                              &cfg->chardevTLSx509secretUUID) < 0)
> -        goto cleanup;
> -    if (!cfg->chardevTLSx509secretUUID && cfg->defaultTLSx509secretUUID) {
> -        if (VIR_STRDUP(cfg->chardevTLSx509secretUUID,
> -                       cfg->defaultTLSx509secretUUID) < 0)
> -            goto cleanup;
> -    }
> +#define GET_CONFIG_TLS_CERT(val)                                            \
> +    do {                                                                    \
> +        if (virConfGetValueBool(conf, #val "_tls", &cfg->val## TLS) < 0)    \
> +            goto cleanup;                                                   \
> +        if ((rv = virConfGetValueBool(conf, #val "_tls_x509_verify",        \
> +                                      &cfg->val## TLSx509verify)) < 0)      \
> +            goto cleanup;                                                   \
> +        if (rv == 0)                                                        \
> +            cfg->val## TLSx509verify = cfg->defaultTLSx509verify;           \
> +        if (virConfGetValueString(conf, #val "_tls_x509_cert_dir",          \
> +                                  &cfg->val## TLSx509certdir) < 0)          \
> +            goto cleanup;                                                   \
> +        if (virConfGetValueString(conf,                                     \
> +                                  #val "_tls_x509_secret_uuid",             \
> +                                  &cfg->val## TLSx509secretUUID) < 0)       \
> +            goto cleanup;                                                   \
> +        if (!cfg->val## TLSx509secretUUID &&                                \
> +            cfg->defaultTLSx509secretUUID) {                                \
> +            if (VIR_STRDUP(cfg->val## TLSx509secretUUID,                    \
> +                           cfg->defaultTLSx509secretUUID) < 0)              \
> +                goto cleanup;                                               \
> +        }                                                                   \
> +    } while (false);
> +
> +    GET_CONFIG_TLS_CERT(chardev);
>  

The following line is missing here:

#undef GET_CONFIG_TLS_CERT

Otherwise, the patch looks OK.

Jirka




More information about the libvir-list mailing list