python-socks 2.5.0__tar.gz → 2.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. {python_socks-2.5.0/python_socks.egg-info → python_socks-2.5.2}/PKG-INFO +2 -2
  2. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/socks5_async.py +21 -9
  3. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/socks5_sync.py +21 -9
  4. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_version.py +1 -1
  5. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/_proxy.py +4 -1
  6. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/v2/_proxy.py +6 -1
  7. {python_socks-2.5.0 → python_socks-2.5.2/python_socks.egg-info}/PKG-INFO +2 -2
  8. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks.egg-info/requires.txt +2 -0
  9. {python_socks-2.5.0 → python_socks-2.5.2}/setup.py +1 -1
  10. {python_socks-2.5.0 → python_socks-2.5.2}/LICENSE.txt +0 -0
  11. {python_socks-2.5.0 → python_socks-2.5.2}/MANIFEST.in +0 -0
  12. {python_socks-2.5.0 → python_socks-2.5.2}/README.md +0 -0
  13. {python_socks-2.5.0 → python_socks-2.5.2}/pyproject.toml +0 -0
  14. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/__init__.py +0 -0
  15. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_abc.py +0 -0
  16. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/__init__.py +0 -0
  17. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/abc.py +0 -0
  18. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/factory_async.py +0 -0
  19. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/factory_sync.py +0 -0
  20. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/http_async.py +0 -0
  21. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/http_sync.py +0 -0
  22. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/socks4_async.py +0 -0
  23. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_connectors/socks4_sync.py +0 -0
  24. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_errors.py +0 -0
  25. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_helpers.py +0 -0
  26. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_protocols/__init__.py +0 -0
  27. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_protocols/errors.py +0 -0
  28. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_protocols/http.py +0 -0
  29. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_protocols/socks4.py +0 -0
  30. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_protocols/socks5.py +0 -0
  31. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/_types.py +0 -0
  32. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/__init__.py +0 -0
  33. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/_proxy_chain.py +0 -0
  34. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/__init__.py +0 -0
  35. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/_chain.py +0 -0
  36. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/_connect.py +0 -0
  37. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/_proxy.py +0 -0
  38. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/_resolver.py +0 -0
  39. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/_stream.py +0 -0
  40. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/v2/__init__.py +0 -0
  41. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/v2/_chain.py +0 -0
  42. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/v2/_connect.py +0 -0
  43. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/v2/_proxy.py +0 -0
  44. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/anyio/v2/_stream.py +0 -0
  45. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/__init__.py +0 -0
  46. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/_connect.py +0 -0
  47. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/_resolver.py +0 -0
  48. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/_stream.py +0 -0
  49. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/v2/__init__.py +0 -0
  50. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/v2/_chain.py +0 -0
  51. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/v2/_connect.py +0 -0
  52. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/asyncio/v2/_stream.py +0 -0
  53. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/curio/__init__.py +0 -0
  54. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/curio/_connect.py +0 -0
  55. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/curio/_proxy.py +0 -0
  56. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/curio/_resolver.py +0 -0
  57. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/curio/_stream.py +0 -0
  58. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/__init__.py +0 -0
  59. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/_connect.py +0 -0
  60. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/_proxy.py +0 -0
  61. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/_resolver.py +0 -0
  62. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/_stream.py +0 -0
  63. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/v2/__init__.py +0 -0
  64. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/v2/_chain.py +0 -0
  65. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/v2/_connect.py +0 -0
  66. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/v2/_proxy.py +0 -0
  67. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/async_/trio/v2/_stream.py +0 -0
  68. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/__init__.py +0 -0
  69. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/_chain.py +0 -0
  70. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/_connect.py +0 -0
  71. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/_proxy.py +0 -0
  72. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/_resolver.py +0 -0
  73. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/_stream.py +0 -0
  74. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/v2/__init__.py +0 -0
  75. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/v2/_chain.py +0 -0
  76. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/v2/_connect.py +0 -0
  77. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/v2/_proxy.py +0 -0
  78. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/v2/_ssl_transport.py +0 -0
  79. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks/sync/v2/_stream.py +0 -0
  80. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks.egg-info/SOURCES.txt +0 -0
  81. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks.egg-info/dependency_links.txt +0 -0
  82. {python_socks-2.5.0 → python_socks-2.5.2}/python_socks.egg-info/top_level.txt +0 -0
  83. {python_socks-2.5.0 → python_socks-2.5.2}/setup.cfg +0 -0
  84. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__init__.py +0 -0
  85. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-310.pyc +0 -0
  86. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-311.pyc +0 -0
  87. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-312.pyc +0 -0
  88. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-36.pyc +0 -0
  89. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-37.pyc +0 -0
  90. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-38.pyc +0 -0
  91. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/__init__.cpython-39.pyc +0 -0
  92. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-310.pyc +0 -0
  93. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-311.pyc +0 -0
  94. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-312.pyc +0 -0
  95. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-36.pyc +0 -0
  96. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-37.pyc +0 -0
  97. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-38.pyc +0 -0
  98. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/config.cpython-39.pyc +0 -0
  99. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-310-pytest-7.0.1.pyc +0 -0
  100. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-311-pytest-7.0.1.pyc +0 -0
  101. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-312-pytest-8.0.2.pyc +0 -0
  102. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-36-pytest-6.2.5.pyc +0 -0
  103. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-36-pytest-7.0.1.pyc +0 -0
  104. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-37-pytest-7.0.1.pyc +0 -0
  105. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-38-pytest-8.0.2.pyc +0 -0
  106. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-39-pytest-6.2.2.pyc +0 -0
  107. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-39-pytest-6.2.5.pyc +0 -0
  108. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/conftest.cpython-39-pytest-7.0.1.pyc +0 -0
  109. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-310.pyc +0 -0
  110. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-311.pyc +0 -0
  111. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-312.pyc +0 -0
  112. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-36.pyc +0 -0
  113. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-37.pyc +0 -0
  114. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-38.pyc +0 -0
  115. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_app.cpython-39.pyc +0 -0
  116. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-310.pyc +0 -0
  117. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-311.pyc +0 -0
  118. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-312.pyc +0 -0
  119. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-36.pyc +0 -0
  120. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-37.pyc +0 -0
  121. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-38.pyc +0 -0
  122. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/http_server.cpython-39.pyc +0 -0
  123. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-310.pyc +0 -0
  124. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-311.pyc +0 -0
  125. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-312.pyc +0 -0
  126. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-36.pyc +0 -0
  127. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-37.pyc +0 -0
  128. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-38.pyc +0 -0
  129. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/mocks.cpython-39.pyc +0 -0
  130. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/proxy_server.cpython-310.pyc +0 -0
  131. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/proxy_server.cpython-311.pyc +0 -0
  132. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/proxy_server.cpython-312.pyc +0 -0
  133. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/proxy_server.cpython-37.pyc +0 -0
  134. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/proxy_server.cpython-38.pyc +0 -0
  135. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/proxy_server.cpython-39.pyc +0 -0
  136. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_aio.cpython-36-pytest-6.2.5.pyc +0 -0
  137. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_aio.cpython-39-pytest-6.2.2.pyc +0 -0
  138. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_aio.cpython-39-pytest-6.2.5.pyc +0 -0
  139. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_aio_ext.cpython-36-pytest-6.2.5.pyc +0 -0
  140. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_aio_ext.cpython-39-pytest-6.2.2.pyc +0 -0
  141. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_aio_ext.cpython-39-pytest-6.2.5.pyc +0 -0
  142. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_curio.cpython-36-pytest-6.2.5.pyc +0 -0
  143. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_curio.cpython-39-pytest-6.2.2.pyc +0 -0
  144. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_curio.cpython-39-pytest-6.2.5.pyc +0 -0
  145. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_trio.cpython-36-pytest-6.2.5.pyc +0 -0
  146. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_trio.cpython-39-pytest-6.2.2.pyc +0 -0
  147. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_async_trio.cpython-39-pytest-6.2.5.pyc +0 -0
  148. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_sync.cpython-36-pytest-6.2.5.pyc +0 -0
  149. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_sync.cpython-39-pytest-6.2.2.pyc +0 -0
  150. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_core_socks_sync.cpython-39-pytest-6.2.5.pyc +0 -0
  151. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-310-pytest-7.0.1.pyc +0 -0
  152. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-311-pytest-7.0.1.pyc +0 -0
  153. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-312-pytest-8.0.2.pyc +0 -0
  154. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-36-pytest-6.2.5.pyc +0 -0
  155. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-36-pytest-7.0.1.pyc +0 -0
  156. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-37-pytest-7.0.1.pyc +0 -0
  157. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-38-pytest-8.0.2.pyc +0 -0
  158. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-39-pytest-6.2.2.pyc +0 -0
  159. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-39-pytest-6.2.5.pyc +0 -0
  160. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_misc.cpython-39-pytest-7.0.1.pyc +0 -0
  161. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-310-pytest-7.0.1.pyc +0 -0
  162. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-311-pytest-7.0.1.pyc +0 -0
  163. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-312-pytest-8.0.2.pyc +0 -0
  164. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-36-pytest-6.2.5.pyc +0 -0
  165. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-36-pytest-7.0.1.pyc +0 -0
  166. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-37-pytest-7.0.1.pyc +0 -0
  167. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-38-pytest-8.0.2.pyc +0 -0
  168. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-39-pytest-6.2.5.pyc +0 -0
  169. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio.cpython-39-pytest-7.0.1.pyc +0 -0
  170. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_ext.cpython-39-pytest-6.2.5.pyc +0 -0
  171. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-310-pytest-7.0.1.pyc +0 -0
  172. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-311-pytest-7.0.1.pyc +0 -0
  173. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-312-pytest-8.0.2.pyc +0 -0
  174. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-36-pytest-6.2.5.pyc +0 -0
  175. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-36-pytest-7.0.1.pyc +0 -0
  176. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-37-pytest-7.0.1.pyc +0 -0
  177. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-38-pytest-8.0.2.pyc +0 -0
  178. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-39-pytest-6.2.5.pyc +0 -0
  179. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_aio_v2.cpython-39-pytest-7.0.1.pyc +0 -0
  180. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-310-pytest-7.0.1.pyc +0 -0
  181. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-311-pytest-7.0.1.pyc +0 -0
  182. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-312-pytest-8.0.2.pyc +0 -0
  183. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-36-pytest-6.2.5.pyc +0 -0
  184. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-36-pytest-7.0.1.pyc +0 -0
  185. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-37-pytest-7.0.1.pyc +0 -0
  186. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-38-pytest-8.0.2.pyc +0 -0
  187. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-39-pytest-6.2.5.pyc +0 -0
  188. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio.cpython-39-pytest-7.0.1.pyc +0 -0
  189. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio_v2.cpython-310-pytest-7.0.1.pyc +0 -0
  190. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio_v2.cpython-311-pytest-7.0.1.pyc +0 -0
  191. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio_v2.cpython-312-pytest-8.0.2.pyc +0 -0
  192. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio_v2.cpython-37-pytest-7.0.1.pyc +0 -0
  193. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_anyio_v2.cpython-38-pytest-8.0.2.pyc +0 -0
  194. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-310-pytest-7.0.1.pyc +0 -0
  195. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-311-pytest-7.0.1.pyc +0 -0
  196. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-312-pytest-8.0.2.pyc +0 -0
  197. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-36-pytest-6.2.5.pyc +0 -0
  198. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-36-pytest-7.0.1.pyc +0 -0
  199. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-37-pytest-7.0.1.pyc +0 -0
  200. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-38-pytest-8.0.2.pyc +0 -0
  201. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-39-pytest-6.2.5.pyc +0 -0
  202. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_curio.cpython-39-pytest-7.0.1.pyc +0 -0
  203. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-310-pytest-7.0.1.pyc +0 -0
  204. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-311-pytest-7.0.1.pyc +0 -0
  205. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-312-pytest-8.0.2.pyc +0 -0
  206. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-36-pytest-6.2.5.pyc +0 -0
  207. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-36-pytest-7.0.1.pyc +0 -0
  208. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-37-pytest-7.0.1.pyc +0 -0
  209. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-38-pytest-8.0.2.pyc +0 -0
  210. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-39-pytest-6.2.5.pyc +0 -0
  211. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio.cpython-39-pytest-7.0.1.pyc +0 -0
  212. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-310-pytest-7.0.1.pyc +0 -0
  213. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-311-pytest-7.0.1.pyc +0 -0
  214. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-312-pytest-8.0.2.pyc +0 -0
  215. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-36-pytest-6.2.5.pyc +0 -0
  216. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-36-pytest-7.0.1.pyc +0 -0
  217. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-37-pytest-7.0.1.pyc +0 -0
  218. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-38-pytest-8.0.2.pyc +0 -0
  219. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-39-pytest-6.2.5.pyc +0 -0
  220. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_async_trio_v2.cpython-39-pytest-7.0.1.pyc +0 -0
  221. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-310-pytest-7.0.1.pyc +0 -0
  222. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-311-pytest-7.0.1.pyc +0 -0
  223. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-312-pytest-8.0.2.pyc +0 -0
  224. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-36-pytest-6.2.5.pyc +0 -0
  225. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-36-pytest-7.0.1.pyc +0 -0
  226. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-37-pytest-7.0.1.pyc +0 -0
  227. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-38-pytest-8.0.2.pyc +0 -0
  228. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-39-pytest-6.2.5.pyc +0 -0
  229. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync.cpython-39-pytest-7.0.1.pyc +0 -0
  230. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-310-pytest-7.0.1.pyc +0 -0
  231. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-311-pytest-7.0.1.pyc +0 -0
  232. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-312-pytest-8.0.2.pyc +0 -0
  233. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-36-pytest-6.2.5.pyc +0 -0
  234. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-36-pytest-7.0.1.pyc +0 -0
  235. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-37-pytest-7.0.1.pyc +0 -0
  236. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-38-pytest-8.0.2.pyc +0 -0
  237. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-39-pytest-6.2.5.pyc +0 -0
  238. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_proxy_sync_v2.cpython-39-pytest-7.0.1.pyc +0 -0
  239. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-310-pytest-7.0.1.pyc +0 -0
  240. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-311-pytest-7.0.1.pyc +0 -0
  241. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-312-pytest-8.0.2.pyc +0 -0
  242. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-36-pytest-6.2.5.pyc +0 -0
  243. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-36-pytest-7.0.1.pyc +0 -0
  244. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-37-pytest-7.0.1.pyc +0 -0
  245. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-38-pytest-8.0.2.pyc +0 -0
  246. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-39-pytest-6.2.2.pyc +0 -0
  247. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-39-pytest-6.2.5.pyc +0 -0
  248. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/test_resolvers.cpython-39-pytest-7.0.1.pyc +0 -0
  249. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-310.pyc +0 -0
  250. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-311.pyc +0 -0
  251. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-312.pyc +0 -0
  252. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-36.pyc +0 -0
  253. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-37.pyc +0 -0
  254. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-38.pyc +0 -0
  255. {python_socks-2.5.0 → python_socks-2.5.2}/tests/__pycache__/utils.cpython-39.pyc +0 -0
  256. {python_socks-2.5.0 → python_socks-2.5.2}/tests/config.py +0 -0
  257. {python_socks-2.5.0 → python_socks-2.5.2}/tests/conftest.py +0 -0
  258. {python_socks-2.5.0 → python_socks-2.5.2}/tests/http_app.py +0 -0
  259. {python_socks-2.5.0 → python_socks-2.5.2}/tests/http_server.py +0 -0
  260. {python_socks-2.5.0 → python_socks-2.5.2}/tests/mocks.py +0 -0
  261. {python_socks-2.5.0 → python_socks-2.5.2}/tests/proxy_server.py +0 -0
  262. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_misc.py +0 -0
  263. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_aio.py +0 -0
  264. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_aio_v2.py +0 -0
  265. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_anyio.py +0 -0
  266. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_anyio_v2.py +0 -0
  267. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_curio.py +0 -0
  268. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_trio.py +0 -0
  269. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_async_trio_v2.py +0 -0
  270. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_sync.py +0 -0
  271. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_proxy_sync_v2.py +0 -0
  272. {python_socks-2.5.0 → python_socks-2.5.2}/tests/test_resolvers.py +0 -0
  273. {python_socks-2.5.0 → python_socks-2.5.2}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-socks
