commit 4fdd2031e6b231ed4bbaa79940f67e9b8f691382
Author: aagbsn <aagbsn@extc.org>
Date:   Fri Sep 20 16:52:58 2013 +0200

    9771 - Keep Torflow happy
    
    Torflow expects the PURPOSE to not be None but "" if no PURPOSE is set.

commit c161f352e7fabd88cdd7eb9249a55957038b07d9
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Sep 19 12:44:50 2013 +0200

    9771 - Fix CIRC event parsing
    
    In torspec.git commit e195a4c8d288eb27385060740b8fde170a5e3e38 the
    format of the CIRC event was changed slightly. This commit parses this
    newer format.

commit 68bc5de84dc90e1292c6aa19abd95f660b5e3277
Author: aagbsn <aagbsn@extc.org>
Date:   Tue Mar 5 19:56:29 2013 +0100

    8399 - Do not return 0 from get_unmeasured_bw

commit e6c7fd73e75456ea216402ff21faa2cc31e4c603
Author: aagbsn <aagbsn@extc.org>
Date:   Sat Mar 2 10:18:05 2013 +0100

    8273 - Remove Fast Flag requirement for measurements

commit e27fb553b471b8f0774ae81cb024b5507d49894e
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Feb 28 11:48:41 2013 +0100

    6131 - BwAuths learn to recognize Unmeasured=1 in consensus
    
    Routers with the Unmeasured flag get a hard-coded consensus to descriptor
    ratio of 1.0

commit 853cb1e2040c31f90c89d4941e18a8f9ae677146
Author: Mike Perry <mikeperry+git@torproject.org>
Date:   Sat Dec 29 16:30:53 2012 -0800

    Mention stem and txtorcon as alternatives.

commit 305a759d99dd01f60faed9aa036b37746d3c54c5
Author: Mike Perry <mikeperry+git@torproject.org>
Date:   Wed Apr 18 16:47:25 2012 -0700

    Turn an exception into a log.

commit 3de91767e208d1642a8cf89dc1b645f637abaf8e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Nov 15 18:42:18 2011 -0800

    Make memory-only sqlite work.

commit 391b4399adda91e8b68ffd6e1fa294efe846debd
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Nov 4 15:41:54 2011 -0700

    Don't round the circ fail rate.

commit 66ed91b5c1453b9c25b7070b702e2e548efb4f80
Merge: e15ed99 a582469
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Oct 31 21:34:30 2011 -0700

    Merge commit 'a58246918f58f3fc5663f8772df39cdcd3ccce8d'

commit a58246918f58f3fc5663f8772df39cdcd3ccce8d
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Oct 31 21:33:20 2011 -0700

    Add TorCtl piece of the fix for #1984.

commit e15ed99df8e8e04cadd0f3792e42a621df6fbe02
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Oct 19 16:32:34 2011 -0700

    Bug #4097: Clear old last_exit before requesting a new one
    
    Should eliminate the keyerror in the test's node_map, which seemed to be due
    to really stale last_exits laying around from previous tests on a different
    consensus.

commit 750d7c392766476d12cc9e47bdffffcce84bcdf5
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Oct 4 17:39:44 2011 -0700

    Document a pythonism that briefly confused Aaron and me.

commit 520722b8e3a7bb72bf9b5063f3c1649b53110225
Author: aagbsn <aagbsn@extc.org>
Date:   Wed Sep 14 16:56:16 2011 -0700

    4024 - get_git_version does not work for submodule
    
    Added support for detached heads

commit e99394c46b30ed73ffbf02d5c6a39bf9b04416a2
Author: aagbsn <aagbsn@extc.org>
Date:   Wed Aug 31 16:23:42 2011 -0700

    use local sessions
    
    see:
    http://www.sqlalchemy.org/docs/orm/session.html#lifespan-of-a-contextual-session
      "This has the effect such that each web request starts fresh with a brand new
      session, and is the most definitive approach to closing out a request."

commit 097a95c4185b086dbac67e0d2618bd15b9f41521
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Sep 1 13:53:22 2011 -0700

    NOTICE when git repo not found rather than ERROR

commit a3ed3d01ff93df9d25dc64ffbacfcb6b4ef0befa
Author: aagbsn <aagbsn@extc.org>
Date:   Wed Aug 31 17:07:27 2011 -0700

    add function to get current branch and head

commit 4a990f47e5ecd26af4f6459ae6d63ea36dd88f00
Author: aagbsn <aagbsn@extc.org>
Date:   Wed Aug 31 16:24:27 2011 -0700

    remove ;

commit db835ef1f6a252d9923be766f1d7dc813ea9a4eb
Author: aagbsn <aagbsn@extc.org>
Date:   Wed Aug 31 16:09:00 2011 -0700

    use Elixir model delete method
    
    try to use the same session for deletes and queries where possible,
    this may be the cause of an ObjectNotFound exception that occurs
    right after _update_db(), despite the Router object being in the
    consensus and also in the db.

commit 741cc04db278cede4bbe0c9e0147066fbfd00a4b
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Jul 7 15:21:26 2011 -0700

    placeholder for call to refresh_all()
    
    suspicious session behavior may require refreshing all
    objects in order to keep tc_session and sessions bound
    to Elixir synchronized

commit 37f612706ad384d7a1d34a33268f3d1d8449d5f2
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Jul 7 14:58:37 2011 -0700

    WARN when circ_status_event fails to query Router

commit 25cb2bf77b1a98f2273b0f90c99b57e3d6e21a41
Merge: 962d30c e538547
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Jun 27 11:23:39 2011 -0700

    Merge branch 'ratio-restrictions'

commit 962d30c72ffc85c1df79270d6ac5b25f0336d2d2
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sat Jun 25 10:37:22 2011 -0700

    Allow TorCtl.connect() to specify alternate Connection classes.
    
    Need to move it for that...

commit e538547dfc2973d7bd99e2d927a1d87be5230704
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 24 13:32:37 2011 -0700

    Implement ratio ranking support.

commit dc1cb9ce39fd5c9c5ea50f542642130a44e71fee
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 24 12:33:02 2011 -0700

    Add a little more rambling to reset_all().

commit d0f593f2ae245e951323ff7fc3a65fa6a1f16b47
Merge: 3c438e0 eb736ba
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 24 11:57:47 2011 -0700

    Merge remote branch 'aagbsn/testing'

commit 3c438e013b2301f2c5e04bb1aceb907ae5f96576
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 24 10:46:59 2011 -0700

    Eliminate a warn about a consensus miscount.
    
    By fixing the miscount, of course.

