[PATCH] virt-admin: Properly fix the default session daemon URI to admin server

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit 30ce2f0e tried to fix the issue with an incorrect session URI to admin
server but it messed up the checks:

    if (geteuid == 0 && VIR_STRDUP(*uristr, "libvirtd:///system") < 0)
        return -1;
    else if (VIR_STRDUP(*uristr, "libvirtd:///session") < 0)
        return -1;

So if a client executed with root privileges tries to connect, its euid is
checked (true) and the correct URI is successfully copied to @uristr (false),
therefore the 'else' branch is taken and @uristr is replaced by the session URI
which for root results in:
    Failed to connect socket to '/root/.cache/libvirt/libvirt-admin-sock':
    No such file or directory

Signed-off-by: Erik Skultety <eskultet@xxxxxxxxxx>
---
 src/libvirt-admin.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/libvirt-admin.c b/src/libvirt-admin.c
index 4552e84..03245b6 100644
--- a/src/libvirt-admin.c
+++ b/src/libvirt-admin.c
@@ -179,11 +179,13 @@ virAdmGetDefaultURI(virConfPtr conf, char **uristr)
              * we set the default admin server URI to 'libvirtd:///system' or
              * 'libvirtd:///session' depending on the process's EUID.
              */
-            if (geteuid() == 0 &&
-                VIR_STRDUP(*uristr, "libvirtd:///system") < 0)
+            if (geteuid() == 0) {
+                if (VIR_STRDUP(*uristr, "libvirtd:///system") < 0)
                     return -1;
-            else if (VIR_STRDUP(*uristr, "libvirtd:///session") < 0)
+            } else {
+                if (VIR_STRDUP(*uristr, "libvirtd:///session") < 0)
                     return -1;
+            }
         }
     }
 
-- 
2.5.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]