commit b2c8810dc94b0e2e62c0e482158de3d33504a709 Merge: ea2752c5 c24e2240 Author: Damian Johnson atagar@torproject.org Date: Sat Jan 20 17:53:41 2018 -0800
Initial stem.client module
Far from complete. Thus far this only provides low level support for establishing links, including packing/unpacking for the following cell types...
* PADDING * VPADDING * VERSIONS * NETINFO * CERTS * AUTH_CHALLENGE
This is based on Tim's fantastic python proof of concept for ORPort communication, Endosome...
https://github.com/teor2345/endosome
Once this is pushed I'll be shooting him a pull request to take advantage of our new functionality.
Next up is support for additional cell types and a high level class for clients to use (everything here are building blocks, *not* what end users will want to leverage).
docs/change_log.rst | 2 + setup.py | 2 +- stem/client/__init__.py | 340 ++++++++++++++++++++ stem/client/cell.py | 587 +++++++++++++++++++++++++++++++++++ stem/connection.py | 2 +- stem/control.py | 4 +- stem/exit_policy.py | 2 +- stem/socket.py | 364 +++++++++++++++------- stem/util/__init__.py | 3 + stem/util/connection.py | 8 +- test/integ/control/controller.py | 4 +- test/settings.cfg | 5 + test/unit/__init__.py | 1 + test/unit/client/__init__.py | 27 ++ test/unit/client/address.py | 59 ++++ test/unit/client/cell.py | 165 ++++++++++ test/unit/client/certificate.py | 39 +++ test/unit/client/data/new_link_cells | Bin 0 -> 2043 bytes test/unit/client/size.py | 50 +++ test/unit/util/connection.py | 10 +- 20 files changed, 1542 insertions(+), 132 deletions(-)
tor-commits@lists.torproject.org