Commit Graph

99 Commits

Author SHA1 Message Date
Marten Seemann
ed522ebbce make wire an internal package 2017-08-29 23:51:56 +07:00
Marten Seemann
1794636220 more the PublicHeader to the wire package 2017-08-29 23:45:38 +07:00
Marten Seemann
5281d5b65d Merge pull request #792 from lucas-clemente/fix-441
add a quic.Config option to configure the idle timeout
2017-08-29 18:48:56 +07:00
Marten Seemann
7ec09d2488 print a debug message when the server is started 2017-08-29 11:55:28 +07:00
Marten Seemann
71e82677e1 add a quic.Config option to configure the idle timeout 2017-08-28 17:58:39 +07:00
Marten Seemann
0665c08b88 make PeekConnectionID a private method 2017-08-27 17:55:38 +07:00
Marten Seemann
dd0daaaf1e implement version-dependent parsing of the Public Header 2017-08-23 16:00:45 +07:00
Marten Seemann
2330ac0497 introduce an utils.LittleEndian 2017-08-23 15:57:35 +07:00
Marten Seemann
0867352b26 implement receiving of Public Resets for the client
When a Public Reset is received, the client validates if it was sent
from the correct remote address and if the connection ID matches. When a
valid Public Reset is received, the connection is closed immediately.
2017-07-11 20:42:55 +07:00
Marten Seemann
a851aaacda remove the tls.Config from the quic.Config
The tls.Config now is a separate parameter to all Listen and Dial
functions in the quic package.
2017-07-03 22:12:09 +02:00
Thomas De Keulenaer
4fa7b9e569 Let server and client fill the flow variables 2017-06-13 16:42:06 +02:00
Thomas De Keulenaer
89f96d1e89 Make max flow control windows configurable 2017-06-13 15:52:51 +02:00
Marten Seemann
c0b09c8646 make utils an internal package 2017-06-09 22:28:40 +02:00
Marten Seemann
9040fd25e7 add a quic.Config option to set the handshake timeout 2017-06-01 19:47:28 +02:00
Marten Seemann
87df63dd5f add a quic.Config option to verify source address tokes 2017-05-25 11:49:19 +08:00
Marten Seemann
889d3b38f8 remove the cryptoChangeCallback from the server 2017-05-16 00:56:09 +08:00
Marten Seemann
30a0211243 implement a Listener.Accept() method 2017-05-15 20:37:29 +08:00
Marten Seemann
650af86c70 pass the quic.Config to the session 2017-05-13 17:08:15 +08:00
Marten Seemann
16ca3012e9 make it possible to configure the QUIC versions for the client 2017-05-05 18:07:11 +08:00
Marten Seemann
b305cd674f make it possible to configure the QUIC versions for the server 2017-05-05 18:05:57 +08:00
Marten Seemann
cc2dc2aded Merge pull request #587 from lucas-clemente/fix-425
close session if reading from the socket fails in the server
2017-05-05 16:49:01 +08:00
Marten Seemann
eacd994e67 close session if reading from the socket fails in the server
fixes #425
2017-05-04 13:15:20 +08:00
Marten Seemann
96e49b0c31 remove the closeCallback from the session
The closeCallback was run when a session was closed, i.e. after the run
loop of the session stopped. Instead of explicitely calling this callback
from the session, the caller of session.run() can just execute the code
after session.run() returns.
2017-05-03 14:06:47 +08:00
Lucas Clemente
e2a0d9f77c Remove several unused fields and symbols
Detected with `unused -exports=true ./...`
2017-04-05 21:46:33 +01:00
Marten Seemann
021c9d5bcd return an error when the network conn is closed in Listener.Serve()
fixes #483
2017-03-16 14:04:19 +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
c1c0fac0b4 validate minimum packet size before sending a version negotiation packet
fixes #429
2017-02-25 11:28:33 +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
48dee2708e implement a Serve method for the Listener 2017-02-22 23:03:09 +07:00
Marten Seemann
824f122a79 remove unused StreamCallback 2017-02-22 23:03:08 +07:00
Marten Seemann
5029ab0934 implement a quic.Listener, privatize the Server 2017-02-22 23:03:07 +07:00
Marten Seemann
e924f0ecb3 use the net.PacketConn everywhere in the server 2017-02-22 23:03:07 +07:00
Marten Seemann
5b42675da2 use a net.PacketConn instead of a net.UDPConn in Server and Session 2017-02-22 23:03:07 +07:00
Marten Seemann
ca863a86bb add an Addr method to the Server 2017-02-22 23:03:06 +07:00
Marten Seemann
f47142eaac remove stream ID from OpenStream() method 2017-02-22 23:03:05 +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
6913f5ae75 add tests for certChain, simplify constructor 2017-01-14 18:52:18 +07:00
Marten Seemann
0535491f30 rename crypto.Signer to crypto.CertChain 2017-01-14 18:52:18 +07:00
Marten Seemann
56a287ab9c correcty read PublicHeader of PublicReset packets 2017-01-14 18:45:15 +07:00
Marten Seemann
cc2d966d84 write PublicHeaders for packets sent as a client
fixes #346
2017-01-14 18:45:13 +07:00
Marten Seemann
72e9994c9c allow reuse of connection IDs
fixes #347
2017-01-07 19:21:18 +07:00
Marten Seemann
bf615659d6 ignore public reset packets, and log them
ref #34
2017-01-07 14:56:24 +07:00
Marten Seemann
3c7872c7b3 ignore delayed packets with a version mismatched
fixes #359
2016-12-02 13:48:48 +07:00
Marten Seemann
cedbc819d3 only start new session if the client sends a version in the PublicHeader
fixes #349
2016-11-27 22:54:38 +07:00
Marten Seemann
0d6356d9d8 rename PublicHeader.WritePublicHeader to PublicHeader.Write 2016-11-06 22:34:16 +07:00
Lucas Clemente
29be6301ee take packet rcv timestamp directly after receiving from network 2016-09-07 15:51:04 +02:00
Lucas Clemente
099545521f use *receivedPacket thoughout the session 2016-09-07 15:51:04 +02:00
Lucas Clemente
10d0190be1 remove some v33 mentions 2016-09-01 20:26:31 +02:00