This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author smejkar
Recipients smejkar
Date 2017-06-27.10:40:07
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1498560008.54.0.948539783321.issue30786@psf.upfronthosting.co.za>
In-reply-to
Content
Modules/getaddrinfo.c should support AI_NUMERICSERV.

Moreover, not supporting AI_NUMERICSERV may cause troubles on platforms where the getaddrinfo function is available but it's buggy (see configure.ac and Modules/socketmodule.c), because Modules/addrinfo.h does not #undef AI_NUMERICSERV and Modules/socketmodule.c exports AI_NUMERICSERV defined in a system header that may collide with another flag defined in Modules/addrinfo.h and confuse the user.

./configure --with-pydebug
Comment out HAVE_GETADDRINFO in pyconfig.h
Comment out ENABLE_IPV6 in pyconfig.h on platforms where getipnodebyname and friends are not available
make -j
./python
Python 3.7.0a0 (default, Jun 27 2017, 11:59:50) 
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> socket.AI_NUMERICSERV
<AddressInfo.AI_ADDRCONFIG: 1024>
>>> socket.getaddrinfo(None, "http", flags=socket.AI_NUMERICSERV)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/radek/src/github/cpython/Lib/socket.py", line 743, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 3] invalid value for ai_flags.
>>>
History
Date User Action Args
2017-06-27 10:40:08smejkarsetrecipients: + smejkar
2017-06-27 10:40:08smejkarsetmessageid: <1498560008.54.0.948539783321.issue30786@psf.upfronthosting.co.za>
2017-06-27 10:40:08smejkarlinkissue30786 messages
2017-06-27 10:40:07smejkarcreate