commit eb736ba5e24d1e4259db921bda52ab918c043553
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Jun 23 15:40:05 2011 -0700

    Added refresh_all() and warnings to reset_all()
    
    SQLSupport.refresh_all() is required to keep Elixir and
    tc_session in sync. Otherwise it is possible for
    routers added by the consensus update to not show up
    in queries using the Elixir model i.e. Router.query.all()
    
    Also, warnings have been added to SQLSupport.reset_all() because
    this does not work properly -- in some cases relation tables
    were not being reset properly (this resulted in old bw measurements
    being repeated in future output!).
    
    Finally, even when reset_all() works properly, bwauthority memory
    usage continues to grow.

commit e1266cb4d716a8a066ea3d92fb3d19305939a058
Author: aagbsn <aagbsn@extc.org>
Date:   Thu May 19 14:17:12 2011 -0700

    update consensus after resetting stats within the same job

commit 13307d9cc0ed54bf5602c2c9b5e8db86113f3a45
Author: aagbsn <aagbsn@extc.org>
Date:   Mon Apr 18 10:38:50 2011 -0700

    added reset_stats() to Scansupport.py
    
    calls parent and SQLSupport reset functions
    Tests show that SQLSupport.reset_all() may clear too much because
    if BwAuthority calls Scansupport.reset_stats() after each speedrace()
    run only the first slice is properly recorded; the rest are empty.
    See: https://trac.torproject.org/projects/tor/ticket/2947

commit 7cd3224c4615c8b2e3f465ed2d1b22d2f9dbf89f
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Jun 20 10:03:30 2011 -0700

    Remove python 2.5ism

commit ef0b770e9fa3ddb63ec52dfa4796c7dff27e8709
Author: aagbsn <aagbsn@extc.org>
Date:   Sat Jun 18 16:36:24 2011 -0700

    add case for long

commit ffb68994a4d440db9deca2624ed33075f3fb7125
Author: aagbsn <aagbsn@extc.org>
Date:   Fri Jun 17 10:53:05 2011 -0700

    generalize db message, we now support postgres and mysql too

commit fbf2fcf865bc0d9b65841076fd88e31f321638de
Author: aagbsn <aagbsn@extc.org>
Date:   Fri Apr 29 16:21:40 2011 -0700

    fixes for divide-by-zeros
    
    Postgres doesn't ignore divide-by-zeros like MySQL
    CASE statement added to set the result to NULL if
    the denominator is zero

commit 3a2b44864417908bae45e835e0502297671e6c7b
Author: aagbsn <aagbsn@extc.org>
Date:   Sun Apr 24 21:12:56 2011 -0700

    rewrite query for mysql compatibility attempt 2
    
    this actually appears to work

commit a416402b0a4c6b5406448a5f87538081f26d9368
Author: aagbsn <aagbsn@extc.org>
Date:   Thu Apr 21 18:28:17 2011 -0700

    rewrite query for mysql compatibility attempt 1

commit c8fee8b7b5ea6c584bb5a75647ee44737e60b66d
Author: aagbsn <aagbsn@extc.org>
Date:   Sun Apr 10 23:59:09 2011 -0700

    backward compatibility with SQLAlchemy 0.5.x

commit 5161c64139f18b55288dab07e74f9f3f1c5bb704
Author: aagbsn <aagbsn@extc.org>
Date:   Sun Apr 10 23:24:23 2011 -0700

    SQLAlchemey and Elixir upgrade
    
    enabled elixir migration aid options.
    
    renamed a few function calls, as per SQLAlchemy upgrade docs:
      session.clear() is removed. use session.remove_all()

commit af306b53a668168ae92a6c919d4013b81d7e61ad
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 17:29:43 2011 -0700

    Rename make_connection to preauth_connect and export it.

commit 0ec171e6e0286b84802d09d399f7ff620dc37803
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 16:29:36 2011 -0700

    Rename connectionComp and export ns_body_iter.

commit 5b73e36159cab89d76f481047f8524e8e9938ed5
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 16:24:50 2011 -0700

    Add iterator support to get_consensus().
    
    Also rename getIterator to get_iterator.

commit cb62cf7c70982b83c2d480e55843e098d42ed697
Merge: 8554340 3c6a326
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jun 17 16:10:45 2011 -0700

    Merge remote branch 'atagar/bug2812'

commit 3c6a3268326d928474b4a1093cf74a2c32898208
Merge: 42b5f0e 40f7cbc
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 19:15:38 2011 -0700

    Merge commit '40f7cbc' into bug2812
    
    Conflicts:
    	TorUtil.py

commit 8554340f34309af293ced771be9634887cef2568
Merge: 257fedb 42b5f0e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Jun 16 18:50:56 2011 -0700

    Merge branch 'bug2812'

commit 42b5f0e536089a0a509bac0403155466881b7c2f
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 18:45:57 2011 -0700

    Removing socket timeout for thread wakeup
    
    The shutdown added in this branch wakes the socket so there's no need for the
    loop we previously had.

commit 40f7cbc50d460d8e3e11669827108bfb912ab3bf
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 18:15:05 2011 -0700

    Closing connection in case of auth failure
    
    When authentication failed in TorCtl.connect() the abandoned connection wasn't
    being closed.

commit 565e18a6ff6189dd11d8a43ca77eed287743b479
Author: Damian Johnson <atagar@torproject.org>
Date:   Thu Jun 16 07:50:58 2011 -0700

    TorCtl connect method inflexible
    
    The connect method is a nice helper for cli initiation, but lacks sufficient
    call visibility to help in more general use cases. In particular it...
    - sends feedback to stdout
    - prompts for the controller password on stdin
    - suppresses exceptions
    
    To get around this I'm adding a more generic 'connectionComp' that does the
    icky bits of the connection negotiation I was trying to hide while still giving
    the caller what it needs to handle the connection process however it'd like.
    
    Tested by exercising the connect functionality with cookies, password, and
    connection components to handle my TBB cookie auth renegotiation fix.

