[libvirt] [PATCH] admin: Fix the default uri for session daemon to libvirtd:///session

Erik Skultety eskultet at redhat.com
Fri Jul 29 12:06:00 UTC 2016


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 <eskultet at redhat.com>
---
 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 4bf29b1..4552e84 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;
         }
     }
 
-- 
2.5.5




More information about the libvir-list mailing list