summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add support for using py-uniformdh (https://github.com/Yawning/py-uniformdh)py-uniformdhYawning Angel2014-03-10
|
* Slightly edit scramblesuit unittests so that they run in obfsproxy.George Kadianakis2014-03-02
|
* Import Philipp's scramblesuit unittests.George Kadianakis2014-03-02
|
* Add a __init__.py in the transport-specific unittest directory.George Kadianakis2014-03-02
|
* Merge branch 'yawning_gmpy2'George Kadianakis2014-03-02
|\ | | | | | | | | Conflicts: ChangeLog
| * Also support gmpy2 for doing modular exponentiation.Yawning Angel2014-02-24
| | | | | | | | 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.".
* | Use twisted.internet.threads.deferToThread in the obfs3 handshake.Yawning Angel2014-02-28
|/ | | | | | | | | | | | | | | | | | 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.
* Improve the error message if we can't set up a listener.George Kadianakis2014-02-13
|
* Do the release ritual for obfsproxy-0.2.6.obfsproxy-0.2.6George Kadianakis2014-02-03
|
* Remove gmpy from the requirements of setup.py.George Kadianakis2014-02-03
|
* Do the release ritual for obfsproxy-0.2.5.obfsproxy-0.2.5George Kadianakis2014-02-03
|
* Update ChangeLog with ScrambleSuit.Philipp Winter2014-02-04
|
* Add an integration test for ScrambleSuit.Philipp Winter2014-02-04
|
* Add "pyyaml" because it is used by ScrambleSuit.Philipp Winter2014-02-04
|
* Add ScrambleSuit's ChangeLog and specification.Philipp Winter2014-02-04
|
* Import the ScrambleSuit transport protocol.Philipp Winter2014-02-04
| | | | | | | | ScrambleSuit implements a superset of the obfs3 protocol. Its original repository is available here: <https://gitweb.torproject.org/user/phw/scramblesuit.git> The project web site is available here: <http://www.cs.kau.se/philwint/scramblesuit/>
* Don't pass TransportConfig to the transport __init__().George Kadianakis2014-01-29
| | | | | Passing it to setup() is enough. Transports that need it on __init__() can keep it on their state.
* Add some more flags to TransportConfig.George Kadianakis2014-01-29
| | | | | | | Specifically a flag to tell us whether we are in external/managed mode, and a flag to tell us whether we are client or server. These will be useful so that transports can configure themselves during setup().
* Remove the PITS code.George Kadianakis2014-01-20
| | | | | | | | The code was not functioning properly and I don't even remember how it worked anymore. I will leave the spec file around in case a poor soul encounters it and decides to build it properly.
* Trivial doc tweaks and ChangeLog entries for #10342.George Kadianakis2013-12-12
|
* Fix bug when calling the __init__ of the base transport.George Kadianakis2013-12-12
|
* rename handshake to circuitConnected, since it is just a callback and you ↵Ximin Luo2013-12-11
| | | | don't *need* to do any sort of handshake
* fix #10342: make circuit an attribute of transport, rather than passing it ↵Ximin Luo2013-12-11
| | | | | | in as method params - also rm redundant "pass" statements, python doesn't need it if you have a docstring
* Another trivial ChangeLog edit.George Kadianakis2013-11-28
|
* Trivial edits and ChangeLog entry for #10243.George Kadianakis2013-11-28
|
* Add code examples to get_public_options doc strDavid Stainton2013-11-28
| | | | | Further document BaseTransport's get_public_options using a simple example torrc and code sample.
* Clean up code to filter server transport optionsDavid Stainton2013-11-28
|
* Add get_public_options method to BaseTransportDavid Stainton2013-11-28
| | | | | | | If the transport server wishes to prevent some server transport options from being added to the BridgeDB then the transport may override this method and return a transport_options dict with the keys to be distributed.
* Only use gmpy if it is installed.Philipp Winter2013-11-28
| | | | | If the library is not installed, the built-in (and slower) modular exponentiation is used.
* Fix a bug and add some docs on the setup() method.George Kadianakis2013-11-13
| | | | | | pt_configs are per-transport (since on the server-side they contain transport-specific parameters), so we should initialize one for each transport.
* Merge remote-tracking branch 'remotes/david/david-transport-setup'George Kadianakis2013-11-13
|\
| * Obfs2 uses setup classmethod to save shared secretDavid Stainton2013-11-11
| |
| * Call transport setup at obfsproxy startDavid Stainton2013-11-11
| | | | | | | | | | Pluggable Transports can use the setup class method to receive Pluggable Transport config and save data to class attributes.
* | Add some more dependencies to doc/HOWTO.txt.George Kadianakis2013-11-13
|/ | | | We recently added a dependency on libgmp-dev...
* Add some trivialities related to the #10031 patch.George Kadianakis2013-10-27
|
* Use 'powMod()' instead of the built-in 'pow()'.Philipp Winter2013-10-26
| | | | | 'powMod()' is faster than 'pow()' and will both make UniformDH computationally less expensive and create less of a timing signature.
* Add function for fast modular exponentiation.Philipp Winter2013-10-26
| | | | The function uses GMPY's bignum arithmetic which speeds up the calculation.
* Do the release ritual for obfsproxy-0.2.4.obfsproxy-0.2.4George Kadianakis2013-09-30
|
* Pass server-side transport parameters to transports.George Kadianakis2013-09-27
|
* Add ChangeLog entry for #9815.George Kadianakis2013-09-26
| | | | (And specify the name of an optional argument in a function call.)
* Update the constructors of all existing four transports to expect aPhilipp Winter2013-09-26
| | | | | `transport_config' variable which is an instance of the new `TransportConfig' class.
* Use the new `TransportConfig' class to store the state location and pass it thePhilipp Winter2013-09-26
| | | | `TransportConfig' object into the pluggable transport's constructor.
* Add a `TransportConfig' class which should contain configuration options (suchPhilipp Winter2013-09-26
| | | | as the state location) meant for pluggable transport modules.
* Don't log raw network data since it bloats up log files and messes withPhilipp Winter2013-09-23
| | | | terminals.
* Do the release ritual for obfsproxy-0.2.3.obfsproxy-0.2.3George Kadianakis2013-09-10
|
* Add a ChangeLog entry for the pyptlib API update.George Kadianakis2013-09-10
|
* Merge remote-tracking branch 'ximin/pyptlib-api'root2013-09-10
|\
| * update to new pyptlib APIXimin Luo2013-09-10
| |
| * use new APIXimin Luo2013-08-14
| |
* | Pass name of pluggable transport to Extended ORPort.George Kadianakis2013-09-10
| |