summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog6
-rw-r--r--src/lib/Server/Plugins/SSHbase.py4
2 files changed, 8 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 8dd83c767..18118c970 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+bcfg2 (1.2.3-12) unstable; urgency=low
+
+ * SSHbase: support for ipv6 addresses in known_hosts file
+
+ -- Alexander Sulfrian <alex@spline.inf.fu-berlin.de> Thu, 02 May 2013 12:58:06 +0200
+
bcfg2 (1.2.3-11) unstable; urgency=low
* Client/Tools/POSIX: catch multiple VerifyDirectory calls
diff --git a/src/lib/Server/Plugins/SSHbase.py b/src/lib/Server/Plugins/SSHbase.py
index f55bc9259..efef938be 100644
--- a/src/lib/Server/Plugins/SSHbase.py
+++ b/src/lib/Server/Plugins/SSHbase.py
@@ -159,7 +159,7 @@ class SSHbase(Bcfg2.Server.Plugin.Plugin,
for name in names[cmeta.hostname]:
newnames.add(name.split('.')[0])
try:
- newips.add(self.get_ipcache_entry(name)[0])
+ newips.update(self.get_ipcache_entry(name)[0])
except:
continue
names[cmeta.hostname].update(newnames)
@@ -274,7 +274,7 @@ class SSHbase(Bcfg2.Server.Plugin.Plugin,
else:
# need to add entry
try:
- ipaddr = socket.gethostbyname(client)
+ ipaddr = set([addr[0] for (_, _, _, _, addr) in socket.getaddrinfo(client, None)])
self.ipcache[client] = (ipaddr, client)
return (ipaddr, client)
except socket.gaierror: