Jukka Väisänen added the comment:
> Are you aware of what currently supported platforms have SO_REUSEPORT defined
> where the *reuse_port* parameter doesn't actually work? This would be quite
> helpful to know.
This was reported by a partner that was working porting our code t
Jukka Väisänen added the comment:
> A higher-level interface like asyncio doesn't necessarily want to map its
> kwargs directly to non-portable low-level options like this.
Also reuse_port has portability issues, the whole portability mess i s nicely
summed up in:
https://stackoverfl
Jukka Väisänen added the comment:
> We just chose an unfortunate default for one of them
I'd like to point out that it is also documented completely wrong up to this
point in time and thus people who chose True are most likely to be unaware of
the actual consequences. A user's expli
Jukka Väisänen added the comment:
Going to SO_REUSEPORT will fix the security issue and emitting a deprecation
warning for default value invocation will catch the eyes of some maintainers
but it will not prevent what caused me to catch this issue in the first place -
starting two processes
Jukka Väisänen added the comment:
David, in terms of documentation changes and the emitted deprecation warning
itself, I think it would be appropriate to instruct that please set the
parameter explicitly to True or False to silence the warning AND point out that
setting it to True has
Jukka Väisänen added the comment:
I had a quick search through github for calls to create_datagram_endpoint() and
the reuse_address is either not set or set explicitly to True, probably due to
the error in the documentation.
Only in one case (of my admittedly small sample) did it seem like
Jukka Väisänen added the comment:
Sure, I fully appreciate implications of changing default behaviour and will
post on python-dev.
--
___
Python tracker
<https://bugs.python.org/issue37
Jukka Väisänen added the comment:
I definitely propose changing the default for UDP sockets. Having multiple
processes binding to a the same port and load-balancing incoming UDP traffic
intentionally is a rare scenario which should be supported but not the default.
For TCP the default
Jukka Väisänen added the comment:
Can we still consider this for 3.9? I still think this is an easy way to
accidentally blow your foot off with something that will probably only show up
in production.
--
versions: +Python 3.9 -Python 3.7
New submission from Jukka Väisänen :
When using loop.create_datagram_endpoint(), the default for reuse_address=True,
which sets the SO_REUSEADDR sockopt for the UDP socket.
This is a dangerous and unreasonable default for UDP, because in Linux it
allows multiple processes to create listening
10 matches
Mail list logo