#21558: Add Ed25519 support ---------------------------+------------------------------ Reporter: patrickod | Owner: atagar Type: enhancement | Status: needs_review Priority: Medium | Milestone: Component: Core Tor/Stem | Version: Severity: Normal | Resolution: Keywords: | Actual Points: Parent ID: | Points: Reviewer: | Sponsor: ---------------------------+------------------------------
Comment (by atagar): Hi Patrick. Sorry about that, as discussed on irc figured out what I was doing wrong. Made a few small changes to this branch but then realized it lacks python 3.x support. Running our unit tests fails with... {{{ % python3 run_tests.py --unit ... ====================================================================== ERROR: test_ed25519_key_certificate_without_extensions ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/unit/descriptor/certificate.py", line 86, in test_ed25519_key_certificate_without_extensions validate = True File "/usr/lib/python3.2/unittest/case.py", line 1170, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.2/unittest/case.py", line 1117, in assertRaisesRegex callable_obj(*args, **kwargs) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 66, in _parse_certificate return Ed25519KeyCertificate(raw_contents, master_key_bytes, validate = validate) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 148, in __init__ super(Ed25519KeyCertificate, self).__init__(raw_contents, identity_key, validate = False) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 132, in __init__ self.__set_certificate_entries(raw_contents) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 136, in __set_certificate_entries for key, func in Certificate.ATTRIBUTES.iteritems(): AttributeError: 'dict' object has no attribute 'iteritems' ====================================================================== ERROR: test_parse_extensions_invalid_certificate_extension_type ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/unit/descriptor/certificate.py", line 57, in test_parse_extensions_invalid_certificate_extension_type cert_bytes File "/usr/lib/python3.2/unittest/case.py", line 1170, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.2/unittest/case.py", line 1117, in assertRaisesRegex callable_obj(*args, **kwargs) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 80, in _parse_extensions n_extensions = _bytes_to_long(raw_contents[39:40]) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 44, in _bytes_to_long return long(b.encode('hex'), 16) NameError: global name 'long' is not defined ====================================================================== ERROR: test_parse_extensions_invalid_n_extensions_count ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/unit/descriptor/certificate.py", line 72, in test_parse_extensions_invalid_n_extensions_count cert_bytes File "/usr/lib/python3.2/unittest/case.py", line 1170, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.2/unittest/case.py", line 1117, in assertRaisesRegex callable_obj(*args, **kwargs) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 80, in _parse_extensions n_extensions = _bytes_to_long(raw_contents[39:40]) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 44, in _bytes_to_long return long(b.encode('hex'), 16) NameError: global name 'long' is not defined ====================================================================== ERROR: test_parse_extensions_truncated_extension ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/unit/descriptor/certificate.py", line 43, in test_parse_extensions_truncated_extension cert_bytes File "/usr/lib/python3.2/unittest/case.py", line 1170, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.2/unittest/case.py", line 1117, in assertRaisesRegex callable_obj(*args, **kwargs) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 80, in _parse_extensions n_extensions = _bytes_to_long(raw_contents[39:40]) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 44, in _bytes_to_long return long(b.encode('hex'), 16) NameError: global name 'long' is not defined ====================================================================== ERROR: test_with_invalid_type ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/unit/descriptor/certificate.py", line 30, in test_with_invalid_type None File "/usr/lib/python3.2/unittest/case.py", line 1170, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.2/unittest/case.py", line 1117, in assertRaisesRegex callable_obj(*args, **kwargs) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 74, in _parse_certificate raise ValueError("Unknown Certificate type %s" % cert_type.encode('hex')) LookupError: unknown encoding: hex ====================================================================== ERROR: test_with_invalid_version ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/unit/descriptor/certificate.py", line 20, in test_with_invalid_version None File "/usr/lib/python3.2/unittest/case.py", line 1170, in deprecated_func return original_func(*args, **kwargs) File "/usr/lib/python3.2/unittest/case.py", line 1117, in assertRaisesRegex callable_obj(*args, **kwargs) File "/home/atagar/Desktop/stem/stem/descriptor/certificate.py", line 76, in _parse_certificate raise ValueError("Unknown Certificate version %s" % version.encode('hex')) LookupError: unknown encoding: hex ---------------------------------------------------------------------- Ran 7 tests in 0.015s FAILED (errors=6, skipped=1) }}} Mind taking a peek? To build on the work I've been doing please fetch from the ed25519 branch of my personal repo (https://git.torproject.org/user/atagar/stem.git)... https://gitweb.torproject.org/user/atagar/stem.git/log/?h=ed25519 Cheers! -Damian -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/21558#comment:8> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online _______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs