summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Remove client test with nil brokerCecylia Bocovich2020-01-29
| | | | | | We are no longer checking for nil BrokerChannels in Catch because this case is caught from the return values of NewBrokerChannel. This change caused a no longer necessary unit test to hang.
* Update client tests for NewBrokerChannel errorsCecylia Bocovich2020-01-29
| | | | | We changed NewBrokerChannel to return an error value on failure. This updates the tests to check that value.
* Use lowercase variable names in copyLoop.David Fifield2020-01-28
|
* Fix the order of arguments of client copyLoop to match the call.David Fifield2020-01-28
| | | | | | | | | | The call was copyLoop(socks, snowflake) but the function signature was func copyLoop(WebRTC, SOCKS io.ReadWriter) { The mistake was mostly harmless, because both arguments were treated the same, except that error logs would have reported the wrong direction.
* Simplify NewWebRTCDialer.bug33040-refactor-2David Fifield2020-01-27
|
* Check for an invalid broker URL at a higher level.David Fifield2020-01-27
| | | | | | | | | Instead of returning nil from NewBrokerChannel and having WebRTCDialer.Catch check for nil, let NewBrokerChannel return an error and bail out before calling WebRTCDialer.Catch. Suggested by cohosh. https://bugs.torproject.org/33040#comment:3
* Close the melt channel, don't just send once on it.David Fifield2020-01-23
| | | | Closing the channel makes it always immediately selectable.
* Refactor SOCKS-related logging.David Fifield2020-01-23
|
* Move ICE server logging out of parseIceServers.David Fifield2020-01-23
|
* NewWebRTCDialer cannot return an error.David Fifield2020-01-23
|
* Formatting improvements.David Fifield2020-01-23
|
* Update a comment: we no longer keep track of handlers.David Fifield2020-01-23
|
* Remove erroneous logging around pt.*Error calls.David Fifield2020-01-20
| | | | | | | | | | | | | | These functions are called for their side effect of sending a PT error message on stdout; they also return a representation of the error message as an error object for the caller to use if it wishes. These functions *always* return a non-nil error object; it is not something to be logged, any more than the return value of errors.New is. The mistaken logging was added in https://bugs.torproject.org/31794 b26c7a7a7330586c3be3ece02c68999bb279ff40 3ec9dd19faa8584dd76ba3b85eb71a03b8ee25c0 ed3d42e1ec3ff852f8c4751eb4cf5e9ed4dd4a68
* proxy/make.js: add help outputJascha2019-12-13
|
* Document setting the proxyType for metricsArlo Breault2019-12-06
| | | | Trac: 32499
* Add a build step / documentation for code reuseArlo Breault2019-12-06
| | | | Trac: 32499
* Increased test coverage for messages libraryCecylia Bocovich2019-12-06
|
* Touched up snowflake client testsCecylia Bocovich2019-12-06
| | | | | | There were a few tests that needed refreshing since the introduction of the pion library. Also added a few tests for the ICE server parsing function in the client.
* Expanded snowflake server testsCecylia Bocovich2019-12-06
| | | | | Now tests the proxy and initServer functionalities. The tests use the same websocket library as the server and proxy-go implementations.
* Added another lock to protect broker statsCecylia Bocovich2019-12-05
| | | | | | Added another lock to the metrics struct to synchronize accesses to the broker stats. There's a possible race condition if stats are updated at the same time they are being logged.
* Add tests to check for data race in brokerCecylia Bocovich2019-12-05
| | | | | | We had some data races in the broker that occur when proxies and clients modify the heap/snowflake map at the same time. This test has a client and proxy access the broker simultaneously to check for data races.
* Add synchronization to prevent race in brokerCecylia Bocovich2019-12-05
| | | | | | | There's a race condition in the broker where both the proxy and the client processes try to pop/remove the same snowflake from the heap. This patch adds synchronization to prevent simultaneous accesses to snowflakes.
* bump version to 0.2.0Cecylia Bocovich2019-12-03
|
* Updated broker specification and commentsCecylia Bocovich2019-11-28
|
* Updated proxyType variable name for readabilityCecylia Bocovich2019-11-28
|
* Add proxy type to stats exported by brokerCecylia Bocovich2019-11-28
|
* Update proxy config to take proxy typeCecylia Bocovich2019-11-28
| | | | | This allows badge and standalone proxies to tell the broker what proxy type they are.
* Update broker--proxy protocol with proxy typeCecylia Bocovich2019-11-28
| | | | | | Proxies now include information about what type they are when they poll for client offers. The broker saves this information along with snowflake ids and outputs it on the /debug page.
* Revert abstracting copyloopArlo Breault2019-11-21
|
* Use gorilla websocket in proxy-go tooArlo Breault2019-11-20
| | | | Trac: 32465
* Remove unnecessary logging at brokerCecylia Bocovich2019-11-13
|
* Clean up proxy-go testsCecylia Bocovich2019-11-13
|
* Test proxy-go interactions with brokerCecylia Bocovich2019-11-13
|
* Use http.RoundTripper for connections to brokerCecylia Bocovich2019-11-13
| | | | This change makes it easier for us to write tests with mock transports
* Created tests for proxy-go utility functionsCecylia Bocovich2019-11-13
|
* Add tests for session descripion functionsCecylia Bocovich2019-11-13
| | | | Also removed some unnecessary code
* Renamed existing test fileCecylia Bocovich2019-11-13
|
* bump version to 0.1.0Cecylia Bocovich2019-11-13
|
* Update travis to use go v1.13.xCecylia Bocovich2019-11-13
|
* Implemented new broker messages for browser proxyCecylia Bocovich2019-11-13
|
* Redo protocol for proxy--broker messagesCecylia Bocovich2019-11-13
| | | | | | | | | | | | Switch to containing all communication between the proxy and the broker in the HTTP response body. This will make things easier if we ever use something other than HTTP communicate between different actors in the snowflake system. Other changes to the protocol are as follows: - requests are accompanied by a version number so the broker can be backwards compatable if desired in the future - all responses are 200 OK unless the request was badly formatted
* Restore sending close message before closingArlo Breault2019-11-11
| | | | And simplify EOF check.
* Stop using custom websocket library in serverArlo Breault2019-11-11
| | | | Trac: 31028
* Changed variable name for multiplexed clientsCecylia Bocovich2019-10-31
| | | | | | | | The variable maxNumClients was unused, while connectionsPerClient was used for spawning multiple proxyPairs. The former is a more appropriate name for the multiplexing behaviour we use it for. Multiplexing now just works thanks to implementing ticket #31310.
* Moved function comments to their definitionsCecylia Bocovich2019-10-31
| | | | | Increase readability of code a bit, the function descriptions were automatically placed in the constructor when we moved from coffeescript.
* Remove "active" property of proxyPairsCecylia Bocovich2019-10-31
| | | | Use their existence in the proxy pair list to indicate they are active.
* Remove property "running" from proxy-pairCecylia Bocovich2019-10-31
| | | | | | We don't need it, and already have a function webrtcIsReady that tells us what we need to know (whether a datachannel was opened before the timeout period).
* Removed "janky" snowflake state machineCecylia Bocovich2019-10-31
| | | | | | | | | The only place it was used was in window.onpageunload, and we have a better way of determining if the proxy is active there (through the ui). I also removed that code from the webextension since the proxy won't stop running unless you close the browser and after testing it looks like that code doesn't notify the user anyway.
* bump version to 0.0.13Cecylia Bocovich2019-10-28
|
* Increase proxy poll interval to 300 s.David Fifield2019-10-28
| | | | https://bugs.torproject.org/32129