contrib/greet.in: Accept IPv6 addresses.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 12 Oct 2017 01:39:26 +0000 (02:39 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 28 Jun 2018 23:29:24 +0000 (00:29 +0100)
contrib/greet.in

index c84efdc..7bc678a 100644 (file)
@@ -9,9 +9,12 @@ from sys import argv
 def db64(s):
   return (s + '='*((-len(s))%4)).decode('base64')
 
-addr, chal = (lambda _, h, p, c: ((h, int(p)), db64(c)))(*argv)
-sk = S.socket(S.AF_INET, S.SOCK_DGRAM)
-sk.connect(addr)
+ai, chal = (lambda _, h, p, c:
+            (S.getaddrinfo(h, p, S.AF_UNSPEC, S.SOCK_DGRAM, S.IPPROTO_UDP,
+                             S.AI_NUMERICHOST | S.AI_NUMERICSERV)[0],
+             db64(c)))(*argv)
+sk = S.socket(ai[0], S.SOCK_DGRAM)
+sk.connect(ai[4])
 
 pkt = '\x25' + chal
 sk.send(pkt)