David Fifield
b0f99e72bb
Handle other unknown response status codes the same as 429.
2020-04-18 16:02:14 -06:00
David Fifield
e501935578
Handle 429 Too Many Requests.
2020-04-18 16:02:14 -06:00
David Fifield
973f6310c5
Don't expire ClientMap if timeout is zero.
2020-04-18 16:02:14 -06:00
David Fifield
317c2c43d0
Don't send User-Agent.
...
HTTP header now looks like
```
POST / HTTP/1.1
Host: 127.0.0.1:8000
Content-Length: 221
Accept: application/dns-message
Content-Type: application/dns-message
Accept-Encoding: gzip
```
2020-04-18 16:02:14 -06:00
David Fifield
087d3b25dd
Refactor HTTP response handling.
2020-04-18 16:02:14 -06:00
David Fifield
e772e7bf2f
Add a timeout to HTTP requests and follow redirects.
2020-04-18 16:02:14 -06:00
David Fifield
5350ea1e68
Increase initPollDelay to 500 ms.
2020-04-18 16:02:14 -06:00
David Fifield
7cbddf5fd9
Rework polling.
...
Give priority to data-carrying packets over polling packets.
Discard a polling packet whenever sending a data-carrying packet.
2020-04-18 16:02:14 -06:00
David Fifield
06144f76ae
-dot mode.
2020-04-18 16:02:11 -06:00
David Fifield
1907daeba0
Simplify HTTPPacketConn.
2020-04-18 14:34:10 -06:00
David Fifield
be9c3f1ac7
Refactor PacketConn handling.
2020-04-18 14:34:10 -06:00
David Fifield
7f3e9e4571
Overlay a noise layer atop KCP.
2020-04-18 14:34:10 -06:00
David Fifield
3f98c62207
Log when there's an error opening a stream.
2020-04-18 14:34:10 -06:00
David Fifield
a6c891c5ae
-doh mode.
2020-04-18 14:33:39 -06:00
David Fifield
aefe4f9971
Factor out a pattern for different kinds of remote address.
2020-04-18 14:33:39 -06:00
David Fifield
45c44e1c33
Factor out udp.go.
2020-04-18 14:33:39 -06:00
David Fifield
2cf79b1763
Log stream begin/end.
2020-04-18 14:33:39 -06:00
David Fifield
700291d6a1
MTU to log, not stdout.
2020-04-18 14:33:39 -06:00
David Fifield
ea824f3658
Check for error from SetMtu.
2020-04-18 14:33:39 -06:00
David Fifield
584dc3950d
Advertise EDNS(0) in client.
2020-04-18 14:33:39 -06:00
David Fifield
410dafa29c
Packetization server→client direction.
2020-04-18 14:29:30 -06:00
David Fifield
ffcea8b633
Logging in client.
2020-04-18 14:29:30 -06:00
David Fifield
0ebbe21789
Don't explicitly send 0-length packets.
2020-04-18 14:29:30 -06:00
David Fifield
933f17de78
Packetization and padding in the client→server direction.
2020-04-18 14:29:29 -06:00
David Fifield
bf609a4cf8
Set MTU based on domain length.
2020-04-18 14:29:13 -06:00
David Fifield
f47fa9781b
Increasing poll interval.
2020-04-18 14:28:55 -06:00
David Fifield
1a630ef92f
Automatic polling.
2020-04-18 14:28:55 -06:00
David Fifield
3b48d1aee1
Send full 8-byte ClientID
...
Sending just 4 bytes and relying on the convid for the remaining bytes
doesn't work for empty polling requests. Could probably just eliminate
the convid and make it a static constant before feeding to KCP.
2020-04-18 14:28:55 -06:00
David Fifield
9f72a8a87d
client
2020-04-18 14:28:53 -06:00