3
- Version: 2.5.0
3
+ Version: 2.5.2
4
4
  Summary: Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python
5
5
  Home-page: https://github.com/romis2012/python-socks
6
6
  Author: Roman Snegirev
@@ -10,7 +10,7 @@ Keywords: socks socks5 socks4 http proxy asyncio trio curio anyio
10
10
  Description-Content-Type: text/markdown
11
11
  License-File: LICENSE.txt
12
12
  Provides-Extra: asyncio
13
- Requires-Dist: async-timeout>=3.0.1; extra == "asyncio"
13
+ Requires-Dist: async-timeout>=3.0.1; python_version < "3.11" and extra == "asyncio"
14
14
  Provides-Extra: trio
15
15
  Requires-Dist: trio>=0.16.0; extra == "trio"
16
16
  Provides-Extra: curio
@@ -3,7 +3,6 @@ import socket
3
3
  from .._abc import AsyncSocketStream, AsyncResolver
4
4
  from .abc import AsyncConnector
5
5
 
6
- from .._protocols.errors import ReplyError
7
6
  from .._protocols import socks5
8
7
  from .._helpers import is_ip_address
9
8
 
@@ -66,15 +65,28 @@ class Socks5AsyncConnector(AsyncConnector):
66
65
  data = conn.send(request)