commit 45d7753b7c947b141210017d1b987673c51d97c5
Author: Damian Johnson <atagar@torproject.org>
Date:   Wed Jun 15 19:27:12 2011 -0700

    Option to get get_network_status as an iterator
    
    Setting the 'getIterator' argument drops the memory usage of calling
    get_network_status by 71% (from 3.5 MB to 1 MB). This is still higher than what
    I was expecting from a generator, though certainly much better.
    
    Unfortunately this didn't have an impact on the ConsensusTracker. The memory
    usage from its constructor dwarfs anything else I've looked at (18.8 MB) and
    didn't drop like I'd expect when consensus_only was false. :(

commit e76418e507319887626b9d3921bdc0ac44b28e76
Author: Damian Johnson <atagar@torproject.org>
Date:   Mon Jun 13 09:50:13 2011 -0700

    Handling for connections to non-control sockets
    
    When we attempt to initiate a control connection to a non-control port (for
    instance tor's socks port instead)...
    - the socket shutdown issues an error since it's not connected yet
    - checking the authentication type fails with a TorCtlClosed rather than error
      reply
    
    For more information see bug 2580.

commit 9de33409bb240d8fe50e135dfb895536dc6a45bd
Author: Damian Johnson <atagar@torproject.org>
Date:   Mon Jun 13 09:30:42 2011 -0700

    Unblocking waits for a response when we error
    
    When the signal sent by _sendImpl causes the control connection to close we
    block indefinitely waiting for a response. For more information see bug 1329.

commit 257fedbbe7b4e8f066ba570773bb2f2afbca6dc4
Author: Damian Johnson <atagar@torproject.org>
Date:   Sun Jun 12 22:02:14 2011 -0700

    Replacing old TorCtl example with a BW listener
    
    Event listening, particularly BW events, is a common request on irc so using it
    as the TorCtl example. For more information see bug 2065.

commit 477c1bcde44e92243bf061f565d9403fa8e31276
Author: Damian Johnson <atagar@torproject.org>
Date:   Sun Jun 12 21:41:09 2011 -0700

    Shutting down sockets when closed
    
    Each TorCtl instance spawned a socket that would continue to live for the life
    of the python process. For more information see ticket 2812.

commit 4824d623487e0d305029ea46326eba94b4e4b738
Author: Damian Johnson <atagar@torproject.org>
Date:   Sun Jun 12 20:40:49 2011 -0700

    Removing indefinite blocking on socket recv
    
    When shutting down we can't join on _thread unless the socket receives data
    because we didn't have a timeout. This issues a 20 ms timeout on socket reads
    and cleans up _thread when we close.

commit b99ecc1de55cdefbcd803e267d2635534ff9e511
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Mar 7 18:10:41 2011 -0800

    Fix some issues with SmartSocket.
    
    Also remove some traceback debugging statements.

commit 6eeffeb4f20aefb2f859a9f5754c34342abc307e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Mar 3 01:38:15 2011 -0800

    Try to catch an AttributeError early..
    
    It may be silently killing the bwauths on some platforms..

commit 14c250dbd97c98a439eb67cb1ab5a28527d02333
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Feb 25 18:44:52 2011 -0800

    Damnit all to hell.

commit b334a18c8c5b4d8c8ffb5609c6dd1414813aeb30
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Feb 25 18:36:20 2011 -0800

    Use isinstance rather than "is type()" for type checks.

commit 1104d88407c1735b476ec67bc680f7a7cde9069d
Merge: 96133c8 343931a
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Feb 25 17:59:52 2011 -0800

    Merge remote branch 'chiiph/master'

commit 343931ac548809b8c3e93c5aa6e60a292553ea3d
Author: Tomas Touceda <chiiph@gentoo.org>
Date:   Fri Feb 25 22:27:23 2011 -0300

    logfile can be unicode too

commit 96133c805d3e5402f6444e71a4555c6b410986e7
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Feb 24 03:49:05 2011 -0800

    Fix a python 2.5 traceback in recent 'body' commit.

commit dca4b5ea561b9fe69f8b73e89639c8045ec6abba
Merge: 62e4705 b71e657
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Feb 23 19:23:12 2011 -0800

    Merge branch 'chiiph'

commit b71e657f13294741d7b6203e587337f677610d14
Author: Tomas Touceda <chiiph@gentoo.org>
Date:   Thu Feb 24 00:20:56 2011 -0300

    Add gitignore and status returns set_option(s) and reset_options

commit 62e470554c12e3fa0edd948d8f2c7c7a02217635
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Feb 23 11:10:27 2011 -0800

    Add a body field to all events.
    
    Useful to grab the original raw event for debugging/logging.

commit 7329ceb4fe44c3557742ea596aeca7ea5f9e76f7
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sun Jan 30 00:37:52 2011 -0800

    Allow outside access to loglevels map.

commit 93f0f625e5deab79002dac2d39a4ea3ecaaa2f8e
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Dec 6 12:58:07 2010 -0800

    Add some minimal support for extrainfo documents.

commit 4ec2e2be581c5b4adb25992c33fcae6e1b9f3bdc
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Nov 18 11:48:47 2010 -0800

    Add LICENSE file and update copyrights.

commit 8af9a7cb6386ec8b1a751a1d96fe3bd448fc4112
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Nov 9 21:52:28 2010 -0800

    Demote nickname change log message.

commit f5a9e9b5f62659fd227705c2b9a7a09db638c66d
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Oct 5 14:10:51 2010 -0700

    Kill some noisy debug logs.

commit e7610e7c0e4659b9f60b5b1ef106e33b7d7b675b
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sun Oct 3 14:21:22 2010 -0700

    Only require sqlalchemy if we really need it.

commit 3972639c49844ff77cd3175671357b47669526ce
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Sep 27 14:34:19 2010 -0700

    Alter ConsensusTracker to actually track the consensus.
    
    It was tracking the Tor client's notion of the consensus, in a poor way. It
    now can do one or the other, depending on constructor option.
    
    Also, add some APIs that are helpful for torperf.

commit 0233a9797364a17bf95f71fe56b9aa029ecb24c6
Merge: befe9af 6a2885f
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Thu Aug 26 02:18:29 2010 -0700

    Merge branch 'atagar-connect'

commit befe9af010bb8f43d46079df7ec3dff230b9ac4d
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Tue Aug 24 11:03:34 2010 -0400

    Fix the Python 2.4 fix.
    
    Oops - apparently I used a Python 2.5ism in trying to remove a
    Python 2.5ism :)

commit 6a2885fa4f517c74ec0a79ee22a5333dc3a87b0f
Author: Damian Johnson <atagar@torproject.org>
Date:   Wed Aug 25 09:38:04 2010 -0700

    Convenience functions for creating and authenticating TorCtl connections.

commit 15681037f939aea3dec625615401fd13435f1cc9
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sun Aug 22 22:13:36 2010 -0400

    Fix Python 2.4 compatibility.
    
    Commit 33bf5a0a4a9 broke python 2.4 compat by using string.partition(),
    introduced in Python 2.5.  Use string.split() instead.

commit c514a0a7105cebe7cc5fa199750b90369b820bfb
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Aug 20 20:23:13 2010 -0700

    Obey some laws.
    
    Now that copyright infringement is the #1 priority of the FBI,
    we need to stop doing quite so much of it.

commit 737fbe35724f31d11529f7adea3a2a20c01378cb
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Mon Aug 9 02:14:33 2010 -0400

    Fix Tor version regular expression.
    
    Need to escape the dot character to get the intended
    behavior.

commit 33bf5a0a4a9308d76c2ebc6392f82bbb3b857e0d
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Mon Aug 9 02:13:15 2010 -0400

    Improve TorCtl descriptor processing speed.
    
    By only running one regular expression per descriptor line and
    performing a slightly better way of checking which line type
    we're handling, we cut the run time of build_from_desc in half.

commit 55071c4f19934db703a2beeea4f8968bae636dc1
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sun Aug 1 21:29:54 2010 -0400

    Expose status code and message separately in ErrorReply.
    
    Allow callers to handle a specific status code as an integer as well as
    the associated message within an ErrorReply exception.  Should be API-compatible
    as the associated keyword arguments are popped from the **kwarg dict before
    being passed to the parent exception class.

commit 834ee75419ca4200ab33621d8c7f01fa1d87609f
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sun Aug 1 21:18:23 2010 -0400

    Don't ignore unknown exceptions raised by get_router.
    
    If an unknown exception is raised on one NS document during
    read_routers, it's very likely it's going to be raised again on the
    next, and the next... (e.g., TorCtlClosed).
    
    Instead of printing out the traceback and continuing, allow it to
    unwind the stack and let the caller handle it.

commit 6570597de4080595ecb7849de1ea2b228306c772
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Fri Jul 23 22:47:31 2010 -0400

    Implement Python logging support for plog().
    
    This patch converts plog() to map to Python's logging module without
    changing API compatibility.  If an application wishes to integrate
    its own Python logger with TorCtl, it can call TorUtil.plog_use_logger
    with the name of the desired logger.  Otherwise, TorUtil will create
    its own logger that retains its original log format and emission behavior.
    
    This patch retains the standard plog() loglevels and maps them to
    logging constants where appropriate.

commit eb3bc228225c44fb51c1c3a9cd79854aa3177348
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 05:19:54 2010 -0700

    Fix a couple more exceptions.

commit 2ed625aed4db8a6fb7f8823312b79da8f7a62bbb
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 04:09:46 2010 -0700

    Spurious len() call..

commit e6bb19ac8021ea6198976689536b78b6d74be8da
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 03:21:00 2010 -0700

    Add log message for arma's bug..

commit cb91046748c407ddf477bb28adf14ab0b4a4242b
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Tue Aug 10 03:01:55 2010 -0700

    Develop a better method to wait for consensus.
    
    Do not return from wait_for_consensus unless we have at least 95% of all of
    our router descriptors.
    
    Also, sanity check that we aren't storing waay too many router descriptors.

commit c5da28fbf71b4676ecbb264c50349605d97bfc79
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Wed Jul 14 00:11:47 2010 -0700

    Hrmm, this should have been DateTime all along..

commit 3d5f402e9f57e327e8c46b679baf53b8f8fca332
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Fri Jul 2 22:04:16 2010 -0700

    Add uptime restriction.

commit 0cc2a8e0eeba48e6780f6079a29fe5574ed4f381
Author: Forgot to set <forgot@tosetit>
Date:   Wed Jun 23 00:16:18 2010 -0700

    Use labels for another Router query...
    
    I should really figure out why this is happening, and which other queries
    might need this... SQLAlchemy said we needed it on this line (in some rare
    case - not always). Possible SQLAlchemy bug/corruption?

commit ff4373fbce9e4283070363d6bb6e034b296c4a58
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Mon Jun 7 14:54:39 2010 -0700

    Handle Tor bug #1525: allow new streams to have a non-zero circ id.

commit 12f8114c00fa3e461b773ee2434f434955c3bd14
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sat May 29 00:23:40 2010 -0400

    Fix IP address regular expression in ExitPolicyLine.__init__
    
    Previous expression "\d+.\d+.\d+.\d+" matches many many things which are
    probably not intended.  Use "(\d{1,3}\.){3}\d{1,3}$" instead and compile it for
    efficiency.

commit d96f599c6ceeb3ae5e3dfd6f5497fb9003042267
Author: Harry Bock <hbock@ele.uri.edu>
Date:   Sat May 29 00:16:59 2010 -0400

    Fix determination of netmask from CIDR prefix length.
    
    ExitPolicyLine parses IP/netmask combinations and supports CIDR notation.
    The previous method for calculating an IPv4 netmask from a CIDR prefix length
    causes the result to exceed 32 bits, but the result is never truncated,
    causing a DeprecationWarning on 64-bit platforms when the integer is packed.
    
    Use a better method for the calculation that always fits in 32 bits.

commit cc46e4c197542dda83fed669cf5787056288bbb6
Author: Mike Perry <mikeperry-git@fscked.org>
Date:   Sun May 30 18:55:11 2010 -0700

    Update README with python TorCtl version.

commit 0050c2d8e0a0ec09e6c020277700d2919fee68dd
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 28 21:32:33 2010 +0000

    Update the __all__ list so that BaseSelectionManager shows up in pydoc.
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22439 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f84e30525a21ead9e71c7a781d6f9c95e3bd1da5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun May 23 04:13:21 2010 +0000

    Patch from Harry Bock to eliminate deprecation warnings on
    Python 2.5+.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22379 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit dfcfebbc12b9ce5530a5aab273a9ba903c5b2b6b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 22 23:07:09 2010 +0000

    Alter launch_thread() to return the EventHandler thread, as
    this provides a more reliable indication as to when we are
    done processing events on the connection.
    
    For some reason python's socket.close() does not cause a
    concurrent blocking readline() to return immediately.. This
    prevents the 'TorThread' (the _loop() thread) from
    terminating until more data arrives.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22378 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 765501122935bb2d3c6e9ceee21d14e4928b0476
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 21 21:36:45 2010 +0000

    Include queue delay in some of our log messages. Trying to
    track down a rare bw authority stall bug that may be related
    to excessive server load/queue delay.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@22376 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit fb7ae0dca3e95c17f4454a7a77c3de1683e398a6
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 2 01:05:18 2010 +0000

    Try to warn on missing descriptors, and also give Tor more
    time to fetch them.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21779 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 37c06aabcbeaf00af9564ca0e993591db61529d0
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Feb 21 00:12:01 2010 +0000

    Handle the return of an empty network status doc.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21710 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit de4bdfb15406aba18205930d66d4eb74931643f3
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Feb 18 07:55:34 2010 +0000

    Stop recording OS. It can have junk in it that SQLAlchemy
    hates.
    
    Also wait a bit more for stray descriptors to arrive before
    deciding to update our consensus statistics.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21685 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 70e51d58d5bf6d0ce14bad42470978ef6ae1a97f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jan 13 21:40:11 2010 +0000

    Add extra pareto info to BUILDTIMEOUT_SET events.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21409 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 2b7752f2fdd98b1bef97378d052c437638e75a3b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 11 19:49:09 2010 +0000

    Add support for GUARD event.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21401 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 11926fe2e48cbe4f31d4a76d6fd8078a46e60591
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Dec 17 09:54:07 2009 +0000

    Attempt to fix/workaround odd hang bug when we run out of exits.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21242 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 077858ebee88fc84aab434cb9dfe15e622b49879
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Dec 6 18:28:11 2009 +0000

    Demote orhash mismatch notice to info. Can happen
    occasionally during consensus updates.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@21104 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 07b4e5855df8bc9701b5f17f7fffdd6b5ad635a8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Sep 14 10:41:54 2009 +0000

    Quote SETCONF option values to allow values with spaces.
    Found+fixed by ShanePancake.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20559 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f8290cc23d8bea42ce90ea843443b62867f300bb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Sep 13 05:07:35 2009 +0000

    Add support for storing descriptor bandwidth values in
    addition to consensus values.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20540 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 5df55c13838007de4702233a8bafe2ae839736d1
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Sep 10 22:06:24 2009 +0000

    Fix sqlalchemy backtrace by adding a "use_labels" (actually
    with_labels()) option to one of the queries it crashed out
    on. The backtrace is rare, so who knows if this is the real
    fix. It at least doesn't seem to break things though.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20522 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit a12ebe1a161c12e7861a0212bab8de3efce34963
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Sep 9 08:15:07 2009 +0000

    Add the ability to filter out streams from other
    sources.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20512 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit a425b92df2c7b6244e6d552249162c8a9f13638c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Sep 9 08:00:16 2009 +0000

    Kill the interpreter if one of the TorCtl threads
    error out. Rude, but knowing is better than not.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20511 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 97dcfbfefa93014df3de9b6eb7cc0f197f90b33b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Sep 8 20:58:42 2009 +0000

    Try to be better about dying if TorCtl is horked.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20507 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit e838597252f2fcaf0c3d1329e63f33bd9560ed49
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Sep 8 19:31:53 2009 +0000

    Fix an exception crash on stream closing and kill a WARN.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20502 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 707c4fa5e7cdd8a41c32d7244c2a5ea921bccc1c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Aug 15 17:39:22 2009 +0000

    Fix a NoneTypeException due to logging.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20315 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 2040c681d5ccab6a9f374ae77f189a9153af0401
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Aug 14 21:43:11 2009 +0000

    Add some debug mssages dealing with exit setting.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20293 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 831bbc4ab0d0c21b6c64f9a5ca657c463881552e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Aug 13 19:43:11 2009 +0000

    Initial scansupport component commit.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20281 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 945a294ac44893a90dd4938c9e7b0996162fb04e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Aug 13 19:40:01 2009 +0000

    Remove some tabs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20280 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 5d192d81adbe5ae4fe8c3d7f22b325d83572d0ec
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jul 15 04:15:18 2009 +0000

    Simplify filtering step to just be >= mean.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20023 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit b555b6e178e3b61c0a94cfd1c4fdc15c425c51f9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jul 14 05:05:46 2009 +0000

    Remove datetime.datetime.strptime usage. It didn't exist in
    python 2.4. Also commit #20000 ftw.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@20000 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit d709f1a525bdc09ac1b381a0d865d70d8ef09d89
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jul 1 19:50:47 2009 +0000

    Change 1024 multiplier to 1000 for networkstatus sourced
    bandwidths, as this is the New Kilobyte.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19889 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 105c5c56ab2ae60546f60c61e879982126bc12ca
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jun 24 04:20:12 2009 +0000

    Change the refcount debugging stuff to work recursively to
    arbitrary depth, though more than 2 is pretty damn slow.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19806 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 020bd4891213a1012726360ef7a7b03e89536efa
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jun 21 02:49:56 2009 +0000

    Add a routine to check reference counts of all class
    instances and produce stats on which classes hold them
    to help narrow in on why our memory usage keeps going
    up over time.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19752 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 19d3a04de4b738d894c04757c91789aec29b1b5d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jun 15 10:01:26 2009 +0000

    Comment about conserving exits in selection manager.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19719 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit a7570aa6330f8e4d1bc45ecd5627fcf1d7601ecc
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jun 14 02:39:33 2009 +0000

    Capture the entire OS string when parsing descriptors.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19715 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8bf96453f60357147633b7ee0ada55a75ce98fd8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jun 10 15:07:06 2009 +0000

    Better conserve exits, and also include nodes without a Valid
    flag by default.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19696 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 2751d00f7f8fb73f54e641d64f174bb849c5bbe3
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jun 8 05:04:49 2009 +0000

    Preserve UTC timezone info on the 'published' member of
    Router.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19658 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit bfa62e36a20dd2569a28a07cc5f4815f865ff91d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jun 5 12:23:45 2009 +0000

    Add support for a display filter independent of stats and
    other filters.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19633 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 25a0199adde114542a208f44f315b2eee09ce609
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jun 5 01:31:16 2009 +0000

    Fix infinite loop that can be caused by ExactUniformGenerator.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19628 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 65497aac558a0b3f12bbe85bfd9c22d5a868cc55
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jun 3 20:31:16 2009 +0000

    DIAF SQLAlchemy. A token gesture at backwards compatibility
    wouldn't kill you, you know. Or at the very least, don't spit
    stupid depricated warnigns at me when you do break it
    needlessly and leave me with no other choice but to special
    case for each version.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19624 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 089d7fdbccaaac0b99b01223577d1037fc44a6c3
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 21:14:29 2009 +0000

    Prevent _generated from getting overwritten on router update.
    Add a log line to let us know when we reset the _generated
    stats. Relocate a session.clear() to before we drop tables,
    which is better practice.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19618 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 13c4b1bee222b6229a518852d6694e94541cd154
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 08:33:48 2009 +0000

    Fix a memory leak with ignored streams, and also don't try to
    close them. Also change flags to only use "Fast" nodes.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19614 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 444e3c08dd30a1b9454c2f06d79cb02fca1014eb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 08:31:26 2009 +0000

    Fix SQLAlchemy consistency error exception. Droping tables
    does not automatically trigger their relations to get
    dropped..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19613 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 0822b12d7ac238238da7b16c228759e3ef10425b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jun 2 08:30:25 2009 +0000

    Fix NEWDESC compatibility with Tor pre v0.2.2
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19612 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit e8c08bdfb1252d04b245e622e04e64316a788dca
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 30 10:10:08 2009 +0000

    Support new verbose names. And by support, I mean parse and
    then disregard. Turns out I really don't care what these
    things choose to call themselves at the time of the event.
    That's what the consensus is for.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19596 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 69f41a2d289fb14415a794ba276cde872b14aee7
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 30 05:32:18 2009 +0000

    Allow jobs to stop the "run all jobs" loop..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19592 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit ec4105d02abad3d8a13ce0ed7041d17dbc909485
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat May 30 04:44:59 2009 +0000

    Fix issue with reset_all() and add a method to prevent the
    history db update until we're idle.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19590 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 6aa9308db53b45cd5090c02974e355f0a9f0e07d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 29 13:11:47 2009 +0000

    Add some basic timer support to TorCtl and slightly change how
    ConserveExitsRestriction behaves.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19583 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 974318d6f9ada608eb1c4325be006d2cbdc2dc11
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 28 12:21:43 2009 +0000

    Add close_all_streams to support Tor exit hang workaround.
    Also fix some casting issues.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19578 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit c05394f6e4435672864901d5a71b3cf9c521ab37
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 28 11:50:55 2009 +0000

    Add support for parsing w line in NS dox, create
    RankRestriction (currently unused), add average router bw to
    bws stats.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19576 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8eafb3b9daaa4de3019c394b57affb1df551bed5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 28 03:08:58 2009 +0000

    TorCtl auth_cookie support + misc logging tweak patches from
    Damian Johnson.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19573 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f404142d1be0365a65fcc8bf18f9c805f9a61a2c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed May 27 11:32:48 2009 +0000

    Add config file support to TorUtil. Also implement part 8 of
    proposal 161 in SQLSupport.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19572 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit bfa0a9c36515f392e749e81e6c4b69fde0da5c22
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue May 19 09:55:10 2009 +0000

    Implement ExactUniformGenerator. Replace usage of UniformGenerator with
    ExactUniformGenerator.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19536 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 06ffb2a50ab3d89f924af68716f295f766beea86
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 14 08:45:46 2009 +0000

    Woops, the attempts should include the failures too.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19512 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 2cbc13fe269ed06938785c69f4cabaedd5e79641
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu May 7 03:29:57 2009 +0000

    Change cutoffs for filtering. Add some debug messages. Minor
    tweaks to make SQL stats match StatsSupport stats, at least
    for bandwidth.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19463 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit b8ea80d4f94ab91ce359ff6821cda6e092f2cf9f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed May 6 11:35:14 2009 +0000

    Add a couple more stats and make it easier to change if we
    count up+down bandwidth or just down.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19460 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 22f94b92a2027477aa1c990ce4e9b547c54f6127
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue May 5 06:59:32 2009 +0000

    Make table names not depend on module. Make some int types
    into floats for rounding issues. Fix a typo, and change which
    sorted list is displayed first out of the StatsSupport
    ratios.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19433 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit dd92524d4e2a76fdd4c6b984eb1084b3096b2167
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 08:50:01 2009 +0000

    Ok, I lied. This one is the inverse. But the rest are 100%
    correct, I swear.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19420 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 214161fd88385a0fbb87f98dfaec088a7b40907b
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 08:32:43 2009 +0000

    Fix various issues with stats and ratios displaying/computing.
    They seem to be all working now. Hurray!
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19419 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 11e3110fbb15cb6fa2284e788f706027d61f86e9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 08:31:51 2009 +0000

    Make stream_bw debug output match control port ordering.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19418 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 25a43453d9ef177529d41a313e8c8f1de6195e06
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 07:25:27 2009 +0000

    Ignore down routers.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19417 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 64ea186dc0a2ec51f23aea2dced81a6136a3f231
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 07:25:09 2009 +0000

    Woopsies. Turns out I had the read+write bandwidths backwards
    this whole time. That's what I get for measuring their sum
    instead of separately.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19416 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit c8ad6cda0735bca71a66e2ae8dc82c8034ffc7ce
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon May 4 06:57:13 2009 +0000

    Fix lots of SQLAlchemy weirdness (including some rather
    annoying 0.4 to 0.5 breakage) and a couple of stream handling
    bugs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19413 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8c274adfd3373afcc866f6a6d5a6e47172de3e6a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun May 3 11:31:38 2009 +0000

    Add stream tracking code and attempt to reduce stats
    calculations to single SQL update statements where possible.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19411 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 497e6940378a83d3b5ae28b3d64bcae624eeb30a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri May 1 03:45:10 2009 +0000

    Optimize stat computation and solve the inheritance
    promotion/upgrade problem by updating the row_type directly.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19404 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8870316f6830175bd9ae8a57313ed03cef1cf3bb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Apr 30 01:08:00 2009 +0000

    Add initial SQL event listener support using elixir.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19396 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 7f2014f1375d6c92591d61af1a4bf55333e6ceeb
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Apr 30 01:07:00 2009 +0000

    Add 'EventListener' support to TorCtl, so that multiple listeners can be
    attached independent of being full EventHandlers or part of the PathSupport
    inheritance hierarchy.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19395 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 01b502aa2634c8abbdd81192bed1a40187ec5756
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Apr 27 03:05:34 2009 +0000

    Add RateLimitedRestriction. Make the NodeRestrictionList be
    MetaRestriction (and thus pass isinstance(self,
    NodeRestriction)). Similar change for PathRestrictionList.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19380 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 14a894be1cf487290525bce92929a08274310d30
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Apr 26 05:07:20 2009 +0000

    Prevent some floating point range errors.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19378 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f8d0af7b3dd25cc26d75ba531e4afefa25c94e05
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Apr 16 09:43:34 2009 +0000

    Fix up some pydoc formatting.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19339 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 0eca7875b34afe3e8d3434a20b8a05b18420d910
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Apr 15 05:55:56 2009 +0000

    Change circ success to circ suspected also. No need
    to penalize nodes not yet in the path.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19327 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit d0fe8bb0645d305e08ab447da484718f061c3334
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Apr 14 23:21:12 2009 +0000

    Switch stream succeeded ratio to 1-stream suspected+failed.
    Stream success is only counted at the exit, so succeeded !=
    1-(suspected+failed)..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19325 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 84d6f4302bae464cd5964605fc5506412bb9fe49
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Apr 14 15:23:12 2009 +0000

    Woops, didn't mean to change the port settings..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19320 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit c723b95f6372739a7707ef9dd9c0cf2941a2a6d6
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Apr 14 15:09:02 2009 +0000

    Fix a couple warns about handling streams that die without
    circuits and reset all routers to kill some error messages.
    Also make the ratio line items be all of the same form (ie
    something we could multiple the advertised bandwith by to get
    a new value).
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19319 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 7618429cc23850b0fdac40cf058ee092e58a2fbd
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Apr 11 06:08:12 2009 +0000

    Parse out and store contact information into router
    class.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19286 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit ad2172eb061f94c708ddbd873a15f55167df90cf
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 31 11:39:22 2009 +0000

    Print a WARN if we get a NEWDESC without an NS
    instead of exploding in firey death.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19203 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 86c42b692d77ab5db8e540f4810fc8fe27e1fde0
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 24 06:28:11 2009 +0000

    Add some additional stats to the ratio files for speedracer.
    Reorganize ownership of some other statistics.
    
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19116 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 98dc1e782bb12d67e756e3e4de159a39be0a903f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Mar 19 08:13:15 2009 +0000

    Print out interesting ratios with a higher precision to
    separate file.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@19086 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 82717b99eef94fbaebe3316545c98dfda13afac7
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Mar 12 06:15:06 2009 +0000

    Add another ratio set to the stats output for speedracer.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18931 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 70e293f65574ac2c88843fd706e5d0dc8cc5b405
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Mar 11 05:16:45 2009 +0000

    Change when we display warns relating to restriction issues so
    we don't spam the user with messages. Also workaround an ugly
    exit condition Roger ran into.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18875 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 6da0f9ffad9343230cd5365e1914cfc0a7a3d727
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Mar 5 07:03:13 2009 +0000

    Clean up, prevent, and demote some WARNs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18768 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 9c5262734bac71c89427fe2874bf0e81d4900277
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Mar 3 08:39:24 2009 +0000

    Fix refcount-related WARNs and bugs and also WARN on traceback
    seen by Roger instead of crashing.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18757 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 4ef4c214b1d28a69a55e957ae5e36c522e3814b9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 28 15:08:12 2009 +0000

    Fix a warn with nicknames not being present in the map, and
    another sync warn.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18722 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8ae5e4b14a4ce5cad3c2c91eb69b4ede445e63ee
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Feb 25 20:51:37 2009 +0000

    *sigh* pychecker pychecker pychecker.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18694 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 32d2ef2fe5f42d71ad4c24c60b2961826e1578a4
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Feb 25 20:48:30 2009 +0000

    Finally track down an annoying bug that was causing us to try
    to use downed routers in soat.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18693 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 20f359738c2a844eba39bba3fdc4157070aec63c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 24 11:14:34 2009 +0000

    Fix up GeoIP support and exit setting to play with cookies
    easier.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18687 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit b3039ccc3cfbf41ea18e5c395a354a8cea5ec2d7
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 24 10:15:09 2009 +0000

    Fix a warn and a couple more exceptions...
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18686 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 257165443a847eebbf404ba11a97a4466df6437a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 23 11:00:22 2009 +0000

    Refactor SelectionManager to be more self-contained, more easily
    drop-in replaceable, and more intelligent about handling
    conflicting restrictions.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18678 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 7c34782e663e346c1053734df22f725032d4e19e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 21 12:58:12 2009 +0000

    Also need to check existence before removing.. *sigh*
    This language is a little exception crazy, isn't it.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18665 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit e64f088e90cd79f65a90c2fde5dcded2fb8587a9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 21 12:43:29 2009 +0000

    Log keyerror exception.. Still not clear why it happens, but
    at least now we should log instead of dying.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18664 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit bcf7867b6e095d36d25ce1c7d79d52cb92cdbb2f
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 21 00:28:23 2009 +0000

    Handle the case where the user requested an exit that
    disappears from the consensus. Somewhat of an ugly hack..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18660 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 73152254d78ed457d2923075643ce16700c864a5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 20 12:02:27 2009 +0000

    Helps to call the right method in the superclass.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18658 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 855443e0ff3234f90720073fafd04e23e7b5c3b9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 20 11:59:09 2009 +0000

    Kill unnecessary and incorrect remove.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18657 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit c9adfba9986c8cb4bc29d716b6372b3f997c4eb2
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 20 10:21:02 2009 +0000

    Handle some stream failure conditions properly, and fix an
    issue with receiving NEWDESCs.
    
    Also more cleanly alert the user when the Tor control port
    disappears.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18654 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 414a7920dced5790d8efc5bf0acd9bd6d2616a95
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 17 02:47:20 2009 +0000

    *sigh*
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18584 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f99848d7d931e61696a709fe76747f175420fde1
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Feb 17 02:45:33 2009 +0000

    Woops, this returns a list..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18583 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 0d47cf7a6d16d33f0e557c5bd59e1b3460b39c94
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 12:22:04 2009 +0000

    Woops, read_routers, not read_router.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18572 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f2bb1e4f5bd4116d7b605fce5a90f3e8d34ac6a5
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 11:45:43 2009 +0000

    Refactor new consensensus tracking code into a
    TorCtl.ConsensusTracker.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18570 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 1a281d5e4205ecbd64679467d585db5dbaf24607
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 10:12:01 2009 +0000

    Woops, we missed one of these annoying timeout warns.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18561 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 0d61ce1ab1708e6617ccaddac76fc4cbd9993938
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 09:29:22 2009 +0000

    pychecker. Always run pychecker..
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18560 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 2fab3388ae87dfb9660407a4692c182df012bdad
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Feb 16 09:17:22 2009 +0000

    Update to use the NEWCONSENSUS event. This means that TorCtl
    users who use the PathSupport clases need to have a Tor of
    r18556 or newer.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18558 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 2086aba1078438394e0423d056f58753c9830313
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 14 08:57:15 2009 +0000

    Demote some warns in the case of timeout.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18538 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 9f21221e62253424e150ff46a017f27f629b0e89
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Feb 14 01:02:45 2009 +0000

    If we don't give a reason on CLOSESTREAM, it ends in SUCCESS, we need a
    FAILED. Hopefully this will do it.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18537 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8ab4dcc7181763dbd2373210cd16ada7c3ab46bf
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Feb 13 11:57:23 2009 +0000

    Handle NoNodesRemain exception by killing the stream and
    clearing the last_exit, so the metatroller+soat can get a
    clue they requested the impossible.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18528 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 72c8acc45f0ceaa41a8a50148296f04e09b3d25d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Feb 5 12:52:15 2009 +0000

    Add getinfo address-mappings support for determining SSL IPs.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18402 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 4c6d9ed8551782a72e5e7ba21768fdca69c482a8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 30 15:49:18 2009 +0000

    Fix restriction stringification.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18346 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 37b4e82484ddbeb0737c13951ccbd5d1f40d4f0c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jan 28 14:30:28 2009 +0000

    Add __str__ support to restrictions to catch a bizzare
    restriction-related error.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18295 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 89092723d35f2c98dbbbe2540495f8317570a08a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 23 23:36:40 2009 +0000

    Damnit.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18261 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 6314f8f38df4672e131fb2d04fd2fbeb6f7fd225
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 23 23:34:36 2009 +0000

    Handle missing addresses in stream events (can happen on
    SOCKS-related errors).
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18260 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit fd2ee67cd0ea9483a49da2260237d9396a5a6e66
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 17 10:46:35 2009 +0000

    It compiles, it must work.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18151 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 00ec8e5ec7460e381915b81478e8aaec4aacfaaf
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 17 00:40:53 2009 +0000

    Print out flags for confusing descriptors.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18140 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 010425182131c408a4257b9fbe4855eee34f579d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 17 00:17:59 2009 +0000

    Change NodeGenerator.rebuild() to take an optional sorted_r
    argument to replace the generators' router list. Also allow
    StatsHandler to take a new router class.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18138 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 6e2d6b649368ce2f90d0d7fb51660330f9a79b06
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 16 02:41:13 2009 +0000

    Keep an extra refcount on StatsRouters so we can track uptime for them.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18125 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 76b7b131c93f8f023185135b374346cad6c16591
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Wed Jan 14 23:56:01 2009 +0000

    Clean up some duplicate code to use inheritance properly.
    Several bugs were not fixed in both CircuitHandler and
    StreamHandler after being fixed in PathBuilder..
    
    Also add refcounting to router descriptors so we can wait
    till all current established circuits are destroyed before
    removing the descriptor from our lists.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18108 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8484fe4356e608fd3264fa7109c8f6fb5f8c9d56
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 12 05:34:32 2009 +0000

    Taking my advice :)
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18086 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit b1662db73ae63e3ffe0d33f0a6ad1482038b5e67
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 12 05:29:26 2009 +0000

    Doh. Used the wrong variable.. Should have ran pychecker.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18085 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit a4f7b79bfa5a1dec421b5dec99d253503a25ac38
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jan 11 01:35:19 2009 +0000

    Remove routers that no longer have the running flag from our
    router lists.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18069 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 54b31d929cb8a89ba83fa73f0fd0357576405879
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 10 05:18:21 2009 +0000

    Fix bugs with slicing up just guards into percentiles.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18057 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 08b7f519d097805f1673ec26a568a1660297961d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jan 10 03:20:42 2009 +0000

    More optimizations: move yet more processing out of the
    circuit construction codepath.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18055 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 40ddf0a4818be8e3d48715a7e7ed45be51a30b24
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 9 23:14:44 2009 +0000

    Fix exception on removing unattached, pending streams from
    discarded circuits.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18054 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit db81969962cfe6409741355d3a55adad65008aac
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 9 22:15:33 2009 +0000

    Factor out the expensive part of BwWeightedGenerator's
    rewind() call into a rebuild call that only gets called
    when our view of the network changes or when restrictions
    change.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18052 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit a93fe8ca2c5907572b07ee6f4d86abe6f551f112
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Fri Jan 9 13:22:44 2009 +0000

    Minor performance tweaks + notes for later optimization.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@18042 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 09d770599014a94e9b9961e6f54e4d4f1ac21847
