Commit graph

72 commits

Author SHA1 Message Date
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
Marten Seemann
e2d5d7e3a6 send VersionNegotiation packets as QUIC 33 packets
ref #215
2016-09-01 12:20:18 +02:00
Marten Seemann
99d4e36a56 also make ParsePublicHeader public 2016-08-05 00:12:08 +07:00
Marten Seemann
8b845fada9 make PublicHeader public 2016-08-04 15:45:11 +07:00
Lucas Clemente
0e05534909 improve main package test coverage
ref #241
2016-08-02 11:49:25 +02:00
Lucas Clemente
950e59fa3d add a sync.Pool of byte buffers with maximum packet size as cap
ref #217
2016-07-26 15:36:28 +02:00
Lucas Clemente
0f941214b4 fix linter 2016-06-03 21:03:46 +02:00
Lucas Clemente
a47a04d16d add server.Serve() API and improve server tests by listening on port 0 2016-06-03 13:10:04 +02:00
Lucas Clemente
c0b73c4beb fix a potential race in server.Close() 2016-06-03 12:13:07 +02:00
Lucas Clemente
240946dfde replace version number literals with constants to make grepping easier 2016-06-03 11:09:48 +02:00
Lucas Clemente
45554e67c4 fix a race condition in quic.Server 2016-06-02 21:22:04 +02:00
Lucas Clemente
cdff2e5531 add more tests for h2quic.Server
ref #160
2016-06-02 21:11:11 +02:00
Lucas Clemente
7ee5f96efd implement h2quic.Server.Close()
fixes #155
2016-06-01 15:35:08 +02:00
Lucas Clemente
981d4e7fb8 add support for ECDSA private keys
fixes #158
2016-05-31 23:06:38 +02:00
Lucas Clemente
bf3d89c795 improve public quic and h2 APIs, embedding http.Server in h2quic.Server
ref #124
2016-05-30 14:19:25 +02:00
Lucas Clemente
c6a9e7e575 implement diversification nonce writing in public header
ref #51
2016-05-20 23:13:55 +02:00
Lucas Clemente
7a97f34fac don't panic 🤓
fixes #93
2016-05-18 18:29:42 +02:00
Lucas Clemente
d04ee083a7 remove TODOs from server.go
we don't send public resets, since we don't have any connection info yet
2016-05-17 19:24:49 +02:00
Lucas Clemente
a10d58c8ca privatize session.run
ref #60
2016-05-15 18:49:09 +02:00
Lucas Clemente
028615b8f0 privatize session.handlePacket
ref #60
2016-05-15 18:48:11 +02:00
Lucas Clemente
ce1f7b2aaf privatize closeCallback
ref #60
2016-05-15 15:58:35 +02:00
Lucas Clemente
0cb0ce8ad8 privatize parsePublicHeader
ref #60
2016-05-15 15:44:50 +02:00
Lucas Clemente
9cc4bb3ccf privatize publicHeader
ref #60
2016-05-15 15:44:14 +02:00
Lucas Clemente
f79f7f7724 privatize newSession
ref #60
2016-05-15 15:33:36 +02:00
Lucas Clemente
b558bb8a75 privatize packetHandler
ref #60
2016-05-15 15:32:41 +02:00
Lucas Clemente
0743c0824f add version number to server log 2016-05-15 14:39:36 +02:00
Lucas Clemente
c7126137d1 queue undecryptable packets for later decryption & possibly send PRST
fixes #38, fixes #69, fixes #73
2016-05-12 16:46:18 +02:00
Lucas Clemente
a26c42c4a4 add support for multiple udp connections per server 2016-05-10 15:34:54 +02:00