You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
getaddrinfo emulation does not support AI_NUMERICSERV #74969
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2019-06-02.16:04:29.076>created_at=<Date2017-06-27.10:40:08.523>labels= ['extension-modules', 'type-bug', '3.7']
title='getaddrinfo emulation does not support AI_NUMERICSERV'updated_at=<Date2019-06-02.16:04:29.074>user='https://github.com/smejkar'
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.
>>>
I'm going to close this as the OP hasn't provided a response to Benjamin's question. It can be re-opened if additional information is provided. Thanks!
Activity
smejkar commentedon Jun 27, 2017
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.
benjaminp commentedon Sep 14, 2018
What platform needs Modules/getaddrinfo.c these days?
csabella commentedon Jun 2, 2019
I'm going to close this as the OP hasn't provided a response to Benjamin's question. It can be re-opened if additional information is provided. Thanks!