[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2021-02-12 Thread Jason R. Coombs
Jason R. Coombs added the comment: As of June last year, Python 3.7 is in security fix only mode, so there's nothing more to be done here. -- nosy: +jaraco resolution: -> fixed stage: patch review -> resolved status: pending -> closed ___ Python

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-28 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Merged. I'm agnostic about backporting IPPROTO_IPV6 (or others) on < 3.8 so I'll leave it up to somebody else to decide/implement. -- status: open -> pending versions: -Python 3.7 ___ Python tracker

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-28 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: New changeset 3eca28c61363a03b81b9fb12775490d6e42d8ecf by Giampaolo Rodola in branch 'master': bpo-29515: add missing socket.IPPROTO_* constants on Windows (GH-12183) https://github.com/python/cpython/commit/3eca28c61363a03b81b9fb12775490d6e42d8ecf

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-18 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: I'd like to move forward with this in order to fix issue17561. If there are no complaints I'm gonna merge this in ~ a week. -- ___ Python tracker

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: IPPROTO_TCP/UDP/RAW/ICMP are already there. AFAICT the only useful one here is IPPROTO_IPV6, because it's needed for enabling dual-stack. I don't think IPPROTO_IPV4 is a must (e.g. it's not available on Linux). Same for IPPROTO_ICMPV6. The only reason we

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Andrew Brezovsky
Andrew Brezovsky added the comment: I see your point. Then perhaps only a subset of the more vital ones get added to previous releases? #define IPPROTO_IPV4 IPPROTO_IPV4 #define IPPROTO_IPV6 IPPROTO_IPV6 #define IPPROTO_TCP IPPROTO_TCP #define IPPROTO_UDP IPPROTO_UDP #define IPPROTO_ICMP

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Steve Dower
Steve Dower added the comment: The problem is that if we add lots of new constants in 3.7.3, code written in that version very easily becomes incompatible with 3.7.2 and earlier. So we don't like making changes like that. If we know which ones are "normally" defined on Linux machines, where

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Andrew Brezovsky
Andrew Brezovsky added the comment: I lean towards it being considered a bug fix. First, the lack of parity between Windows and Linux-based OSs causes confusion. Second, the current workaround to hard-code the value in is far from best practice. --

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: Done: https://github.com/python/cpython/pull/12183/ This adds quite a bunch of new constants so I would be keen on considering it an enhancement rather than a bugfix and land it in 3.8 only. As for 3.7 and 3.6 (and 2.7?) it may make sense to fix

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Giampaolo Rodola'
Change by Giampaolo Rodola' : -- keywords: +patch pull_requests: +12179 stage: -> patch review ___ Python tracker ___ ___

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Eryk Sun
Eryk Sun added the comment: > do you mind if I make a PR with your code(I will of course author you)? Go for it. I prefer no credit, but you're free to do as you wish. -- ___ Python tracker

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-03-05 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: @Eryk do you mind if I make a PR with your code(I will of course author you)? Regardless from issue17561 I think this is an important fix because without IPPROTO_IPV6 is not possible to implement a dual-stack IPv4/6 socket on Windows. --

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-02-19 Thread Gregory P. Smith
Change by Gregory P. Smith : -- versions: +Python 3.8 -Python 3.5, Python 3.6 ___ Python tracker ___ ___ Python-bugs-list mailing

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-02-19 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: @eryksun I tried your patch (https://bugs.python.org/issue29515#msg287477) on Windows 10 and it looks good. It introduces the following new constants: IPPROTO_IGMP IPPROTO_GGP IPPROTO_PUP IPPROTO_IDP IPPROTO_ND IPPROTO_MAX IPPROTO_HOPOPTS IPPROTO_IPV4

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-02-19 Thread Giampaolo Rodola'
Giampaolo Rodola' added the comment: It turns out having this fix would be useful for proceeding with issue17561, which right now cannot support dual-stack IPv4/6 on Windows because IPPROTO_IPV6 is missing, see my comment: https://github.com/python/cpython/pull/11784#issuecomment-465078646

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-01-15 Thread Steve Dower
Steve Dower added the comment: No progress, but I like the extra defines idea best (directly in socketmodule.c, not in a public header file). That's the easiest way to close the gap between (apparently) real constants used on Windows and the preprocessor defines (apparently) used elsewhere.

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2019-01-06 Thread Andrew Brezovsky
Andrew Brezovsky added the comment: Can confirm this is still a problem in latest versions of 3.5, 3.6, and 3.7 Any progress made on this? -- nosy: +abrezovsky ___ Python tracker

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2017-10-30 Thread Jan Gosmann
Change by Jan Gosmann : -- nosy: +jgosmann ___ Python tracker ___ ___

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2017-02-10 Thread Steve Dower
Steve Dower added the comment: We may just want to copy the values from the enum if there are different versions when they were introduced. But if that's not a problem, adding the MS_WINDOWS check is better than defining new macros. -- ___ Python

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2017-02-09 Thread Eryk Sun
Eryk Sun added the comment: Unless someone has a better (more automated) way to handle the Winsock IPPROTO enum, I suggest we either special-case the individual tests for MS_WINDOWS when we know that Winsock defines the value; or just define macros for the values in the enum: #ifdef

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2017-02-09 Thread Eryk Sun
Eryk Sun added the comment: The macro is defined but not defined. If I insert the following line before the #ifdef check: #define IPPROTO_IPV6 IPPROTO_IPV6 then the constant gets added: >>> import _socket >>> _socket.IPPROTO_IPV6 41 The same applies to IPPROTO_IPV4 and

[issue29515] socket module missing IPPROTO_IPV6, IPPROTO_IPV4 on Windows

2017-02-09 Thread Maximilian Hils
New submission from Maximilian Hils: The latest Windows builds for Python 3.5.3/3.6.0 do not export socket.IPPROTO_IPV6, even though e.g. socket.IPV6_V6ONLY is exported. This seems to be wrong to me as IPV6_V6ONLY requires the corresponding socket option level IPPROTO_IPV6 to be actually