|Summary:||lang/python: Missing network-related constants|
|Product:||Ports & Packages||Reporter:||Yuri Victorovich <yuri>|
|Component:||Individual Port(s)||Assignee:||freebsd-python (Nobody) <python>|
|Severity:||Affects Only Me||CC:||rene, w.schwarzenfeld|
Description Yuri Victorovich 2015-05-09 03:27:47 UTC
Both python 2 and 3 are missing some setsockopt values, for example in the code below: They all come from /usr/include/netinet/in.h, but IP_MULTICAST_LOOP=11 is still in python, but IP_ADD_MEMBERSHIP=12 isn't. Additionally, IPPROTO_DIVERT is also missing, so I have to use: > socket_IPPROTO_DIVERT=258 Example: > import socket > sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) > sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_VIF, 1) > sock.setsockopt(socket.IPPROTO_IP, socket.IP_RSVP_ON, 1) > sock.setsockopt(socket.IPPROTO_IP, socket.IP_PORTRANGE, 1) > sock.setsockopt(socket.IPPROTO_IP, socket.IP_RECVIF, 1)
Comment 1 Walter Schwarzenfeld 2018-01-09 00:30:53 UTC
/usr/include/netinet/in.h has #define IP_MULTICAST_LOOP 11 #define IP_ADD_MEMBERSHIP 12 IPPROTO_DIVERT is not in. but is this still relevant?
Comment 2 Yuri Victorovich 2018-01-09 01:51:09 UTC
(In reply to w.schwarzenfeld from comment #1) Yes, this can never become irrelevant. All network values from /usr/include/netinet/in.h need to be reflected in python (all versions). The only reason this hasn't come up much is that there is not not much software that does low-level network operations. Or, porters might just patch in ad-hoc values because it is much easier. But in the ideal world they should all be defined in python. (#define IPPROTO_DIVERT 258 is also there)
Comment 3 Rene Ladan 2018-12-18 09:36:27 UTC
Closing this PR, since it specifically only mentions lang/python34 which expired today.
Comment 4 Yuri Victorovich 2018-12-18 09:38:05 UTC
Valid for all versions of python.