- May 18, 2015
-
-
Damian Johnson authored
Hotfix release for a couple descriptor issues spotted by Tom... * Descriptors couldn't be unpickled https://trac.torproject.org/projects/tor/ticket/16054 * Parsing error for router status entry bandwidth lines https://trac.torproject.org/projects/tor/ticket/16048
-
Damian Johnson authored
Turns out we can't use hasattr() since that triggers __getattr__() as well under python3 (but not python2). The note about this... "... it must do this by comparing the strings, rather than using hasattr or testing for an AttributeError." https://users.cs.cf.ac.uk/J.P.Giddy/python/gotcha/getattr.html
-
- May 17, 2015
-
-
Damian Johnson authored
We didn't properly set a default value when parsing 'w' lines, potentially leading to infinite recursion. Caught by Tom on... https://trac.torproject.org/projects/tor/ticket/16048
-
Damian Johnson authored
When being unpickled there's a time when descriptors lack their attributes. This caused an infinite loop where... 1. Try to get an attribute. 2. We call the descriptor's __getattr__() 3. The __getattr__ tries to use _lazy_loading which doesn't exist. 4. We call the descriptor's __getattr__() ... loop 2-5 repeatedly... Adding a hasattr() check to break the cycle, and a unit test for pickleability. This was caught by Tom on... https://trac.torproject.org/projects/tor/ticket/16054
-
- May 13, 2015
-
-
Damian Johnson authored
-
Damian Johnson authored
In python 2.6 the threading.Event object's wait() method returns None (rather than a boolean). ====================================================================== FAIL: test_event_handling ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/runner.py", line 127, in wrapped return func(self, *args, **kwargs) File "/home/atagar/Desktop/stem/test/integ/control/controller.py", line 164, in test_event_handling self.assertTrue(event_notice1.wait(10)) AssertionError ---------------------------------------------------------------------- Ran 41 tests in 22.108s
-
Damian Johnson authored
When running our tests with the '--tor' argument the first time we run the pidof test it passes, but further runs fail. I'm not sure why that first one passes, but in checking the later ones it's picking up our 'run_tests.py --tor /path/to/tor' since it includes tor in it. The pidof man page suggests providing an absolute path so avoiding truncation of the command for this test. ====================================================================== FAIL: test_pid_by_name_pidof ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/integ/util/system.py", line 145, in test_pid_by_name_pidof self.assertEqual(tor_pid, stem.util.system.pid_by_name(tor_cmd)) AssertionError: 10020 != None ---------------------------------------------------------------------- Ran 26 tests in 1.435s
-
- May 12, 2015
-
-
Damian Johnson authored
Hate dead code. Moved this to a ticket... https://trac.torproject.org/projects/tor/ticket/15999
-
Damian Johnson authored
Validation was relatively unimportant in prior releases since... well, it was the default. Only folks that opted out of it for performance reasons ever gave it a thought. Now that it's opt-in adding a quick, simple note to our tutorials about it.
-
- May 11, 2015
-
-
Damian Johnson authored
Taking advantage of tor's new ADD/DEL_ONION functions, and expanding our hidden service tutorial to talk about all the new hotness.
-
Damian Johnson authored
Explanation of ephemeral hidden services and a demo. So much nicer...
-
Damian Johnson authored
Tempted to put this on the descriptor tutorial, but honestly a better fit here. Basic demos for using our descriptor fetching capabilities.
-
Damian Johnson authored
Slight improvements, including an explanation of tor2web and a screenshot.
-
Damian Johnson authored
Now that tor bumped its version to 0.2.7.1-alpha in its codebase we can uncomment version checks for these new features.
-
Damian Johnson authored
Our create_ephemeral_hidden_service()'s await_publication option didn't account for all requests failing.
-
Damian Johnson authored
Oops, one slipped in.
-
Damian Johnson authored
Option for ephemeral hidden service creation to wait for the UPLOADED event. This has a few warts to it, but should work reasonably well in practice until we have something better. Based on a change by Yawning to do the same... https://github.com/Yawning/onionwrap/commit/8edda8c76b2a39d22c8fa197c0d4df7879f632a3
-
- May 10, 2015
-
-
Damian Johnson authored
We're not using this test yet since I couldn't get it working. Still busted, but tweaking it a tad so our pyflakes checks are happier.
-
Damian Johnson authored
Adding support for Yawning's new style for hidden services that don't touch disk... https://gitweb.torproject.org/torspec.git/commit/?id=f5ff369 These are far easier to work with since they sidestep the headaches of reading the address and private key from disk. Hopefully in the long term these will replace the traditional method of making hidden services so we can merge our create_hidden_service() and create_ephemeral_hidden_service() methods.
-
- May 08, 2015
-
-
Damian Johnson authored
Recognizing the new hidden service commands added in... https://gitweb.torproject.org/torspec.git/commit/?id=f5ff369 https://gitweb.torproject.org/torspec.git/commit/?id=aaf2434
-
Damian Johnson authored
Tor's new HSPOST action adds a few new values to HS_DESC. Noting them in our enums. Presently I'm unsure if adding a method for HSPOST itself would be useful or not, so leaving that up to DonnchaC... https://gitweb.torproject.org/torspec.git/commit/?id=aaf2434
-
- May 07, 2015
-
-
Damian Johnson authored
Patch from Toralf Förster so our port_usage() function recognizes bitcoin.
-
- May 06, 2015
-
-
Damian Johnson authored
Sambuddha looked into how Stem can be installed on OSX, and it's actually delightfully simple. No need for Homebrew... https://trac.torproject.org/projects/tor/ticket/8588 Rather, the platform now comes with Python 2.7 by default so they can just use pip like other platforms. Slightly tweaking some of the other instructions to include 'sudo', and show using easy_install to get pip.
-
- Apr 27, 2015
-
-
Damian Johnson authored
Option we need for nyx. With this the LogBuffer can either provide back strings or the log events they're based on.
-
- Apr 26, 2015
-
-
Damian Johnson authored
Hazaa, HSFETCH was merged! Add a Controller method to take advantage of it so we can now provide hidden service descriptors.
-
Damian Johnson authored
When you issue a HSFETCH for something that doesn't exist tor provides a HS_DESC_CONTENT without a descriptor. This is great, but we didn't properly handle it. Also, we didn't strip the 'OK' at the end before attempting to parse the descriptor content.
-
- Apr 24, 2015
-
-
Damian Johnson authored
This one I can't repro here but on another system saw... STATIC CHECKS * /tmp/stem/test/util.py line 130 - redefinition of unused 'test' from line 42 test = module_prefix.rsplit('.', 1)[1] Trivial to sidestep.
-
Damian Johnson authored
Caught by wop_.
-
Damian Johnson authored
Oops, slipped my mind that this was python2 specific.
-
Damian Johnson authored
On 64bit platforms the 'lib' directory is called 'lib64' instead... /tmp/stem_test/lib64/python3.3/site-packages/stem-1.3.0_dev-py3.3.egg-info Caught by toralf.
-
- Apr 23, 2015
-
-
Damian Johnson authored
Support for specifying authentication and clients when making hidden services. This is a tweaked version of a patch from federico3 on... https://trac.torproject.org/projects/tor/ticket/14320
-
- Apr 21, 2015
-
-
Damian Johnson authored
Replacing the KEY_DICT global and helpers with a shorter script. I don't have a Twitter account so unfortunately can't exercise this sucker, but should be equivalent to what we had previously. This and the prior commit are for... https://trac.torproject.org/projects/tor/ticket/9003
-
-
Damian Johnson authored
This test is unimpacted by targets and can take a sec, so no reason to run it multiple times.
-
Damian Johnson authored
This has been a hole in our tests for quite some time, biting us from time to time during releas time... https://trac.torproject.org/projects/tor/ticket/15258 Just a simple test for now. Might expand this in the future with more assertions.
-
- Apr 14, 2015
-
-
- Apr 12, 2015
-
-
Damian Johnson authored
I've been treating presently as a synonym of currently. It isn't. While it's fun to watch Roger weep openly, I've had my fun. Time to find something new to make him writhe.
-
- Apr 11, 2015
-
-
Damian Johnson authored
Fixing a few regressions for our python3 support that slipped in. Thanks to toralf for pointing out that the tests were failing.
-
Damian Johnson authored
Traceback (most recent call last): File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner self.run() File "/usr/lib/python3.2/threading.py", line 693, in run self._target(*self._args, **self._kwargs) File "/home/atagar/Desktop/stem/stem/control.py", line 848, in _reader_loop control_message = self._socket.recv() File "/home/atagar/Desktop/stem/stem/socket.py", line 174, in recv self.close() File "/home/atagar/Desktop/stem/stem/socket.py", line 296, in close self._close() File "/home/atagar/Desktop/stem/stem/control.py", line 763, in _close self._notify_status_listeners(State.CLOSED) File "/home/atagar/Desktop/stem/stem/control.py", line 813, in _notify_status_listeners self._state_change_threads.append(notice_thread) AttributeError: 'filter' object has no attribute 'append'
-
Damian Johnson authored
====================================================================== ERROR: test_event_handling ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/atagar/Desktop/stem/test/runner.py", line 127, in wrapped return func(self, *args, **kwargs) File "/home/atagar/Desktop/stem/test/integ/control/controller.py", line 161, in test_event_handling controller.set_conf('NodeFamily', random_fingerprint()) File "/home/atagar/Desktop/stem/test/integ/control/controller.py", line 50, in random_fingerprint return hashlib.sha1(str(time.time())).hexdigest().upper() TypeError: Unicode-objects must be encoded before hashing ----------------------------------------------------------------------
-