Author: Roger Dingledine <arma@torproject.org>
Date:   Tue Jan 6 03:55:45 2009 +0000

    contribute to torctl
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17943 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 90ab334774de9e245d220fa4af3f9498666c7a7d
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jan 6 00:46:21 2009 +0000

    Woops. Needed to take the min of bandwidthrate and
    bandwidthcapacity. We were just using capacity.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17941 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit f91835d9914293317873033a89a27f836f3def16
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jan 6 00:11:43 2009 +0000

    Fix issues with Connection.close() never actually killing the
    controlling thread.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17939 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 4919900dbbb64c89d33cdd7a0e4c8732607c6148
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 5 22:41:12 2009 +0000

    Add global succeeded counter.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17928 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit ae2eea9f56aa275f715019aee33eee5856989f11
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jan 5 13:54:47 2009 +0000

    Handle parsing of circuit purpose lines.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17910 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 7231b3ae4f1295be6aba0490cfa4b08454468af8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jan 4 17:56:40 2009 +0000

    Fix bug with circuits not being counted if they are still open when we finish
    a speedrace run.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17880 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 967eb8b2e494848280aac76382d01d95d54745a9
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sun Jan 4 15:27:25 2009 +0000

    Add control port password 'setting' to TorUtil.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@17877 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 4b763ab6ae8784d9f66a654e970b49853ea92450
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Aug 5 04:33:22 2008 +0000

    Fix infinite loop on poor exit choices.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16414 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 9e7027069392c36cc8525cb1528905b92ef9eda4
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Aug 4 10:27:05 2008 +0000

    Add some pydoc to __init__.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16379 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit b441d47558a3197f48cbfbf294e30b174fec0f75
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Aug 2 02:26:42 2008 +0000

    Son of a.. sometimes DNS requests can have an extra space
    before the PURPOSE.. This is definitely a Tor control port
    bug, but we should be compatible.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16353 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit eb10d25675a70cbaa7f6ba2a2f87b1b27842c3d8
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Aug 2 01:55:57 2008 +0000

    Woops, can't very well ask Dan to run broken code. Fix
    weirdness with DNS resolution stream events that probably
    showed up in 0.2.0.x.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16352 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 6a033fe2a79943078e46e9caa046492ecc64f93c
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Thu Jul 24 13:23:24 2008 +0000

    Add a couple of comments about using __metaclass__ for more
    flexible class construction.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@16177 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 8d5da44036aa2a75aff295420f713b06c3ea913a
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Sat Jul 12 18:02:28 2008 +0000

    Add descriptor patch from Goodell.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@15856 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 0081a8476aab172a770ad8831c950e5f9ca5aa7e
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Tue Jul 8 05:07:19 2008 +0000

    Document new TorCtl package, update example, remove old
    files.
    
    
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@15746 55e972cd-5a19-0410-ae62-a4d7a52db4cd

commit 383d499d464e0e2abfefc3b274e08c0df731a4b0
Author: mikeperry <mikeperry-git@fscked.org>
Date:   Mon Jul 7 18:31:19 2008 +0000

    Copy TorFlow's TorCtl into the TorCtl repository. Lets hope this preserves history.
    
    git-svn-id: https://svn.torproject.org/svn/torctl/trunk/python/TorCtl@15736 55e972cd-5a19-0410-ae62-a4d7a52db4cd
