--- ../src/Paste/paste/httpserver.py	2009-07-24 12:40:07.000000000 +0200
+++ lib/python2.6/site-packages/paste/httpserver.py	2010-02-11 13:48:12.000000000 +0100
@@ -183,8 +183,8 @@
         if endslash and path != '/':
             # Put the slash back...
             path += '/'
-        (server_name, server_port) = self.server.server_address
-
+        server_name = self.server.server_address[0]
+        server_port = self.server.server_address[1]
         rfile = self.rfile
         if 'HTTP/1.1' == self.protocol_version and \
                 '100-continue' == self.headers.get('Expect','').lower():
@@ -325,6 +325,8 @@
         def __init__(self, server_address, RequestHandlerClass,
                      ssl_context=None, request_queue_size=None):
             assert not ssl_context, "pyOpenSSL not installed"
+            if ':' in server_address[0]:
+                self.address_family = socket.AF_INET6
             HTTPServer.__init__(self, server_address, RequestHandlerClass)
             if request_queue_size:
                 self.socket.listen(request_queue_size)
@@ -357,6 +359,8 @@
             # This overrides the implementation of __init__ in python's
             # SocketServer.TCPServer (which BaseHTTPServer.HTTPServer
             # does not override, thankfully).
+            if ':' in server_address[0]:
+                self.address_family = socket.AF_INET6
             HTTPServer.__init__(self, server_address, RequestHandlerClass)
             self.socket = socket.socket(self.address_family,
                                         self.socket_type)
@@ -1300,7 +1298,10 @@
 
     if converters.asbool(start_loop):
         protocol = is_ssl and 'https' or 'http'
-        host, port = server.server_address
+        host = server.server_address[0]
+        port = server.server_address[1]
+        if ':' in host:
+            host = '[%s]' % host
         if host == '0.0.0.0':
             print 'serving on 0.0.0.0:%s view at %s://127.0.0.1:%s' % \
                 (port, protocol, port)

