X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-generate;h=30a11110f45a14494a3497e33b25cedcc4fa09d2;hb=9d9ce4ef419c4db71961d665143c212a6ee6183a;hp=b5594fe4494f3e4e26619b27067cde7217578da1;hpb=26042a727441733429ecc39dd3792158f2a2ba86;p=mirror%2Fuserdir-ldap.git diff --git a/ud-generate b/ud-generate index b5594fe..30a1111 100755 --- a/ud-generate +++ b/ud-generate @@ -718,12 +718,20 @@ def GenSSHKnown(l,File): x[1].has_key("sshRSAHostKey") == 0: continue; Host = GetAttr(x,"hostname"); + HostNames = [ Host ] SHost = Host.find(".") + if SHost != None: HostNames += [Host[0:SHost]] + + IPAdressesT = None + try: + IPAdressesT = set([ (a[0],a[4][0]) for a in socket.getaddrinfo(Host, None)]) + except: + if code[0] != -2: raise + for addr in IPAdressesT: + if addr[0] == socket.AF_INET: IPAdresses += [addr[1], "::ffff:"+addr[1]] + else: IPAdresses += [addr[1]] for I in x[1]["sshRSAHostKey"]: - if SHost == None: - Line = "%s,%s %s" %(Host,socket.gethostbyname(Host),I); - else: - Line = "%s,%s,%s %s" %(Host,Host[0:SHost],socket.gethostbyname(Host),I); + Line = "%s,%s %s" %(",".join(HostNames + IPAdresses), I); Line = Sanitize(Line) + "\n"; F.write(Line); # Oops, something unspeakable happened.