- Apr 16, 2018
-
-
David Fifield authored
The wiki page in turn links to the post.
-
David Fifield authored
-
David Fifield authored
-
David Fifield authored
-
David Fifield authored
It was already in the root README.md, but proxy/README.md is where I always look for it.
-
David Fifield authored
Was missed in 3fe10f3e.
-
- Mar 22, 2018
-
-
David Fifield authored
https://bugs.torproject.org/25344 5s matches DEFAULT_BROKER_POLL_INTERVAL in the JavaScript proxy. This is set up so as long as the actual HTTPS requests take less time than pollInterval, there will a steady one poll per pollInterval. If the HTTPS requests take longer than that, there will be no delay between polls.
-
- Mar 21, 2018
-
-
David Fifield authored
Ignore SIGINT, honor TOR_PT_EXIT_ON_STDIN_CLOSE.
-
David Fifield authored
Cf. https://bugs.torproject.org/24875
-
David Fifield authored
This actually caused a nil pointer dereference panic when Accept returned an error, because conn was nil.
-
- Mar 20, 2018
-
- Mar 15, 2018
-
-
Arlo Breault authored
Since 19b317e7
-
Arlo Breault authored
-
- Mar 14, 2018
-
-
Arlo Breault authored
Follow up to ff8f3851 Similar to c834c76f
-
https://bugs.torproject.org/21312 Cf. corresponding change for proxy-go: https://gitweb.torproject.org/pluggable-transports/snowflake.git/commit/?id=ff8f3851082e8f7f8b4c8b99b161be35020aeb67
-
Arlo Breault authored
-
David Fifield authored
-
David Fifield authored
This is a port of commit e3f3054f8b74caa639a6d9be09702693af9a70e7 from meek. In the previous commit, we changed from separate Listen and Serve steps to always calling ListenAndServe. However, we would really like to immediately get feedback if any errors happen in the Listen step inside the call, because it's much better for debugging if those errors get reported to tor through SMETHOD-ERROR--rather than reporting success to tor and actually logging an error only in the snowflake log. So we wait 100 ms for an error to occur before deciding that the Listen succeeded. We don't need to apply this hack to the ACME HTTP-01 listener, because it's a plaintext listener. Unlike in the TLS case, there isn't any internal magic that the net library does that we have to rely on. We just call net.ListenTCP and check for an error.
-
David Fifield authored
This is a port of commit cea86c937dc278ba6b2100c238b1d5206bbae2f0 from meek. Its purpose is to remove the need to copy-paste parts of net/http.Server.ListenAndServeTLS. Here is a copy of the commit message from meek: The net/http package provides ListenAndServe and ListenAndServeTLS functions, but it doesn't provide a way to set up a listener without also entering an infinite serve loop. This matters for ListenAndServeTLS, which sets up a lot of magic behind the scenes for TLS and HTTP/2 support. Formerly, we had copy-pasted code from ListenAndServeTLS, but that code has only gotten more complicated in upstream net/http. The price we pay for this is that it's no longer possible for a server bindaddr to ask to listen on port 0 (i.e., a random ephemeral port). That's because we never get a change to find out what the listening address is, before entering the serve loop. What we gain is HTTP/2 support; formerly our copy-pasted code had the side effect of disabling HTTP/2, because it was copied from an older version and did things like config.NextProtos = []string{"http/1.1"} The new code calls http2.ConfigureServer first, but that's not what's providing HTTP/2 support. HTTP/2 support happens by default. The reason we call http2.ConfigureServer is because we need to set TLSConfig.GetCertificate, and http2.ConfigureServer is a convenient way to initialize TLSConfig in a way that is guaranteed to work with HTTP/2.
-
- Mar 13, 2018
-
-
This way works when the base URL lacks a path, e.g. "http://127.0.0.1:8080". https://bugs.torproject.org/25472
-
Arlo Breault authored
-
- Mar 08, 2018
-
-
Arlo Breault authored
-
- Mar 06, 2018
-
-
David Fifield authored
As with commit fcc274ac for the broker, we need to start using the HTTP-01 challenge type in the Snowflake websocket server transport plugin. https://bugs.torproject.org/25346
-
Arlo Breault authored
-
Arlo Breault authored
-
- Mar 05, 2018
-
-
Arlo Breault authored
-
David Fifield authored
-
- Feb 24, 2018
-
-
David Fifield authored
This is needed since the recent removal of the TLS-SNI challenge types. https://community.letsencrypt.org/t/tls-sni-challenges-disabled-for-most-new-issuance/50316 The HTTP-01 challenge type requires an additional listener on port 80.
-
- Oct 20, 2017
-
-
David Fifield authored
fmt.Sprintf("%.g", 86400.4) → "9e+04" fmt.Sprintf("%.f", 86400.4) → "86400"
-
- Oct 19, 2017
-
-
David Fifield authored
The time interval was being reset every time a new connection came in.
-
- Oct 18, 2017
-
-
Arlo Breault authored
-
Arlo Breault authored
"net.IPAddr composite literal uses unkeyed fields"
-
Arlo Breault authored
-
Arlo Breault authored
It also expects to be called with a non-empty string, which isn't the case with this Split which always envokes the loop at least once. If -ice was omitted, an error was logged.
-
David Fifield authored
-
David Fifield authored
-
David Fifield authored
-
David Fifield authored
This is a sanity check against any catastrophic failure of our parsing code.
-
David Fifield authored
Current versions of tor accept USERADDR with or without a port number, but future versions may become more strict and require the port number. https://bugs.torproject.org/23080
-
David Fifield authored
-