Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-anyio for openSUSE:Factory checked in at 2021-10-27 22:21:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-anyio (Old) and /work/SRC/openSUSE:Factory/.python-anyio.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-anyio" Wed Oct 27 22:21:01 2021 rev:6 rq:927591 version:3.3.4 Changes: -------- --- /work/SRC/openSUSE:Factory/python-anyio/python-anyio.changes 2021-10-18 22:01:55.314081841 +0200 +++ /work/SRC/openSUSE:Factory/.python-anyio.new.1890/python-anyio.changes 2021-10-27 22:21:12.727198859 +0200 @@ -1,0 +2,8 @@ +Tue Oct 26 20:18:21 UTC 2021 - Dirk M??ller <dmuel...@suse.com> + +- update to 3.3.4: + * Fixed ``BrokenResourceError`` instead of ``EndOfStream`` being raised in + ``TLSStream`` when the peer abruptly closes the connection while + ``TLSStream`` is receiving data with ``standard_compatible=False`` set + +------------------------------------------------------------------- Old: ---- anyio-3.3.3.tar.gz New: ---- anyio-3.3.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-anyio.spec ++++++ --- /var/tmp/diff_new_pack.7TkgdZ/_old 2021-10-27 22:21:13.323199164 +0200 +++ /var/tmp/diff_new_pack.7TkgdZ/_new 2021-10-27 22:21:13.331199168 +0200 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-anyio -Version: 3.3.3 +Version: 3.3.4 Release: 0 Summary: High level compatibility layer for asynchronous event loop implementations License: MIT ++++++ anyio-3.3.3.tar.gz -> anyio-3.3.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/anyio-3.3.3/PKG-INFO new/anyio-3.3.4/PKG-INFO --- old/anyio-3.3.3/PKG-INFO 2021-10-10 21:09:09.796313800 +0200 +++ new/anyio-3.3.4/PKG-INFO 2021-10-16 12:45:40.520680400 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: anyio -Version: 3.3.3 +Version: 3.3.4 Summary: High level compatibility layer for multiple asynchronous event loop implementations Home-page: UNKNOWN Author: Alex Gr??nholm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/anyio-3.3.3/docs/versionhistory.rst new/anyio-3.3.4/docs/versionhistory.rst --- old/anyio-3.3.3/docs/versionhistory.rst 2021-10-10 21:09:00.000000000 +0200 +++ new/anyio-3.3.4/docs/versionhistory.rst 2021-10-16 12:45:31.000000000 +0200 @@ -3,6 +3,12 @@ This library adheres to `Semantic Versioning 2.0 <http://semver.org/>`_. +**3.3.4** + +- Fixed ``BrokenResourceError`` instead of ``EndOfStream`` being raised in ``TLSStream`` when the + peer abruptly closes the connection while ``TLSStream`` is receiving data with + ``standard_compatible=False`` set + **3.3.3** - Fixed UNIX socket listener not setting accepted sockets to non-blocking mode on asyncio diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/anyio-3.3.3/src/anyio/streams/tls.py new/anyio-3.3.4/src/anyio/streams/tls.py --- old/anyio-3.3.3/src/anyio/streams/tls.py 2021-10-10 21:09:00.000000000 +0200 +++ new/anyio-3.3.4/src/anyio/streams/tls.py 2021-10-16 12:45:31.000000000 +0200 @@ -117,7 +117,16 @@ self._read_bio.write(data) except ssl.SSLWantWriteError: await self.transport_stream.send(self._write_bio.read()) - except (ssl.SSLEOFError, ssl.SSLSyscallError) as exc: + except ssl.SSLEOFError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + if self.standard_compatible: + raise BrokenResourceError from exc + else: + raise EndOfStream from None + except ssl.SSLSyscallError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() raise BrokenResourceError from exc else: # Flush any pending writes first diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/anyio-3.3.3/src/anyio.egg-info/PKG-INFO new/anyio-3.3.4/src/anyio.egg-info/PKG-INFO --- old/anyio-3.3.3/src/anyio.egg-info/PKG-INFO 2021-10-10 21:09:09.000000000 +0200 +++ new/anyio-3.3.4/src/anyio.egg-info/PKG-INFO 2021-10-16 12:45:40.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: anyio -Version: 3.3.3 +Version: 3.3.4 Summary: High level compatibility layer for multiple asynchronous event loop implementations Home-page: UNKNOWN Author: Alex Gr??nholm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/anyio-3.3.3/tests/streams/test_tls.py new/anyio-3.3.4/tests/streams/test_tls.py --- old/anyio-3.3.3/tests/streams/test_tls.py 2021-10-10 21:09:00.000000000 +0200 +++ new/anyio-3.3.4/tests/streams/test_tls.py 2021-10-16 12:45:31.000000000 +0200 @@ -199,6 +199,42 @@ else: assert server_exc is None + async def test_ragged_eof_on_receive(self, server_context: ssl.SSLContext, + client_context: ssl.SSLContext) -> None: + server_exc = None + + def serve_sync() -> None: + nonlocal server_exc + conn, addr = server_sock.accept() + try: + conn.settimeout(1) + conn.sendall(b'hello') + except BaseException as exc: + server_exc = exc + finally: + conn.close() + + server_sock = server_context.wrap_socket(socket.socket(), server_side=True, + suppress_ragged_eofs=True) + server_sock.settimeout(1) + server_sock.bind(('127.0.0.1', 0)) + server_sock.listen() + server_thread = Thread(target=serve_sync, daemon=True) + server_thread.start() + try: + async with await connect_tcp(*server_sock.getsockname()) as stream: + wrapper = await TLSStream.wrap(stream, hostname='localhost', + ssl_context=client_context, + standard_compatible=False) + assert await wrapper.receive() == b'hello' + with pytest.raises(EndOfStream): + await wrapper.receive() + finally: + server_thread.join() + server_sock.close() + + assert server_exc is None + async def test_receive_send_after_eof(self, server_context: ssl.SSLContext, client_context: ssl.SSLContext) -> None: def serve_sync() -> None: