Bug 81926 - httplib does not support IPv6
httplib does not support IPv6
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: python (Show other bugs)
9
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mihai Ibanescu
Brock Organ
:
Depends On:
Blocks: 106421
  Show dependency treegraph
 
Reported: 2003-01-15 04:32 EST by Ulrich Drepper
Modified: 2007-04-18 12:50 EDT (History)
0 users

See Also:
Fixed In Version: 2.4.2-3.2.1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-05-27 13:51:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ulrich Drepper 2003-01-15 04:32:11 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030111

Description of problem:
IPv6 addresses in URIs have to be written like

   http://[fe80::207:e9ff:fe9b]:8000

but passing such a string to the httplib functions produces errors like

  File "//usr/lib/python2.2/httplib.py", line 969, in __init__
    self._setup(self._connection_class(host, port, strict))
  File "//usr/lib/python2.2/httplib.py", line 491, in __init__
    self._set_hostport(host, port)
  File "//usr/lib/python2.2/httplib.py", line 502, in _set_hostport
    raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
httplib.InvalidURL: nonnumeric port: ':207:e9ff:fe9b]:8000'


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.start python
2.run the script
import xmlrpclib
server = xmlrpclib.Server("http://fe80::207:e9ff:fe9b:8000")
server.echo("test")

It's not necessary to have a server running, you'll not get as far as using it.
    

Actual Results:  Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "//usr/lib/python2.2/xmlrpclib.py", line 821, in __call__
    return self.__send(self.__name, args)
  File "//usr/lib/python2.2/xmlrpclib.py", line 975, in __request
    verbose=self.__verbose
  File "//usr/lib/python2.2/xmlrpclib.py", line 833, in request
    h = self.make_connection(host)
  File "//usr/lib/python2.2/xmlrpclib.py", line 862, in make_connection
    return httplib.HTTP(host)
  File "//usr/lib/python2.2/httplib.py", line 969, in __init__
    self._setup(self._connection_class(host, port, strict))
  File "//usr/lib/python2.2/httplib.py", line 491, in __init__
    self._set_hostport(host, port)
  File "//usr/lib/python2.2/httplib.py", line 502, in _set_hostport
    raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
httplib.InvalidURL: nonnumeric port: ':207:e9ff:fe9b]:8000'


Expected Results:  connection to xmlrpc server

Additional info:

See RFC 2732 for info on IPv6 URIs.
Comment 1 Mihai Ibanescu 2003-01-15 10:11:43 EST
I'll have to check if there is any statement python 2.2 would be IPv6 compliant,
anywhere. Will send upstream.
Comment 2 Ulrich Drepper 2003-11-06 00:00:09 EST
Looking at the report again, the URL is wrong.  Replace the second
line in the script from the receipe with

server = xmlrpclib.Server("http://[fe80::207:e9ff:fe9b]:8000")

Result is still the same (with python-2.2.3-7).
Comment 3 Ulrich Drepper 2006-05-27 13:51:46 EDT
This specific issue seems to be fixed in 2.4.2-3.2.1 and maybe earlier.

Note You need to log in before you can comment on or make changes to this bug.