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