features/loggi…
Commits on Dec 22, 2018
Commits on Mar 21, 2018
-
Exit immediately after SIGTERM even if no handlers are running.
The loop logic assumed that there was at least one handler running when a signal was received; if there were none, it would wait forever for a handler event to happen. Cf. https://bugs.torproject.org/24875
David Fifield committedMar 21, 2018 -
Add TOR_PT_EXIT_ON_STDIN_CLOSE to dummy example programs.
David Fifield committedMar 21, 2018
Commits on Jun 26, 2017
-
David Fifield committed
Jun 26, 2017 -
David Fifield committed
Jun 26, 2017 -
Add a test for TestKeywordIsSafe with unsafe in first position.
David Fifield committedJun 26, 2017
Commits on Jun 20, 2017
-
Bring spec quotations up to date.
pt-spec.txt 0ef45b97b1a935489335fc31d625c463b076c1e3 196-transport-control-ports.txt f59e8f5b2819842fe6cb5b162a9226a4f1891b4d
David Fifield committedJun 20, 2017 -
David Fifield committed
Jun 20, 2017 -
Use bugs.torproject.org permalinks for tickets.
David Fifield committedJun 20, 2017 -
Remove trailing dots from URLs.
David Fifield committedJun 20, 2017 -
Add tests for multiple and trailing '=' in client/server args.
David Fifield committedJun 20, 2017
Commits on Mar 31, 2017
-
Fix a ProxyError usage example.
David Fifield committedMar 31, 2017 -
It would always panic with a the message keyword "PROXY-ERROR %s\n" contains forbidden bytes
David Fifield committedMar 31, 2017 -
Add tests for error functions.
The ProxyError test currently panics because of a bug in ProxyError. --- FAIL: TestErrors (0.00s) panic: keyword "PROXY-ERROR %s\n" contains forbidden bytes [recovered] panic: keyword "PROXY-ERROR %s\n" contains forbidden bytesDavid Fifield committedMar 31, 2017
Commits on Jan 19, 2017
-
Bug 21261: forbid duplicate method names in TOR_PT_SERVER_BINDADDR.
David Fifield committedJan 19, 2017
Commits on Sep 26, 2016
-
pt-spec no longer mentions SIGINT.
David Fifield committedSep 26, 2016
Commits on May 2, 2016
-
Merge remote-tracking branch 'yawning/bug12535_v2'
David Fifield committedMay 2, 2016
Commits on Mar 14, 2016
-
Link prop. 232 in README (was already linked in pt.go).
David Fifield committedMar 14, 2016 -
Use spec.torproject.org permalinks where possible.
David Fifield committedMar 14, 2016
Commits on Dec 14, 2015
-
Give a more specific error when TOR_PT_AUTH_COOKIE_FILE is missing.
Before, if you set TOR_PT_EXTENDED_SERVER_PORT but not TOR_PT_AUTH_COOKIE_FILE, you would get the misleading error message: ENV-ERROR need TOR_PT_ORPORT or TOR_PT_EXTENDED_SERVER_PORT environment variable Now you get: ENV-ERROR need TOR_PT_AUTH_COOKIE_FILE environment variable with TOR_PT_EXTENDED_SERVER_PORT
David Fifield committedDec 14, 2015
Commits on Aug 5, 2015
-
Add a test for non-interpretation of escapes in transport lists.
David Fifield committedAug 5, 2015
Commits on Jun 28, 2015
-
Remove everything having to do with the "*" transport specification.
It was never implemented and is no longer part of the specification: https://trac.torproject.org/projects/tor/ticket/15612 The arguments to ClientSetup and ServerSetup that were solely to handle "*" are now documented as unused.
David Fifield committedJun 28, 2015 -
David Fifield committed
Jun 28, 2015 -
Don't report errors that are not caused by Accept in AcceptSocks.
This means that anything that is not a net.Error, or is a net.Error but is not Temporary, should be considered to be a permanent error by the caller. Sample code now shows the new error-checking convention. Previously, we used the convention that a non-net.Error should be considered temporary, because it could have been caused by a failed SOCKS negotiation, for example. Now those errors are simply not returned to the caller. See https://trac.torproject.org/projects/tor/ticket/14135. In summary, previous behavior is this: net.Error, Temporary: caller should try again net.Error, non-Temporary: caller should quit other errors: caller should try again It is now this: net.Error, Temporary: caller should try again net.Error, non-Temporary: caller should quit other errors: caller should quit But now the "other errors" such as those caused by a bad SOCKS negotiation will not be reported by AcceptSocks. The practical effect of this change is almost nil; even if callers don't update their error-checking code, the only change is in the "other errors" that don't arise in normal use.
David Fifield committedJun 28, 2015
Commits on Jun 24, 2015
-
https://trac.torproject.org/projects/tor/ticket/12125 Adds two new functions: ProxyError ProxyDone and one new member to ClientInfo: ProxyURL *url.URL
David Fifield committedJun 24, 2015 -
Actually relays need DirPort if you treat them as a bridge.
At least until #12538 is done.
David Fifield committedJun 24, 2015 -
Don't need to export this variable.
David Fifield committedJun 24, 2015 -
Add tests for net.Error temporary error handling in AcceptSocks.
See https://trac.torproject.org/projects/tor/ticket/14135. We're going to make the recommended way to check for an error from AcceptSocks match the way in the golang standard library: if e, ok := err.(net.Error); ok && e.Temporary() { continue } else { break } The new tests check that 1) AcceptSocks faithfully represents an underlying Accept error with respect to its net.Error-ness and its Temporary-ness, and 2) errors that happen post-Accept in AcceptSocks are either silently swallowed or else reported as a Temporary net.Error. The test fails at the moment: "socks_test.go:267: AcceptSocks returned non-net.Error: unexpected EOF".
David Fifield committedJun 24, 2015 -
Close the Conn in case of error in AcceptSocks.
David Fifield committedJun 24, 2015
Commits on Apr 3, 2015
-
Replace the SOCKS4a listener with a SOCKS5 listener.
The change is designed to be transparent to calling code and implements enough of RFC1928/RFC1929 such that pluggable transports can be written. Notable incompatibilities/limitations: * GSSAPI authentication is not supported. * BND.ADDR/BND.PORT in responses is always "0.0.0.0:0" instead of the bound address/port of the outgoing socket. * RFC1929 Username/Password authentication is setup exclusively for pluggable transport arguments. * The BIND and UDP ASSOCIATE commands are not supported.
Commits on Mar 12, 2015
-
Read the ExtORPort cookie on every call to DialOr.
This works around tor bug #15240, where the ExtORPort cookie is generated after the pluggable transports are launched, leading to a race condition and DialOr failures. 'ServerInfo.AuthCookie' is deprecated by this change, replaced by 'ServerInfo.AuthCookiePath', however nothing external to goptlib should be using either value in most situations.