Author lepaperwan
Recipients Michael.Felt, asvetlov, eamanu, lepaperwan, maxifree, miss-islington, twisteroid ambassador, yselivanov
Date 2019-05-24.22:19:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1558736392.74.0.828369698293.issue35545@roundup.psfhosted.org>
In-reply-to
Content
Thanks for testing that. It's good that you used an actual address because that eliminates the possibility that AIX doesn't handle addresses it doesn't really know about.

On the other hand, even when properly specified to a real scoped IPv6 address, `getaddrinfo` doesn't seem to get the necessary scope ID from the underlying C call which socket.getaddrinfo > _socket.getaddrinfo is pretty much mapped to.

I'm looking at cpython/master for the socketmodule implementation:
https://github.com/python/cpython/blob/6dbbe748e101a173b4cff8aada41e9313e287e0f/Modules/socketmodule.c#L6400 is `getaddrinfo`
https://github.com/python/cpython/blob/master/Modules/socketmodule.c#L1294 is `makesockaddr` which actually creates the 4-tuple returned as the last element of the `getaddrinfo` tuples.
The fourth element (ie. the scope ID) is clearly `a->sin6_scope_id` which should contain the scope ID.

At this stage, I don't know if this is a bug from the socketmodule which I doubt or if the AIX `getaddrinfo` simply just doesn't handle scoped IP addresses properly.

If you're still okay to proxy tests for AIX, I'll try and come up with either a simple C snippet to see what's in the returned structure or ctype the AIX `libc` `getaddrinfo`.
History
Date User Action Args
2019-05-24 22:19:52lepaperwansetrecipients: + lepaperwan, asvetlov, yselivanov, Michael.Felt, eamanu, twisteroid ambassador, miss-islington, maxifree
2019-05-24 22:19:52lepaperwansetmessageid: <1558736392.74.0.828369698293.issue35545@roundup.psfhosted.org>
2019-05-24 22:19:52lepaperwanlinkissue35545 messages
2019-05-24 22:19:52lepaperwancreate