diff options
author | Sol Jerome <sol.jerome@gmail.com> | 2012-07-08 16:24:06 -0500 |
---|---|---|
committer | Sol Jerome <sol.jerome@gmail.com> | 2012-07-08 16:24:06 -0500 |
commit | 77f75b406d84cb799b03fd3977a3c9407af69a5b (patch) | |
tree | b842f6b1090be2ea0dcc22793260c4660ebae1e5 /src/lib/Bcfg2/Proxy.py | |
parent | 95debe731f8621b4ada9218e9f8ab8fecadf163a (diff) | |
download | bcfg2-77f75b406d84cb799b03fd3977a3c9407af69a5b.tar.gz bcfg2-77f75b406d84cb799b03fd3977a3c9407af69a5b.tar.bz2 bcfg2-77f75b406d84cb799b03fd3977a3c9407af69a5b.zip |
Add IPv6 support
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
Diffstat (limited to 'src/lib/Bcfg2/Proxy.py')
-rw-r--r-- | src/lib/Bcfg2/Proxy.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Proxy.py b/src/lib/Bcfg2/Proxy.py index 422d642db..eff9544da 100644 --- a/src/lib/Bcfg2/Proxy.py +++ b/src/lib/Bcfg2/Proxy.py @@ -192,7 +192,15 @@ class SSLHTTPConnection(httplib.HTTPConnection): def _connect_py26ssl(self): """Initiates a connection using the ssl module.""" - rawsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + # check for IPv6 + hostip = socket.getaddrinfo(self.host, + self.port, + socket.AF_UNSPEC, + socket.SOCK_STREAM)[0][4][0] + if ':' in hostip: + rawsock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) + else: + rawsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) if self.protocol == 'xmlrpc/ssl': ssl_protocol_ver = ssl.PROTOCOL_SSLv23 elif self.protocol == 'xmlrpc/tlsv1': |