*** ../src/Paste/paste/httpserver.py	2009-07-24 12:40:07.000000000 +0200
--- ./lib/python2.6/site-packages/paste/httpserver.py	2010-02-15 18:21:59.000000000 +0100
***************
*** 183,190 ****
          if endslash and path != '/':
              # Put the slash back...
              path += '/'
!         (server_name, server_port) = self.server.server_address
! 
          rfile = self.rfile
          if 'HTTP/1.1' == self.protocol_version and \
                  '100-continue' == self.headers.get('Expect','').lower():
--- 183,190 ----
          if endslash and path != '/':
              # Put the slash back...
              path += '/'
!         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,330 ****
--- 325,334 ----
          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
+             else:
+                 self.address_family = socket.AF_INET
              HTTPServer.__init__(self, server_address, RequestHandlerClass)
              if request_queue_size:
                  self.socket.listen(request_queue_size)
***************
*** 357,362 ****
--- 361,370 ----
              # 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
+             else:
+                 self.address_family = socket.AF_INET
              HTTPServer.__init__(self, server_address, RequestHandlerClass)
              self.socket = socket.socket(self.address_family,
                                          self.socket_type)
***************
*** 1300,1306 ****
  
      if converters.asbool(start_loop):
          protocol = is_ssl and 'https' or 'http'
!         host, port = server.server_address
          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)
--- 1302,1311 ----
  
      if converters.asbool(start_loop):
          protocol = is_ssl and 'https' or 'http'
!         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)

