Commit Graph

37 Commits

Author SHA1 Message Date
Marten Seemann
b4d22b3c75 fix race condition in the client 2017-03-22 16:50:33 +07:00
Marten Seemann
841421ef7a remove ineffective check for too large packets
closes #468
2017-03-15 09:30:06 +07:00
Marten Seemann
1f01904270 read packets with the maximum packet size
fixes #467
2017-03-06 13:02:46 +07:00
Lucas Clemente
1a0dc05211 improve documentation for our new API 2017-02-25 11:28:26 +01:00
Marten Seemann
7109883a95 call the ConnStateCallback in the client for encryption level changes
fixes #439
2017-02-24 09:19:08 +07:00
Marten Seemann
820eb2e6ee call the ConnStateCallback in the server for encryption level changes
ref #439
2017-02-24 08:42:49 +07:00
Marten Seemann
f53055b9a0 return packet handling and connection errors in Dial 2017-02-23 11:56:53 +07:00
Marten Seemann
8bfeb2ea8d return from Dial after conn is forward-secure, unless ConnState is given 2017-02-22 23:03:10 +07:00
Marten Seemann
8fd2ddf81c properly close the client 2017-02-22 23:03:09 +07:00
Marten Seemann
8247454b0f correctly handle connection errors in the client 2017-02-22 23:03:09 +07:00
Marten Seemann
96edca5219 privatize the client, only expose Dial functions 2017-02-22 23:03:09 +07:00
Marten Seemann
cd465ae0b5 move utils.Stream to quic.Stream 2017-02-22 23:03:09 +07:00
Marten Seemann
af4b36b002 use a connection in the Client 2017-02-22 23:03:08 +07:00
Marten Seemann
824f122a79 remove unused StreamCallback 2017-02-22 23:03:08 +07:00
Marten Seemann
a96211f724 create Session interface 2017-02-22 23:03:07 +07:00
Marten Seemann
f47142eaac remove stream ID from OpenStream() method 2017-02-22 23:03:05 +07:00
Marten Seemann
35242394e1 generate new connection ID after version negotiation
fixes #404
2017-02-06 15:42:37 +07:00
Marten Seemann
268841f0cc add a TLSClientConfig to the QUIC RoundTripper
fixes #407
2017-02-04 10:28:00 +07:00
Marten Seemann
86e02c4d2c use cryptographic random to generate new connection IDs
fixes #348
2017-01-18 14:19:53 +07:00
Marten Seemann
f286ba3d36 fix error code when there are no common version in version negotiation 2017-01-18 10:22:04 +07:00
Marten Seemann
db09de621c detect version downgrade attacks in the client crypto setup 2017-01-14 18:58:47 +07:00
Marten Seemann
9790418eb7 only close the client once 2017-01-14 18:58:44 +07:00
Marten Seemann
08c267431b implement closing the quic client with an error 2017-01-14 18:58:43 +07:00
Marten Seemann
b9f9c2e429 save correct hostname in quic Client 2017-01-14 18:58:43 +07:00
Marten Seemann
3458514744 add a method to open new Streams to the client 2017-01-14 18:58:43 +07:00
Marten Seemann
a7afd72795 add a callback that is called when the crypto level changes 2017-01-14 18:54:18 +07:00
Marten Seemann
dc05de3312 add a callback to client that is called after the version is negotiated 2017-01-14 18:54:18 +07:00
Marten Seemann
2377b3a111 fix detection when the QUIC version is negotiated 2017-01-14 18:54:18 +07:00
Marten Seemann
05c870ff6f ignore delayed version negotiation packets 2017-01-14 18:52:24 +07:00
Marten Seemann
1a830dbdb7 implement basic version negotiation 2017-01-14 18:52:24 +07:00
Marten Seemann
4b112c325a add tests for the Client 2017-01-14 18:52:23 +07:00
Marten Seemann
7fa93c56af implement a proper Close method for the Client 2017-01-14 18:52:20 +07:00
Marten Seemann
de168addd5 don’t panic after sending a ConnectionClose 2017-01-14 18:52:20 +07:00
Marten Seemann
014315d3c7 parse hostname from address and pass it to the client cryptoSetup 2017-01-14 18:52:19 +07:00
Marten Seemann
a2996f6343 improve logging in client 2017-01-14 18:52:15 +07:00
Marten Seemann
56a287ab9c correcty read PublicHeader of PublicReset packets 2017-01-14 18:45:15 +07:00
Marten Seemann
afa71d52f1 create Client in main package 2017-01-14 18:45:15 +07:00