Marten Seemann
0afba48de8
continue accepting sessions after encountering a connection ID collision
2018-03-07 10:54:40 +07:00
Marten Seemann
624ac61412
reject unknown versions in the quic.Config
2018-02-26 11:07:06 +08:00
Marten Seemann
548916e902
run gometalinter with go vet
2018-02-23 22:39:08 +08:00
Marten Seemann
58b20c6009
make the number of incoming streams configurable, for IETF QUIC
2018-02-23 22:15:31 +08:00
Marten Seemann
07b8821ef7
use pointer to byte slices in the buffer pool
...
https://staticcheck.io/docs/staticcheck#SA6002 suggests to use pointers
to objects in the sync.Pool.
2018-02-23 18:57:12 +08:00
Marten Seemann
51b6ff0af5
only accept one TLS sessions for the same connection ID
2018-02-06 12:44:06 +08:00
Marten Seemann
2ca4796864
stop handling a packet after sending a Version Negotiation Packet
2018-02-02 13:57:10 +08:00
Marten Seemann
99a2853e7d
remove non forward-secure dialing
...
This was broken for a long time, and won't be available when using the
TLS 1.3 handshake.
2018-01-02 23:26:55 +07:00
Marten Seemann
96571b56e5
wait for serve() to return before returning from server.Close()
2017-12-20 16:59:38 +07:00
Marten Seemann
cd5e7ae177
remove unneeded function from the crypto stream interface
2017-12-12 18:30:08 +07:00
Marten Seemann
23ce5a8554
drop packets for new gQUIC connections that are too small
2017-12-08 12:34:59 +07:00
Marten Seemann
25a6dc9654
implement stateless handling of Initial packets for the TLS server
2017-12-08 08:45:54 +07:00
Marten Seemann
57c6f3ceb5
don't return the handshakeChan from the session constructor
2017-12-08 07:34:57 +07:00
Marten Seemann
45e43ada40
implement the recent changes to the version negotiation packet
2017-12-06 08:40:43 +07:00
Marten Seemann
234d5aab36
echo the offered version in IETF Version Negotiation Packets
2017-11-12 14:37:43 +08:00
Marten Seemann
5d4174b2f0
parse the packet header before getting the session from the session map
2017-11-10 08:48:45 +07:00
Marten Seemann
b2c7e665ed
fix race condition when closing the server
2017-11-06 17:07:47 +07:00
Marten Seemann
4d9846482d
improve closing of the server
...
Closing the sessions can be done concurrently.
2017-11-03 17:49:28 +07:00
Marten Seemann
3e6f66da79
rename the packet types according to recent draft changes
2017-11-02 18:31:04 +07:00
Marten Seemann
b0f34e776e
send IETF draft style version negotiation packets
...
Send a gQUIC Version Negotiation Packet, if the client packet has a
Public Header. If the client has an IETF draft style header, send an
IETF draft style Version Negotiation Packet.
2017-10-30 18:23:12 +07:00
Marten Seemann
4556ad01e5
use the new packet header for connections using TLS
2017-10-27 16:54:47 +07:00
Marten Seemann
6dde979f8f
implement a string representation of the version number
...
This will be useful as soon as we start supporting non-gQUIC versions.
2017-09-28 15:19:12 +07:00
Julien Benoist
0aff48911d
copy KeepAlive value from the server quic.Config
2017-09-22 20:28:11 +07:00
Marten Seemann
265c35c2eb
rename the STK to Cookie
2017-09-22 18:58:04 +07:00
Marten Seemann
e603715949
make handshake and crypto internal packages
2017-09-21 11:52:21 +07:00
Marten Seemann
4da08c9710
use a type alias for the STK
2017-09-11 18:38:24 +02:00
Marten Seemann
f1ada87dcf
make the protocol package internal
2017-08-30 00:19:44 +07:00
Marten Seemann
524ecb5827
move the Public Reset to the wire package
2017-08-29 23:58:27 +07:00
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