[New-bugs-announce] [issue25667] Supply dual-stack (IPv4/IPv6) socket bind routine
Jason R. Coombs
report at bugs.python.org
Thu Nov 19 08:32:53 EST 2015
New submission from Jason R. Coombs:
When binding to a socket for creating a service, the socket API provides a mechanism for selecting only IPv4 or IPv6, but the simple operation of binding to all interfaces in a dual-stack environment is not easy, as is revealed in issue20215 and issue24209, but also in third-party packages. I ran into this during the implementation of aiosmtpd (https://gitlab.com/python-smtpd-hackers/aiosmtpd). As a long time maintainer of CherryPy, I've enjoyed the [dual stack support](https://bitbucket.org/cherrypy/cherrypy/src/536a9cb66e91de92502e766b2b0cf53d1cb5cb4a/cherrypy/wsgiserver/wsgiserver2.py?at=default&fileviewer=file-view-default#wsgiserver2.py-2007:2020) there.
I propose the Python stdlib provide a routine to facilitate this need more generally, and then invoke that implementation to address these other use-cases.
As it is a new feature, a backports package should be created to supply the same functionality for older Pythons.
Would this effort require a PEP? Is there a good place for such a routine (maybe socketserver)? Any other thoughts?
components: Library (Lib)
title: Supply dual-stack (IPv4/IPv6) socket bind routine
versions: Python 3.6
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce