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 <eskultet@redhat.com>
This commit is contained in:
Erik Skultety 2016-07-29 13:57:59 +02:00
parent e396de03f3
commit 30ce2f0e2a

View File

@ -176,10 +176,14 @@ virAdmGetDefaultURI(virConfPtr conf, char **uristr)
/* Since we can't probe connecting via any hypervisor driver as libvirt /* Since we can't probe connecting via any hypervisor driver as libvirt
* does, if no explicit URI was given and neither the environment * does, if no explicit URI was given and neither the environment
* variable, nor the configuration parameter had previously been set, * 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) if (geteuid() == 0 &&
return -1; VIR_STRDUP(*uristr, "libvirtd:///system") < 0)
return -1;
else if (VIR_STRDUP(*uristr, "libvirtd:///session") < 0)
return -1;
} }
} }