Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-proxy.py for openSUSE:Factory checked in at 2023-09-21 22:13:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-proxy.py (Old) and /work/SRC/openSUSE:Factory/.python-proxy.py.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-proxy.py" Thu Sep 21 22:13:06 2023 rev:4 rq:1112170 version:2.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-proxy.py/python-proxy.py.changes 2023-05-09 13:06:49.172835889 +0200 +++ /work/SRC/openSUSE:Factory/.python-proxy.py.new.1770/python-proxy.py.changes 2023-09-21 22:13:17.771629800 +0200 @@ -1,0 +2,7 @@ +Tue Sep 19 08:30:35 UTC 2023 - Steve Kowalik <steven.kowa...@suse.com> + +- Add patch fix-assertion-call.patch, fix a mock call that fails under + Python 3.12 +- Add patch no-ssl-wrap-socket.patch, do not use removed ssl.wrap_socket + +------------------------------------------------------------------- New: ---- fix-assertion-call.patch no-ssl-wrap-socket.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-proxy.py.spec ++++++ --- /var/tmp/diff_new_pack.4rS9WO/_old 2023-09-21 22:13:19.059676547 +0200 +++ /var/tmp/diff_new_pack.4rS9WO/_new 2023-09-21 22:13:19.059676547 +0200 @@ -28,6 +28,8 @@ Source: https://github.com/abhinavsingh/proxy.py/archive/refs/tags/v%{version}.tar.gz#/proxy.py-%{version}-gh.tar.gz # PATCH-FIX-OPENSUSE proxy.py-command.patch -- deconflict with libproxy, c...@bnavigator.de Patch0: proxy.py-command.patch +Patch1: fix-assertion-call.patch +Patch2: no-ssl-wrap-socket.patch BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} @@ -54,6 +56,7 @@ %prep %autosetup -p1 -n proxy.py-%{version} +find . -name '.gitignore' -delete %build %pyproject_wheel @@ -77,5 +80,5 @@ %license LICENSE %python_alternative %{_bindir}/proxy-py %{python_sitelib}/proxy -%{python_sitelib}/proxy.py-%{version}*-info +%{python_sitelib}/proxy.py-%{version}.dist-info ++++++ fix-assertion-call.patch ++++++ Index: proxy.py-2.4.3/tests/http/web/test_web_server.py =================================================================== --- proxy.py-2.4.3.orig/tests/http/web/test_web_server.py +++ proxy.py-2.4.3/tests/http/web/test_web_server.py @@ -178,7 +178,7 @@ class TestWebServerPluginWithPacFilePlug self.protocol_handler.request.state, httpParserStates.COMPLETE, ) - self._conn.send.called_once_with( + self._conn.send( build_http_response( 200, reason=b'OK', ++++++ no-ssl-wrap-socket.patch ++++++ Index: proxy.py-2.4.3/proxy/core/connection/client.py =================================================================== --- proxy.py-2.4.3.orig/proxy/core/connection/client.py +++ proxy.py-2.4.3/proxy/core/connection/client.py @@ -42,7 +42,8 @@ class TcpClientConnection(TcpConnection) def wrap(self, keyfile: str, certfile: str) -> None: self.connection.setblocking(True) self.flush() - self._conn = ssl.wrap_socket( + ssl_context = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_CLIENT) + self._conn = ssl_context.wrap_socket( self.connection, server_side=True, certfile=certfile, Index: proxy.py-2.4.3/tests/http/proxy/test_http_proxy_tls_interception.py =================================================================== --- proxy.py-2.4.3.orig/tests/http/proxy/test_http_proxy_tls_interception.py +++ proxy.py-2.4.3/tests/http/proxy/test_http_proxy_tls_interception.py @@ -59,9 +59,9 @@ class TestHttpProxyTlsInterception(Asser self.mock_ssl_context.return_value.wrap_socket.return_value = upstream_tls_sock # Used for client wrapping - self.mock_ssl_wrap = mocker.patch('ssl.wrap_socket') + self.mock_ssl_wrap = mocker.patch('ssl.SSLContext') client_tls_sock = mock.MagicMock(spec=ssl.SSLSocket) - self.mock_ssl_wrap.return_value = client_tls_sock + self.mock_ssl_wrap.return_value.wrap_socket.return_value = client_tls_sock plain_connection = mock.MagicMock(spec=socket.socket) @@ -249,6 +249,8 @@ class TestHttpProxyTlsInterception(Asser ) assert self.flags.ca_cert_dir is not None self.mock_ssl_wrap.assert_called_with( + protocol=ssl.PROTOCOL_TLS_CLIENT) + self.mock_ssl_wrap.return_value.wrap_socket.assert_called_with( self._conn, server_side=True, keyfile=self.flags.ca_signing_key_file, Index: proxy.py-2.4.3/tests/plugin/test_http_proxy_plugins_with_tls_interception.py =================================================================== --- proxy.py-2.4.3.orig/tests/plugin/test_http_proxy_plugins_with_tls_interception.py +++ proxy.py-2.4.3/tests/plugin/test_http_proxy_plugins_with_tls_interception.py @@ -46,7 +46,7 @@ class TestHttpProxyPluginExamplesWithTls 'proxy.http.proxy.server.TcpServerConnection', ) self.mock_ssl_context = mocker.patch('ssl.create_default_context') - self.mock_ssl_wrap = mocker.patch('ssl.wrap_socket') + self.mock_ssl_wrap = mocker.patch('ssl.SSLContext') self.mock_sign_csr.return_value = True self.mock_gen_csr.return_value = True @@ -80,7 +80,7 @@ class TestHttpProxyPluginExamplesWithTls self.server_ssl_connection = mocker.MagicMock(spec=ssl.SSLSocket) self.mock_ssl_context.return_value.wrap_socket.return_value = self.server_ssl_connection self.client_ssl_connection = mocker.MagicMock(spec=ssl.SSLSocket) - self.mock_ssl_wrap.return_value = self.client_ssl_connection + self.mock_ssl_wrap.return_value.wrap_socket.return_value = self.client_ssl_connection def has_buffer() -> bool: return cast(bool, self.server.queue.called)