<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/yawning/obfsproxy, branch py-uniformdh</title>
<subtitle>Yawning's Python pluggable transport proxy repository</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/'/>
<entry>
<title>Add support for using py-uniformdh (https://github.com/Yawning/py-uniformdh)</title>
<updated>2014-03-10T04:44:14+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@schwanenlied.me</email>
</author>
<published>2014-03-10T04:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=f079a06d94d2b58e694b5e70fae9e343eb062719'/>
<id>f079a06d94d2b58e694b5e70fae9e343eb062719</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Slightly edit scramblesuit unittests so that they run in obfsproxy.</title>
<updated>2014-03-02T14:49:50+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-03-02T14:49:50+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=090252c77fc5255dba15c5a0da9a6aa668bec481'/>
<id>090252c77fc5255dba15c5a0da9a6aa668bec481</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Import Philipp's scramblesuit unittests.</title>
<updated>2014-03-02T14:44:57+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-03-02T14:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=e4913faf8af5888b9d0834abd5032d7393599d69'/>
<id>e4913faf8af5888b9d0834abd5032d7393599d69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a __init__.py in the transport-specific unittest directory.</title>
<updated>2014-03-02T14:44:35+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-03-02T14:44:35+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=866cc6c5b7868c08ccce05366e30a96c1653de02'/>
<id>866cc6c5b7868c08ccce05366e30a96c1653de02</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'yawning_gmpy2'</title>
<updated>2014-03-02T12:35:54+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-03-02T12:35:54+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=04915adf73596773a67ed295464914b34b4abd9f'/>
<id>04915adf73596773a67ed295464914b34b4abd9f</id>
<content type='text'>
Conflicts:
	ChangeLog
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	ChangeLog
</pre>
</div>
</content>
</entry>
<entry>
<title>Use twisted.internet.threads.deferToThread in the obfs3 handshake.</title>
<updated>2014-02-28T17:49:24+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@schwanenlied.me</email>
</author>
<published>2014-02-23T03:02:20+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=5e33045abddcc2e825cee2af3691647b33199112'/>
<id>5e33045abddcc2e825cee2af3691647b33199112</id>
<content type='text'>
This cuts the amount of time that is spent doing UniformDH related work in the
context of the main event loop in half.  It is impossible to eliminate it
entirely as the client and server both send the public keys immediately on
connection when doing an obfs3 handshake.

Notable changes:
 * self.dh.get_secret() is processed in a Twisted worker thread.
 * Another state is added as part of the handshake process for when the thread
   is running.
 * At each step of the handshake process, if there is data remaining unprocessed
   the next stage is direcly invoked at the tail of each routine.
   * After the handshake is done, if data is pending, self._scan_for_magic()
     is called.
   * After the magic is found, if data is pending, we relay the remaining data
     immediately.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This cuts the amount of time that is spent doing UniformDH related work in the
context of the main event loop in half.  It is impossible to eliminate it
entirely as the client and server both send the public keys immediately on
connection when doing an obfs3 handshake.

Notable changes:
 * self.dh.get_secret() is processed in a Twisted worker thread.
 * Another state is added as part of the handshake process for when the thread
   is running.
 * At each step of the handshake process, if there is data remaining unprocessed
   the next stage is direcly invoked at the tail of each routine.
   * After the handshake is done, if data is pending, self._scan_for_magic()
     is called.
   * After the magic is found, if data is pending, we relay the remaining data
     immediately.
</pre>
</div>
</content>
</entry>
<entry>
<title>Also support gmpy2 for doing modular exponentiation.</title>
<updated>2014-02-24T13:35:23+00:00</updated>
<author>
<name>Yawning Angel</name>
<email>yawning@schwanenlied.me</email>
</author>
<published>2014-02-23T01:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=851560fa63afdca53cb300abc42b90fb01619f67'/>
<id>851560fa63afdca53cb300abc42b90fb01619f67</id>
<content type='text'>
There is no performance difference between gmpy1 and gmpy2 for obfsproxy, but according to the gmpy authors "gmpy2 is now the recommended version, especially if you use the pre-compiled versions for Windows.".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is no performance difference between gmpy1 and gmpy2 for obfsproxy, but according to the gmpy authors "gmpy2 is now the recommended version, especially if you use the pre-compiled versions for Windows.".
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve the error message if we can't set up a listener.</title>
<updated>2014-02-13T18:01:02+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-02-13T18:01:02+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=2e88b52b11edf850c6f7989a0aed39fa20137c14'/>
<id>2e88b52b11edf850c6f7989a0aed39fa20137c14</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do the release ritual for obfsproxy-0.2.6.</title>
<updated>2014-02-03T23:59:00+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-02-03T23:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=a3b43d475c4172355e787de1d6761d6d1fc2cae6'/>
<id>a3b43d475c4172355e787de1d6761d6d1fc2cae6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove gmpy from the requirements of setup.py.</title>
<updated>2014-02-03T23:58:17+00:00</updated>
<author>
<name>George Kadianakis</name>
<email>desnacked@riseup.net</email>
</author>
<published>2014-02-03T23:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/yawning/obfsproxy.git/commit/?id=47776272e3d22271a5bab18088beefc78d5005c4'/>
<id>47776272e3d22271a5bab18088beefc78d5005c4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
