[libvirt] [PATCH 1/2] virsh: flexibility in CA cert and user cert/key
Daniel P. Berrange
berrange at redhat.com
Tue May 10 09:44:05 UTC 2011
On Fri, May 06, 2011 at 10:00:53AM -0500, Doug Goldstein wrote:
> Allow the CA certificate to come from the user's home directory or from
> the global location independently of the client certificate/key pair.
>
> Mostly for the case when each user on a system has their own cert/key
> pair but the system as a whole shares the same CA.
>
> Signed-off-by: Doug Goldstein <cardoe at gentoo.org>
> ---
> src/remote/remote_driver.c | 19 ++++++++++++-------
> 1 files changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
> index 4c3bdf3..9965d38 100644
> --- a/src/remote/remote_driver.c
> +++ b/src/remote/remote_driver.c
> @@ -1222,21 +1222,26 @@ initialize_gnutls(char *pkipath, int flags)
> "clientcert.pem")) < 0)
> goto out_of_memory;
>
> - /* Use default location as long as one of CA certificate,
> + /* Use the default location of the CA certificate if it
> + * cannot be found in $HOME/.pki/libvirt
> + */
> + if (!virFileExists(libvirt_cacert)) {
> + VIR_FREE(libvirt_cacert);
> +
> + libvirt_cacert = strdup(LIBVIRT_CACERT);
> + if (!libvirt_cacert) goto out_of_memory;
> + }
> +
> + /* Use default location as long as one of
> * client key, and client certificate cannot be found in
> * $HOME/.pki/libvirt, we don't want to make user confused
> * with one file is here, the other is there.
> */
> - if (!virFileExists(libvirt_cacert) ||
> - !virFileExists(libvirt_clientkey) ||
> + if (!virFileExists(libvirt_clientkey) ||
> !virFileExists(libvirt_clientcert)) {
> - VIR_FREE(libvirt_cacert);
> VIR_FREE(libvirt_clientkey);
> VIR_FREE(libvirt_clientcert);
>
> - libvirt_cacert = strdup(LIBVIRT_CACERT);
> - if (!libvirt_cacert) goto out_of_memory;
> -
> libvirt_clientkey = strdup(LIBVIRT_CLIENTKEY);
> if (!libvirt_clientkey) goto out_of_memory;
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list