chiark / gitweb /
Merge branches 'mdw/knock' and 'mdw/ipv6' into bleeding
[tripe] / contrib / greet.in
index c84efdcb195c58353df7f440e902a11a448f0c9d..7bc678aaa24317e68846b99be0a72110cefdb226 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)