summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorVincent Michel <vxgmichel@gmail.com>2019-05-07 17:18:49 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-05-07 17:18:49 (GMT)
commit63deaa5b70108ef441c57728322da6b4321db4fc (patch)
tree79e5e4911d6a0d6460d36355d394c969b98f437b /Misc
parent91cc01f40eec03ece2d6b04ad9ea786e77707d8d (diff)
downloadcpython-63deaa5b70108ef441c57728322da6b4321db4fc.zip
cpython-63deaa5b70108ef441c57728322da6b4321db4fc.tar.gz
cpython-63deaa5b70108ef441c57728322da6b4321db4fc.tar.bz2
bpo-31922: Do not connect UDP sockets when broadcast is allowed (GH-423)
*Moved from python/asyncio#493.* This PR fixes issue python/asyncio#480, as explained in [this comment](https://github.com/python/asyncio/issues/480#issuecomment-278703828). The `_SelectorDatagramTransport.sendto` method has to be modified ~~so `_sock.sendto` is used in all cases (because it is tricky to reliably tell if the socket is connected or not). Could that be an issue for connected sockets?~~ *EDIT* ... so `_sock.send` is used only if `_sock` is connected. It also protects `socket.getsockname` against `OSError` in `_SelectorTransport`. This might happen on Windows if the socket is not connected (e.g. for UDP broadcasting). https://bugs.python.org/issue31922
Diffstat (limited to 'Misc')
-rw-r--r--Misc/NEWS.d/next/Library/2018-05-30-01-05-50.bpo-31922.fobsXJ.rst3
1 files changed, 3 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Library/2018-05-30-01-05-50.bpo-31922.fobsXJ.rst b/Misc/NEWS.d/next/Library/2018-05-30-01-05-50.bpo-31922.fobsXJ.rst
new file mode 100644
index 0000000..df3881b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2018-05-30-01-05-50.bpo-31922.fobsXJ.rst
@@ -0,0 +1,3 @@
+:meth:`asyncio.AbstractEventLoop.create_datagram_endpoint`:
+Do not connect UDP socket when broadcast is allowed.
+This allows to receive replies after a UDP broadcast.