67
66
  await stream.write_all(data)
68
67
 
68
+ data = await self._read_reply(stream)
69
+ reply: socks5.ConnectReply = conn.receive(data)
70
+ return reply
71
+
72
+ # noinspection PyMethodMayBeStatic
73
+ async def _read_reply(self, stream: AsyncSocketStream) -> bytes:
69
74
  data = await stream.read_exact(4)
70
- if data[3] == socks5.AddressType.IPV4:
75
+ if data[0] != socks5.SOCKS_VER:
76
+ return data
77
+ if data[1] != socks5.ReplyCode.SUCCEEDED:
78
+ return data
79
+ if data[2] != socks5.RSV:
80
+ return data
81
+
82
+ addr_type = data[3]
83
+
84
+ if addr_type == socks5.AddressType.IPV4:
71
85
  data += await stream.read_exact(6)
72
- elif data[3] == socks5.AddressType.IPV6:
86
+ elif addr_type == socks5.AddressType.IPV6:
73
87
  data += await stream.read_exact(18)
74
- elif data[3] == socks5.AddressType.DOMAIN:
75
- data += await stream.read_exact(int.from_bytes(await stream.read_exact(1)) + 2)
76
- else: # pragma: no cover
77
- raise ReplyError(f'Invalid address type: {data[3]:#02X}')
88
+ elif addr_type == socks5.AddressType.DOMAIN:
89
+ host_len, *_ = await stream.read_exact(1)
90
+ data += await stream.read_exact(host_len + 2)
78
91
 
