<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/atagar/pytorctl, branch bug3409</title>
<subtitle>Damian's PythonTorCtl repository</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/'/>
<entry>
<title>Closing connection in case of auth failure</title>
<updated>2011-06-17T01:15:05+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-17T01:15:05+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=40f7cbc50d460d8e3e11669827108bfb912ab3bf'/>
<id>40f7cbc50d460d8e3e11669827108bfb912ab3bf</id>
<content type='text'>
When authentication failed in TorCtl.connect() the abandoned connection wasn't
being closed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When authentication failed in TorCtl.connect() the abandoned connection wasn't
being closed.
</pre>
</div>
</content>
</entry>
<entry>
<title>TorCtl connect method inflexible</title>
<updated>2011-06-16T14:50:58+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-16T14:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=565e18a6ff6189dd11d8a43ca77eed287743b479'/>
<id>565e18a6ff6189dd11d8a43ca77eed287743b479</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Option to get get_network_status as an iterator</title>
<updated>2011-06-16T02:27:12+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-16T02:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=45d7753b7c947b141210017d1b987673c51d97c5'/>
<id>45d7753b7c947b141210017d1b987673c51d97c5</id>
<content type='text'>
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. :(
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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. :(
</pre>
</div>
</content>
</entry>
<entry>
<title>Handling for connections to non-control sockets</title>
<updated>2011-06-13T16:50:13+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-13T16:50:13+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=e76418e507319887626b9d3921bdc0ac44b28e76'/>
<id>e76418e507319887626b9d3921bdc0ac44b28e76</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unblocking waits for a response when we error</title>
<updated>2011-06-13T16:30:42+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-13T16:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=9de33409bb240d8fe50e135dfb895536dc6a45bd'/>
<id>9de33409bb240d8fe50e135dfb895536dc6a45bd</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replacing old TorCtl example with a BW listener</title>
<updated>2011-06-13T05:02:14+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-13T05:02:14+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=257fedbbe7b4e8f066ba570773bb2f2afbca6dc4'/>
<id>257fedbbe7b4e8f066ba570773bb2f2afbca6dc4</id>
<content type='text'>
Event listening, particularly BW events, is a common request on irc so using it
as the TorCtl example. For more information see bug 2065.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Event listening, particularly BW events, is a common request on irc so using it
as the TorCtl example. For more information see bug 2065.
</pre>
</div>
</content>
</entry>
<entry>
<title>Shutting down sockets when closed</title>
<updated>2011-06-13T04:41:09+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-13T04:41:09+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=477c1bcde44e92243bf061f565d9403fa8e31276'/>
<id>477c1bcde44e92243bf061f565d9403fa8e31276</id>
<content type='text'>
Each TorCtl instance spawned a socket that would continue to live for the life
of the python process. For more information see ticket 2812.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Each TorCtl instance spawned a socket that would continue to live for the life
of the python process. For more information see ticket 2812.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removing indefinite blocking on socket recv</title>
<updated>2011-06-13T03:40:49+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2011-06-13T03:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=4824d623487e0d305029ea46326eba94b4e4b738'/>
<id>4824d623487e0d305029ea46326eba94b4e4b738</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some issues with SmartSocket.</title>
<updated>2011-03-08T02:10:41+00:00</updated>
<author>
<name>Mike Perry</name>
<email>mikeperry-git@fscked.org</email>
</author>
<published>2011-03-08T02:10:41+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=b99ecc1de55cdefbcd803e267d2635534ff9e511'/>
<id>b99ecc1de55cdefbcd803e267d2635534ff9e511</id>
<content type='text'>
Also remove some traceback debugging statements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also remove some traceback debugging statements.
</pre>
</div>
</content>
</entry>
<entry>
<title>Try to catch an AttributeError early..</title>
<updated>2011-03-03T09:38:15+00:00</updated>
<author>
<name>Mike Perry</name>
<email>mikeperry-git@fscked.org</email>
</author>
<published>2011-03-03T09:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/pytorctl.git/commit/?id=6eeffeb4f20aefb2f859a9f5754c34342abc307e'/>
<id>6eeffeb4f20aefb2f859a9f5754c34342abc307e</id>
<content type='text'>
It may be silently killing the bwauths on some platforms..
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It may be silently killing the bwauths on some platforms..
</pre>
</div>
</content>
</entry>
</feed>
