Browse code

boobank-graphite: add support for IPv6.

Xavier G authored on04/11/2017 10:29:38
Showing1 changed files

... ...
@@ -16,14 +16,15 @@ def main():
16 16
     socket.close()
17 17
 
18 18
 def graphite_connect():
19
+    (host, port) = ('::1', 2003)
19 20
     if len(sys.argv) == 4:
20
-        socket_args = (sys.argv[2], int(sys.argv[3]))
21
+        (host, port) = (sys.argv[2], int(sys.argv[3]))
21 22
     elif len(sys.argv) == 3:
22
-        socket_args = (sys.argv[2], 2003)
23
-    else:
24
-        socket_args = ('::1', 2003)
25
-    graphite_socket = socket.socket()
26
-    graphite_socket.connect(socket_args)
23
+        host = sys.argv[2]
24
+    addr_infos = socket.getaddrinfo(host, port, 0, 0, socket.IPPROTO_TCP)
25
+    _, _, _, _, sockaddr = addr_infos[0]
26
+    graphite_socket = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0)
27
+    graphite_socket.connect(sockaddr)
27 28
     return graphite_socket
28 29
 
29 30
 def get_accounts():