79
- reply: socks5.ConnectReply = conn.receive(data)
80
- return reply
92
+ return data
@@ -3,7 +3,6 @@ import socket
3
3
  from .._abc import SyncSocketStream, SyncResolver
4
4
  from .abc import SyncConnector
5
5
 
6
- from .._protocols.errors import ReplyError
7
6
  from .._protocols import socks5
8
7
  from .._helpers import is_ip_address
9
8
 
@@ -57,15 +56,28 @@ class Socks5SyncConnector(SyncConnector):
57
56
  data = conn.send(request)
58
57
  stream.write_all(data)
59
58
 
59
+ data = self._read_reply(stream)
60
+ reply: socks5.ConnectReply = conn.receive(data)
61
+ return reply
62
+
63
+ # noinspection PyMethodMayBeStatic
64
+ def _read_reply(self, stream: SyncSocketStream) -> bytes:
60
65
  data = stream.read_exact(4)
61
- if data[3] == socks5.AddressType.IPV4:
66
+ if data[0] != socks5.SOCKS_VER:
67
+ return data
68
+ if data[1] != socks5.ReplyCode.SUCCEEDED:
69
+ return data
70
+ if data[2] != socks5.RSV:
71
+ return data
72
+
73
+ addr_type = data[3]
74
+
75
+ if addr_type == socks5.AddressType.IPV4:
62
76
  data += stream.read_exact(6)
