summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/SSLServer.py
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2012-07-08 16:24:06 -0500
committerSol Jerome <sol.jerome@gmail.com>2012-07-08 16:24:06 -0500
commit77f75b406d84cb799b03fd3977a3c9407af69a5b (patch)
treeb842f6b1090be2ea0dcc22793260c4660ebae1e5 /src/lib/Bcfg2/SSLServer.py
parent95debe731f8621b4ada9218e9f8ab8fecadf163a (diff)
downloadbcfg2-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/SSLServer.py')
-rw-r--r--src/lib/Bcfg2/SSLServer.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/SSLServer.py b/src/lib/Bcfg2/SSLServer.py
index 33707eda8..aef44e419 100644
--- a/src/lib/Bcfg2/SSLServer.py
+++ b/src/lib/Bcfg2/SSLServer.py
@@ -98,14 +98,23 @@ class SSLServer (SocketServer.TCPServer, object):
timeout -- timeout for non-blocking request handling
"""
-
+ # check whether or not we should listen on all interfaces
if listen_all:
listen_address = ('', server_address[1])
else:
listen_address = (server_address[0], server_address[1])
+
+ # check for IPv6 address
+ if ':' in server_address[0]:
+ self.address_family = socket.AF_INET6
+
try:
SocketServer.TCPServer.__init__(self, listen_address,
RequestHandlerClass)
+ except socket.gaierror:
+ e = sys.exc_info()[1]
+ self.logger.error("Failed to bind to socket: %s" % e)
+ raise
except socket.error:
self.logger.error("Failed to bind to socket")
raise