From 30ce2f0e2ad1335df6e4c9053eae822963531f97 Mon Sep 17 00:00:00 2001 From: Erik Skultety Date: Fri, 29 Jul 2016 13:57:59 +0200 Subject: [PATCH] admin: Fix the default uri for session daemon to libvirtd:///session Just like we decide on which URI we go with based on EUID for qemu in remote driver, do a similar thing for admin except we do not spawn a daemon in this case. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1356858 Signed-off-by: Erik Skultety --- src/libvirt-admin.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libvirt-admin.c b/src/libvirt-admin.c index 4bf29b14a4..4552e84a6e 100644 --- a/src/libvirt-admin.c +++ b/src/libvirt-admin.c @@ -176,10 +176,14 @@ virAdmGetDefaultURI(virConfPtr conf, char **uristr) /* Since we can't probe connecting via any hypervisor driver as libvirt * does, if no explicit URI was given and neither the environment * variable, nor the configuration parameter had previously been set, - * we set the default admin server URI to 'libvirtd://system'. + * we set the default admin server URI to 'libvirtd:///system' or + * 'libvirtd:///session' depending on the process's EUID. */ - if (VIR_STRDUP(*uristr, "libvirtd:///system") < 0) - return -1; + if (geteuid() == 0 && + VIR_STRDUP(*uristr, "libvirtd:///system") < 0) + return -1; + else if (VIR_STRDUP(*uristr, "libvirtd:///session") < 0) + return -1; } }