63
- elif data[3] == socks5.AddressType.IPV6:
77
+ elif addr_type == socks5.AddressType.IPV6:
64
78
  data += stream.read_exact(18)
65
- elif data[3] == socks5.AddressType.DOMAIN:
66
- data += stream.read_exact(int.from_bytes(stream.read_exact(1)) + 2)
67
- else: # pragma: no cover
68
- raise ReplyError(f'Invalid address type: {data[3]:#02X}')
79
+ elif addr_type == socks5.AddressType.DOMAIN:
80
+ host_len, *_ = stream.read_exact(1)
81
+ data += stream.read_exact(host_len + 2)
69
82
 
70
- reply: socks5.ConnectReply = conn.receive(data)
71
- return reply
83
+ return data
@@ -1,2 +1,2 @@
1
1
  __title__ = 'python-socks'
2
- __version__ = '2.5.0'
2
+ __version__ = '2.5.2'
@@ -2,7 +2,10 @@ import asyncio
2
2
  import socket
3
3
  import sys
4
4
 
5
- import async_timeout
5
+ if sys.version_info >= (3, 11):
6
+ import asyncio as async_timeout
7
+ else:
8
+ import async_timeout
6
9
 
7
10
  from ..._types import ProxyType
8
11
  from ..._helpers import parse_proxy_url
