msg289745 - (view) |
Author: Serhiy Storchaka (serhiy.storchaka) *  |
Date: 2017-03-17 06:43 |
getsockaddrarg() is an internal C function in the socket module implementation used in a number of socket methods (bind(), connect(), connect_ex(), sendto(), sendmsg()) for creating C structure sock_addr_t from Python tuple. Error messages raised when pass incorrect socket address argument to these function contain the name "getsockaddrarg" despite the fact that it is not directly exposed at Python level, nor the name of standard C function. >>> import socket >>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >>> s.bind(42) Traceback (most recent call last): File "", line 1, in TypeError: getsockaddrarg: AF_INET address must be tuple, not int >>> s.bind(()) Traceback (most recent call last): File "", line 1, in TypeError: getsockaddrarg() takes exactly 2 arguments (0 given) I think that error messages shouldn't refer to non-existing function "getsockaddrarg()". This issue is a part of more general . |
|
|
msg289784 - (view) |
Author: Oren Milman (Oren Milman) * |
Date: 2017-03-17 20:50 |
note that #15988 also left 3 changes for this issue to fix, as can be seen by searching for '29832' in the comments of PR 668. for example, this issue should also fix the following inconsistent error messages: >>> socket.socket(family=socket.AF_INET6).bind(('::1', -1)) Traceback (most recent call last): File "", line 1, in OverflowError: getsockaddrarg: port must be 0-65535. >>> socket.socket(family=socket.AF_INET6).bind(('::1', -1 << 1000)) Traceback (most recent call last): File "", line 1, in OverflowError: Python int too large to convert to C long |
|
|
msg300608 - (view) |
Author: Oren Milman (Oren Milman) * |
Date: 2017-08-20 21:55 |
here is a dirty script to test my PR. the script contains tests to anything I managed to test using my Windows 10 and Ubuntu 16.04 VM, i.e. all of the changes, except for the 'unsupported CAN protocol' message, and the changes of the code that handles the PF_SYSTEM family. |
|
|
msg303541 - (view) |
Author: Oren Milman (Oren Milman) * |
Date: 2017-10-02 15:09 |
Should i remove the code that i wasn't able to test from the PR, and leave such changes to someone that is able to test it? (of course, if there is some way i can do it using a VM, please point that out, and i would try to set up this VM.) |
|
|
msg325028 - (view) |
Author: Benjamin Peterson (benjamin.peterson) *  |
Date: 2018-09-11 16:51 |
New changeset 735171e33486131d93865cf851c0c3d63fffd364 by Benjamin Peterson (Oren Milman) in branch 'master': closes bpo-29832: Remove "getsockaddrarg" from error messages. (GH-3163) https://github.com/python/cpython/commit/735171e33486131d93865cf851c0c3d63fffd364 |
|
|