Cecylia Bocovich
e9b218a65c
Clean up .gitignore
2020-04-22 11:11:23 -04:00
Cecylia Bocovich
20180dcb04
Rename proxy-go/ directory to proxy/
...
Now that the web proxies are in a different repository, no need to
distinguish the two.
2020-04-22 11:11:16 -04:00
Cecylia Bocovich
3ff04c3c65
Update .travis.yml for proxy/ code removal
2020-04-22 11:07:57 -04:00
Cecylia Bocovich
da01bf2323
Remove web proxy instructions from README.md
2020-04-22 11:07:53 -04:00
Cecylia Bocovich
51b0b7ed2e
Remove proxy/ subdirectory
...
We're moving all web proxy code to a different repsitory.
2020-04-16 10:01:18 -04:00
Cecylia Bocovich
6f89fc14f6
Remove proxy/translation submodule
...
We're moving all web proxy code to another repository.
2020-04-16 10:01:18 -04:00
David Fifield
8eef3b6348
Remove uniuri dependency.
...
https://bugs.torproject.org/33800
2020-04-03 17:52:44 -06:00
David Fifield
237fed1151
Update GitHub issue numbers to Trac ticket numbers.
2020-04-02 12:36:09 -06:00
Cecylia Bocovich
ea01bf41c3
Change dummy address for snowflake
...
This will prevent a bug where tor skips bandwidth events for local
addresses (see https://bugs.torproject.org/33693 )
2020-04-01 12:55:37 -04:00
Arlo Breault
1867f89562
Remove local LAN address ICE candidates in proxy-go answer
...
Trac: 19026
2020-03-26 14:04:29 -04:00
Arlo Breault
670e4ba438
Move StripLocalAddresses to a common util
...
Trac: 19026
2020-03-26 13:13:15 -04:00
Arlo Breault
5fa7578655
Rename logToStateDir/keepLocalAddresses to kebab case
...
https://en.wikipedia.org/wiki/Letter_case#Special_case_styles
2020-03-25 11:53:24 -04:00
Arlo Breault
f58c865d82
Add unsafe logging
2020-03-25 11:53:24 -04:00
Cecylia Bocovich
e521a7217a
Update license
2020-03-19 15:40:11 -04:00
Arlo Breault
d10af300c1
Refactor (De)SerializeSessionDescription as common utils
2020-03-17 20:16:58 -04:00
Cecylia Bocovich
c11461d339
Update go.mod and go.sum
2020-03-17 14:22:20 -04:00
Cecylia Bocovich
6054c09949
Remove the abandoned server-webrtc test code
...
This existed solely for testing purposes and is no longer being
maintained.
2020-03-17 14:16:57 -04:00
Cecylia Bocovich
58b52eb9f7
Remove go get commands from travis.yml
...
We no longer need standalone get commands now that we are using go
modules.
2020-03-05 09:21:17 -05:00
Cecylia Bocovich
920f6791f3
Add a go.mod and go.sum for snowflake
2020-03-05 09:21:17 -05:00
Cecylia Bocovich
03315dde02
bump version to 0.2.2
2020-03-04 16:20:34 -05:00
David Fifield
125e71fa6e
Remove the now-unused appengine directory.
...
https://bugs.torproject.org/33429
2020-02-29 17:29:28 -07:00
Cecylia Bocovich
2e9e807178
Remove unecessary log messages
...
Ever since we started scrubbing log messages, with the help of regexes
for https://bugs.torproject.org/21304 logging has become more CPU
intensive due to our use of regular expressions.
Logging the byte count of every incoming and outgoing message at the
proxy-go instances was taking up a lot of CPU and contrubuting to the
high CPU usage seen in https://bugs.torproject.org/33211 .
2020-02-25 18:08:34 -05:00
David Fifield
c2a12c25d1
Update appengine for the Go 1.11 runtime.
...
https://cloud.google.com/appengine/docs/standard/go111/go-differences
This is untested, because I wasn't actually able to deploy without
enabling Cloud Build and setting up a billing account.
2020-02-24 00:15:54 -07:00
David Fifield
c124e8c643
In server, treat a client IP address of 0.0.0.0 as missing.
...
Some proxies currently send ?client_ip=0.0.0.0 because of an error in
how they attempt to grep the address from the client's SDP. That's
inflating our "%d/%d connections had client_ip" logs. Instead, treat
these cases as if the IP address were absent.
https://bugs.torproject.org/33157
https://bugs.torproject.org/33385
2020-02-22 16:13:17 -07:00
David Fifield
380b133155
Close internal Pipes in websocketconn.Conn Close.
...
Unless something externally called Write after Close, the
writeLoop(ws, pr2) goroutine would run forever, because nothing would
ever close pw2/pr2.
https://bugs.torproject.org/33367#comment:4
2020-02-18 14:10:47 -07:00
Arlo Breault
1220853a67
Restructure a bit based on review
2020-02-08 10:13:40 -05:00
Arlo Breault
846473b354
Unmarshal the SDP to filter attributes
...
Instead of string manipulation.
2020-02-08 10:13:40 -05:00
Arlo Breault
0fae4ee8ea
Remove local LAN address ICE candidates
...
Unfortunately, the "public" RTCIceTransportPolicy was removed.
https://developer.mozilla.org/en-US/docs/Web/API/RTCConfiguration#RTCIceTransportPolicy_enum
Trac: 19026
2020-02-08 10:13:40 -05:00
Arlo Breault
28cf70bb44
Remove unreachable code
...
go vet was complaining,
common/websocketconn/websocketconn.go:56:2: unreachable code
2020-02-08 10:12:43 -05:00
David Fifield
ca9ae12c38
Simplify a conditional.
2020-02-04 22:35:12 -07:00
David Fifield
256959ca65
Implement net.Conn for websocketconn.Conn.
...
We had already implemented Read, Write, and Close. Pass RemoteAddr,
LocalAddr, SetReadDeadline, and SetWriteDeadline through to the
underlying *websocket.Conn. Implement SetDeadline by calling both
SetReadDeadline and SetWriteDeadline.
https://bugs.torproject.org/33144
2020-02-04 15:53:15 -07:00
David Fifield
01e28aa460
Rewrite websocketconn with synchronous pipes.
...
Makes the following changes:
* permits concurrent Read/Write/Close
* converts certain CloseErrors into io.EOF
https://bugs.torproject.org/33144
2020-02-04 15:53:15 -07:00
David Fifield
5708a1d57b
websocketconn tests.
...
https://bugs.torproject.org/33144
2020-02-04 15:53:15 -07:00
Cecylia Bocovich
310890aa14
bump version to 0.2.1
2020-02-03 09:49:34 -05:00
David Fifield
564d1c8363
Remove unused maxMessageSize constant.
2020-01-31 00:15:11 -07:00
David Fifield
a2292ce35b
Make timeout constants into time.Duration values.
...
This slightly changes some log messages.
2020-01-31 00:08:50 -07:00
David Fifield
dfb83c6606
Allow handling multiple SOCKS connections simultaneously.
...
Close the SOCKS connection in the same function that opens it.
2020-01-30 10:18:23 -07:00
David Fifield
20ac2029fd
Have websocketconn.New return a pointer.
...
This makes the return type satisfy the io.ReadWriteCloser interface
directly.
2020-01-30 10:18:23 -07:00
David Fifield
e47dd5e2b4
Remove some redundancy in websocketconn naming.
...
Rename websocketconn.WebSocketConn to websocketconn.Conn, and
websocketconn.NewWebSocketConn to websocketconn.New
Following the guidelines at
https://blog.golang.org/package-names#TOC_3%2e
2020-01-30 10:18:23 -07:00
David Fifield
5b01df9030
Initialize the global upgrader.CheckOrigin statically.
...
Only once, not again on every call to initServer.
2020-01-30 10:18:23 -07:00
David Fifield
a4287095c0
Also show message in the "error copying WebSocket to ORPort" case.
...
This was the only case out of the three not to show it.
2020-01-30 10:17:15 -07:00
Cecylia Bocovich
50673d4943
Remove client test with nil broker
...
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.
2020-01-29 11:40:29 -05:00
Cecylia Bocovich
7682986a45
Update client tests for NewBrokerChannel errors
...
We changed NewBrokerChannel to return an error value on failure. This
updates the tests to check that value.
2020-01-29 11:27:44 -05:00
David Fifield
57d4b0b5bd
Use lowercase variable names in copyLoop.
2020-01-28 03:04:33 -07:00
David Fifield
bc5498cb4b
Fix the order of arguments of client copyLoop to match the call.
...
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.
2020-01-28 03:04:14 -07:00
David Fifield
db1ba4791b
Simplify NewWebRTCDialer.
2020-01-27 20:53:27 -07:00
David Fifield
2fb52c8639
Check for an invalid broker URL at a higher level.
...
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
2020-01-27 20:50:26 -07:00
David Fifield
f1ab65b1c0
Close the melt channel, don't just send once on it.
...
Closing the channel makes it always immediately selectable.
2020-01-23 11:24:00 -07:00
David Fifield
febb4936f6
Refactor SOCKS-related logging.
2020-01-23 11:24:00 -07:00
David Fifield
aa3999857f
Move ICE server logging out of parseIceServers.
2020-01-23 11:24:00 -07:00