@@ -1,8 +1,13 @@
1
1
  import asyncio
2
2
  import ssl
3
3
  import warnings
4
+ import sys
4
5
 
5
- import async_timeout
6
+
7
+ if sys.version_info >= (3, 11):
8
+ import asyncio as async_timeout
9
+ else:
10
+ import async_timeout
6
11
 
7
12
  from ...._types import ProxyType
8
13
  from ...._helpers import parse_proxy_url
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-socks
3
- Version: 2.5.0
3
+ Version: 2.5.2
4
4
  Summary: Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python
5
5
  Home-page: https://github.com/romis2012/python-socks
6
6
  Author: Roman Snegirev
@@ -10,7 +10,7 @@ Keywords: socks socks5 socks4 http proxy asyncio trio curio anyio
10
10
  Description-Content-Type: text/markdown
11
11
  License-File: LICENSE.txt
12
12
  Provides-Extra: asyncio
13
- Requires-Dist: async-timeout>=3.0.1; extra == "asyncio"
13
+ Requires-Dist: async-timeout>=3.0.1; python_version < "3.11" and extra == "asyncio"
14
14
  Provides-Extra: trio
15
15
  Requires-Dist: trio>=0.16.0; extra == "trio"
16
16
  Provides-Extra: curio
@@ -3,6 +3,8 @@
3
3
  anyio<5.0.0,>=3.3.4
4
4
 
5
5
  [asyncio]
6
+
7
+ [asyncio:python_version < "3.11"]
6
8
  async-timeout>=3.0.1
7
9
 
8
10
  [curio]
@@ -50,7 +50,7 @@ setup(
50
50
  ],
51
51
  keywords='socks socks5 socks4 http proxy asyncio trio curio anyio',
52
52
  extras_require={
53
- 'asyncio': ['async-timeout>=3.0.1'],
53
+ 'asyncio': ['async-timeout>=3.0.1; python_version < "3.11"'],
54
54
  'trio': ['trio>=0.16.0'],
55
55
  'curio': ['curio>=1.4'],
56
56
  'anyio': ['anyio>=3.3.4,<5.0.0'],
File without changes
File without changes
File without changes
File without changes