Issue 3213: "pydoc -p" should listen to [::] if IPv6 is supported (original) (raw)

Created on 2008-06-27 00:11 by ndim, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
python-pydoc-p-ipv6.patch ndim,2008-06-27 00:11 IPv6 support for 'pydoc -p ' review
Messages (5)
msg68811 - (view) Author: Hans Ulrich Niedermann (ndim) Date: 2008-06-27 00:11
According to "pydoc --help", pydoc -p Start an HTTP server on the given port on the local machine. The IP address pydoc binds to is not specified, thus I would expect it to either bind to the local address or to the wildcard address. Current behaviour of "pydoc -p 1234" is to bind to the IPv4-only address 0.0.0.0:1234. On a IPv4/IPv6 dual-stack machine, I would expect pydoc to listen to either both 127.0.0.1:1234 and [::1]:, or just [::]: ([::] also catches accesses to IPv4 addresses such as 127.0.0.1). Then access to the pydoc webserver is available both via IPv4 (e.g. http://127.0.0.1:1234/) and IPv6 (e.g. http://[::1]:1234/), and in both cases via http://localhost:1234/ regardless whether localhost is resolved via IPv6 or IPv4. Trivial patch attached (tested on Linux x86 machine with local IPv6 networking).
msg68814 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2008-06-27 05:08
That will break on systems where AF_INET6 doesn't default to dual-stacked sockets and mapped v4 addresses (e.g. Windows); to make it work correctly, you'll also have to disable the IPV6_V6ONLY option, which then breaks on systems which don't implement that option (e.g. Windows XP).
msg262883 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-04-05 01:23
I understand Windows XP isn’t so important these days. So maybe we just need to disable IPV6_V6ONLY. (Unless we want this for 2.7 maybe?)
msg265517 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-05-14 10:53
Currently pydoc only binds to IPv4 localhost, not the “any-address” 0.0.0.0. See Issue 22421 and Issue 672656. Apart from satisfying Hans’s expectation, what is the benefit of running pydoc on IPv6? I guess it would be possible to bind two sockets, one to IPv4 localhost (127.1 or ::ffff:127.0.0.1), and the other IPv6 localhost (::1). But why bother?
msg265676 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2016-05-16 07:27
Agreed with Martin.
History
Date User Action Args
2022-04-11 14:56:35 admin set github: 47463
2016-05-16 07:27:47 berker.peksag set status: pending -> closednosy: + berker.peksag, - Daniel Griffinmessages: + priority: normal -> lowresolution: rejectedstage: needs patch -> resolved
2016-05-14 12:53:55 martin.panter set status: open -> pendingtype: crash -> enhancementversions: - Python 2.7
2016-05-14 12:53:21 martin.panter set files: - sync_node.xml
2016-05-14 12:29:42 Daniel Griffin set files: + sync_node.xml
2016-05-14 12:28:56 Daniel Griffin set status: pending -> opennosy: + Daniel Griffintype: enhancement -> crashversions: + Python 2.7
2016-05-14 10:53:57 martin.panter set status: open -> pendingmessages: +
2016-04-05 01:23:41 martin.panter set stage: needs patchmessages: + versions: + Python 3.6, - Python 3.3
2016-04-04 23:04:12 jleedev set nosy: + jleedev
2015-02-08 10:43:16 martin.panter set nosy: + martin.panter
2012-02-21 04:07:15 eric.araujo set type: behavior -> enhancementversions: + Python 3.3, - Python 2.6, Python 3.1, Python 2.7, Python 3.2
2010-06-09 23:07:13 terry.reedy set versions: + Python 3.1, Python 2.7, Python 3.2, - Python 2.5
2008-06-27 05:08:26 loewis set nosy: + loewismessages: +
2008-06-27 00:11:28 ndim create