[tor-bugs] #31823 [Core Tor/Stem]: HSv3 descriptor support in stem [encoding]
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Oct 29 23:08:31 UTC 2019
#31823: HSv3 descriptor support in stem [encoding]
-------------------------------------------------+-------------------------
Reporter: asn | Owner: atagar
Type: defect | Status:
| needs_review
Priority: Medium | Milestone: Tor:
| unspecified
Component: Core Tor/Stem | Version:
Severity: Normal | Resolution:
Keywords: tor-hs scaling onionbalance | Actual Points: 2
network-team-roadmap-september tor-spec |
Parent ID: #26768 | Points: 5
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by atagar):
Hi asn, swapping our tor-dev@ discussion here as requested.
> What is your plan with the hsv3 branch? Should I start reviewing your
changes already, or give you more time to do more?
Please give me another week. Ball's in my court, I'll let ya know once
it's ready.
> My only feedback so far is that the python2 port commits have broken
python3 for me (particularly the ed25519 blinding implementation).
Gotcha. For the moment tests pass with both python2 and python3 but I
still break them occasionally as I work. If you have python3 issues with
the final result please let me know and I'll address them.
> Would it be egregious to provide hsv3 support only for python3 users so
that we can use python3 features as we wish?
This is actually a particularly interesting question right now. Here's my
plans...
* PSF plans to [https://pythonclock.org/ drop Python 2.x support in
January 2020] and Stem will do the same.
* Stem's 1.x series supports python 2.6 and above. In December I plan to
release Stem 1.8 which will be the last in the 1.x series and last with
python 2.x support.
* Stem 2.x will remove python 2.x support, drop deprecated functions, etc.
This is our opportunity for cleanup that breaks backward compatibility so
I plan to take my time and make our codebase more consistent.
* So finally for your question of requiring python3 for hsv3 the answer is
"not yet unless absolutely necessary". That said, I would appreciate
'TODO' comments that indicate where we can simplify ourselves when
dropping 2.x support. We already have quite a few...
{{{
% grep -R TODO stem | grep -i 'python 2'
stem/descriptor/reader.py: # TODO: When dropping python 2.6 support go
back to using 'with' for
stem/descriptor/__init__.py: # TODO: use 'with' for tarfile after
dropping python 2.6 support
stem/client/datatype.py: # TODO: Python 2.6's struct module behaves a
little differently in a couple
stem/client/datatype.py: # TODO: When we drop python 2.x support this
can be simplified via
stem/interpreter/__init__.py: # TODO: we can use a lambda here when
dropping python 2.x support, but
stem/util/test_tools.py:# TODO: Providing a copy of SkipTest that works
with python 2.6. This will be
stem/util/test_tools.py: # TODO: remove and drop unnecessary
'returns' when dropping python 2.6
stem/util/test_tools.py: # TODO: remove when dropping python 2.6
support
stem/util/log.py: # TODO: At least in python 2.6 logging.Handler has a
bug in that it doesn't
stem/util/__init__.py: # TODO: I hate doing this but until Python 2.x
support is dropped we
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/31823#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list