diff --git a/docs/changelog/index.rst b/docs/changelog/index.rst index 3e85255062..d460ef5ee8 100644 --- a/docs/changelog/index.rst +++ b/docs/changelog/index.rst @@ -7,6 +7,7 @@ Release Notes .. toctree:: :maxdepth: 1 + v1.5.3 v1.5.2 v1.5.1 v1.5.0 diff --git a/docs/changelog/v1.5.3.rst b/docs/changelog/v1.5.3.rst new file mode 100644 index 0000000000..d177a17b27 --- /dev/null +++ b/docs/changelog/v1.5.3.rst @@ -0,0 +1,10 @@ +.. _v1.5.3: + +1.5.3 +===== + +Fixes +..... + +* Fixed not processing multiple PDUs received when acting as the association + requestor with SSL/TLS (:pr:`528`) diff --git a/pynetdicom/_version.py b/pynetdicom/_version.py index 409223e91b..d17073d0dd 100644 --- a/pynetdicom/_version.py +++ b/pynetdicom/_version.py @@ -10,7 +10,7 @@ import re -__version__ = '1.5.2' +__version__ = '1.5.3' VERSION_PATTERN = r""" diff --git a/pynetdicom/transport.py b/pynetdicom/transport.py index 359f50c2d1..efab73cfa0 100644 --- a/pynetdicom/transport.py +++ b/pynetdicom/transport.py @@ -276,6 +276,11 @@ def ready(self): self.event_queue.put('Evt17') return False + # An SSLSocket may have buffered data available that `select` + # is unaware of - see #528 + if _HAS_SSL and isinstance(self.socket, ssl.SSLSocket): + return bool(ready) or bool(self.socket.pending()) + return bool(ready) def recv(self, nr_bytes):