[libvirt] [PATCH 3/3] remote: do not check for an existing config dir

Pino Toscano ptoscano at redhat.com
Tue Jan 10 18:43:20 UTC 2017


When composing the path to the default known_hosts file (for the libssh
and libssh2 drivers), do not check whether the configuration directory
(determined by virGetUserConfigDirectory()) exists: both the drivers can
handle non-existing files, and are able to create them (and their
directories) in that case.

This adds a small behaviour change: before, the key for an unknown host,
and manually accepted, was saved only if the configuration directory
existed -- a bit incoherent behaviour though.
---
 src/rpc/virnetclient.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/src/rpc/virnetclient.c b/src/rpc/virnetclient.c
index 9c781e3..5174614 100644
--- a/src/rpc/virnetclient.c
+++ b/src/rpc/virnetclient.c
@@ -462,11 +462,9 @@ virNetClientPtr virNetClientNewLibSSH2(const char *host,
     } else {
         confdir = virGetUserConfigDirectory();
         if (confdir) {
-            if (virFileExists(confdir)) {
-                virBufferAsprintf(&buf, "%s/known_hosts", confdir);
-                if (!(knownhosts = virBufferContentAndReset(&buf)))
-                    goto no_memory;
-            }
+            virBufferAsprintf(&buf, "%s/known_hosts", confdir);
+            if (!(knownhosts = virBufferContentAndReset(&buf)))
+                goto no_memory;
         }
     }
 
@@ -573,10 +571,8 @@ virNetClientPtr virNetClientNewLibssh(const char *host,
     } else {
         confdir = virGetUserConfigDirectory();
         if (confdir) {
-            if (virFileExists(confdir)) {
-                if (virAsprintf(&knownhosts, "%s/known_hosts", confdir) < 0)
-                    goto cleanup;
-            }
+            if (virAsprintf(&knownhosts, "%s/known_hosts", confdir) < 0)
+                goto cleanup;
         }
     }
 
-- 
2.7.4




More information about the libvir-list mailing list