Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-python-socks for openSUSE:Factory checked in at 2023-03-01 16:14:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-python-socks (Old) and /work/SRC/openSUSE:Factory/.python-python-socks.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-socks" Wed Mar 1 16:14:27 2023 rev:4 rq:1068359 version:2.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-python-socks/python-python-socks.changes 2022-10-08 01:25:40.626291870 +0200 +++ /work/SRC/openSUSE:Factory/.python-python-socks.new.31432/python-python-socks.changes 2023-03-01 16:14:53.418859885 +0100 @@ -1,0 +2,6 @@ +Wed Feb 22 07:28:56 UTC 2023 - ecsos <ec...@opensuse.org> + +- Update to 2.1.1 + - No changelog from upstream. + +------------------------------------------------------------------- Old: ---- python-socks-2.0.3.tar.gz New: ---- python-socks-2.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-python-socks.spec ++++++ --- /var/tmp/diff_new_pack.TgPkHX/_old 2023-03-01 16:14:53.970862740 +0100 +++ /var/tmp/diff_new_pack.TgPkHX/_new 2023-03-01 16:14:53.974862761 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-python-socks # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define skip_python2 1 %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-python-socks -Version: 2.0.3 +Version: 2.1.1 Release: 0 Summary: Core proxy client functionality for Python License: Apache-2.0 ++++++ python-socks-2.0.3.tar.gz -> python-socks-2.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/PKG-INFO new/python-socks-2.1.1/PKG-INFO --- old/python-socks-2.0.3/PKG-INFO 2022-01-22 11:13:10.000000000 +0100 +++ new/python-socks-2.1.1/PKG-INFO 2022-12-19 13:10:49.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: python-socks -Version: 2.0.3 +Version: 2.1.1 Summary: Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python Home-page: https://github.com/romis2012/python-socks Author: Roman Snegirev @@ -25,7 +25,7 @@ --> The `python-socks` package provides a core proxy client functionality for Python. -Supports SOCKS4(a), SOCKS5, HTTP (tunneling) proxy and provides sync and async (asyncio, trio, curio, anyio) APIs. +Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) proxy and provides sync and async (asyncio, trio, curio, anyio) APIs. You probably don't need to use `python-socks` directly. It is used internally by [aiohttp-socks](https://github.com/romis2012/aiohttp-socks) and [httpx-socks](https://github.com/romis2012/httpx-socks) packages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/README.md new/python-socks-2.1.1/README.md --- old/python-socks-2.0.3/README.md 2021-11-29 07:42:35.000000000 +0100 +++ new/python-socks-2.1.1/README.md 2022-01-24 09:58:22.000000000 +0100 @@ -8,7 +8,7 @@ --> The `python-socks` package provides a core proxy client functionality for Python. -Supports SOCKS4(a), SOCKS5, HTTP (tunneling) proxy and provides sync and async (asyncio, trio, curio, anyio) APIs. +Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) proxy and provides sync and async (asyncio, trio, curio, anyio) APIs. You probably don't need to use `python-socks` directly. It is used internally by [aiohttp-socks](https://github.com/romis2012/aiohttp-socks) and [httpx-socks](https://github.com/romis2012/httpx-socks) packages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/pyproject.toml new/python-socks-2.1.1/pyproject.toml --- old/python-socks-2.0.3/pyproject.toml 2021-11-16 12:46:51.000000000 +0100 +++ new/python-socks-2.1.1/pyproject.toml 2022-08-16 14:48:20.000000000 +0200 @@ -2,5 +2,8 @@ line-length = 99 target-version = ['py37', 'py38', 'py39'] skip-string-normalization = true -experimental-string-processing = true +preview = true verbose = true + +[tool.pytest.ini_options] +asyncio_mode = 'strict' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/python_socks/_proto/socks5_async.py new/python-socks-2.1.1/python_socks/_proto/socks5_async.py --- old/python-socks-2.0.3/python_socks/_proto/socks5_async.py 2021-11-21 10:25:44.000000000 +0100 +++ new/python-socks-2.1.1/python_socks/_proto/socks5_async.py 2022-12-19 13:01:55.000000000 +0100 @@ -2,6 +2,7 @@ from .socks5 import ( AuthMethod, + AddressType, AuthMethodsRequest, AuthMethodsResponse, AuthRequest, @@ -10,6 +11,7 @@ ConnectResponse, ) from .. import _abc as abc +from .._errors import ProxyError class Socks5Proto: @@ -23,7 +25,6 @@ password=None, rdns=None, ): - if rdns is None: rdns = True @@ -81,5 +82,26 @@ res = ConnectResponse(await self._stream.read_exact(3)) res.validate() - # read remaining data (bind address) - await self._stream.read() + # read remaining data (server bound address) + # await self._stream.read() + await self._read_bound_address() + + async def _read_bound_address(self): + addr_type, *_ = await self._stream.read_exact(1) + if addr_type == AddressType.IPV4: + host = await self._stream.read_exact(4) + host = socket.inet_ntop(socket.AF_INET, host) + elif addr_type == AddressType.IPV6: + host = await self._stream.read_exact(16) + host = socket.inet_ntop(socket.AF_INET6, host) + elif addr_type == AddressType.DOMAIN: # pragma: no cover + host_len, *_ = await self._stream.read_exact(1) + host = await self._stream.read_exact(host_len) + host = host.decode() + else: # pragma: no cover + raise ProxyError('Invalid address type: {:#02X}'.format(addr_type)) + + port = await self._stream.read_exact(2) + port = int.from_bytes(port, 'big') + + return host, port diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/python_socks/_proto/socks5_sync.py new/python-socks-2.1.1/python_socks/_proto/socks5_sync.py --- old/python-socks-2.0.3/python_socks/_proto/socks5_sync.py 2021-11-21 10:25:44.000000000 +0100 +++ new/python-socks-2.1.1/python_socks/_proto/socks5_sync.py 2022-12-19 13:02:27.000000000 +0100 @@ -2,6 +2,7 @@ from .socks5 import ( AuthMethod, + AddressType, AuthMethodsRequest, AuthMethodsResponse, AuthRequest, @@ -10,6 +11,7 @@ ConnectResponse, ) from .. import _abc as abc +from .._errors import ProxyError class Socks5Proto: @@ -23,7 +25,6 @@ password=None, rdns=None, ): - if rdns is None: rdns = True @@ -73,5 +74,26 @@ res = ConnectResponse(self._stream.read_exact(3)) res.validate() - # read remaining data (bind address) - self._stream.read() + # read remaining data (server bound address) + # self._stream.read() + self._read_bound_address() + + def _read_bound_address(self): + addr_type, *_ = self._stream.read_exact(1) + if addr_type == AddressType.IPV4: + host = self._stream.read_exact(4) + host = socket.inet_ntop(socket.AF_INET, host) + elif addr_type == AddressType.IPV6: + host = self._stream.read_exact(16) + host = socket.inet_ntop(socket.AF_INET6, host) + elif addr_type == AddressType.DOMAIN: # pragma: no cover + host_len, *_ = self._stream.read_exact(1) + host = self._stream.read_exact(host_len) + host = host.decode() + else: # pragma: no cover + raise ProxyError('Invalid address type: {:#02X}'.format(addr_type)) + + port = self._stream.read_exact(2) + port = int.from_bytes(port, 'big') + + return host, port diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/python_socks/_version.py new/python-socks-2.1.1/python_socks/_version.py --- old/python-socks-2.0.3/python_socks/_version.py 2022-01-22 11:08:10.000000000 +0100 +++ new/python-socks-2.1.1/python_socks/_version.py 2022-12-19 13:04:57.000000000 +0100 @@ -1,2 +1,2 @@ __title__ = 'python-socks' -__version__ = '2.0.3' +__version__ = '2.1.1' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-socks-2.0.3/python_socks.egg-info/PKG-INFO new/python-socks-2.1.1/python_socks.egg-info/PKG-INFO --- old/python-socks-2.0.3/python_socks.egg-info/PKG-INFO 2022-01-22 11:13:10.000000000 +0100 +++ new/python-socks-2.1.1/python_socks.egg-info/PKG-INFO 2022-12-19 13:10:49.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: python-socks -Version: 2.0.3 +Version: 2.1.1 Summary: Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python Home-page: https://github.com/romis2012/python-socks Author: Roman Snegirev @@ -25,7 +25,7 @@ --> The `python-socks` package provides a core proxy client functionality for Python. -Supports SOCKS4(a), SOCKS5, HTTP (tunneling) proxy and provides sync and async (asyncio, trio, curio, anyio) APIs. +Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) proxy and provides sync and async (asyncio, trio, curio, anyio) APIs. You probably don't need to use `python-socks` directly. It is used internally by [aiohttp-socks](https://github.com/romis2012/aiohttp-socks) and [httpx-socks](https://github.com/romis2012/httpx-socks) packages.