Commit Graph

10 Commits

Author SHA1 Message Date
Yawning Angel
efdc692691 obfs4: Clean up and modernize the codebase
While the thought of dealing with this codebase makes me reach for the
Benzodiazepines, I might as well clean this up.
2023-07-23 12:12:56 +09:00
Yawning Angel
a8288437e3 Update my e-mail address (no functional changes) 2019-05-20 04:53:24 +00:00
Yawning Angel
5b4397bff8 Clean up static analysis warnings
Mostly but not entirely discarding error return values of things that
can not possibly fail despite the API returning errors.
2019-01-19 11:42:24 +00:00
Yawning Angel
70d0e90c86 Change the canonical upstream repo location to gitlab
This commit changes the upstream repo location to:
  https://gitlab.com/yawning/obfs4.git

Additionally all the non-`main` sub-packages now have an import
comment annotation.  As a matter of courtesy, I will continue to
push to both the existing github.com and git.torproject.org repos
for the foreseeable future, though I reserve the right to stop
doing so at any time.
2019-01-16 07:36:18 +00:00
Yawning Angel
2cbefcfcd2 Fix other instances of attempting to close nil on handshake failure.
Bug introduced in e52258edac, not in any
released version of obfs4proxy.
2016-01-25 12:16:15 +00:00
Yawning Angel
e52258edac Make establishing outgoing connections the transport's responsibility.
ClientFactories now have a Dial() method instead of a WrapConn()
method, so that it is possible to write something like meek-client
using the obfs4proxy framework.

This breaks the external interface if anyone is using obfs4proxy as
a library, but the new way of doing things is a trivial modification,
to a single routine that shouldn't have been very large to begin with.
2015-10-29 14:09:34 +00:00
Daniel Martí
398b795c87 Simplify some err and return logic 2015-03-22 00:24:44 +01:00
Daniel Martí
19dcb424be Fix all go vet issues 2015-03-16 19:47:37 +01:00
Daniel Martí
08647ec580 Run go fmt 2015-03-16 19:43:02 +01:00
Yawning Angel
339c63f0c8 Massive cleanup/code reorg.
* Changed obfs4proxy to be more like obfsproxy in terms of design,
   including being an easy framework for developing new TCP/IP style
   pluggable transports.
 * Added support for also acting as an obfs2/obfs3 client or bridge
   as a transition measure (and because the code itself is trivial).
 * Massively cleaned up the obfs4 and related code to be easier to
   read, and more idiomatic Go-like in style.
 * To ease deployment, obfs4proxy will now autogenerate the node-id,
   curve25519 keypair, and drbg seed if none are specified, and save
   them to a JSON file in the pt_state directory (Fixes Tor bug #12605).
2014-08-17 17:11:03 +00:00