Commit graph

311 commits

Author SHA1 Message Date
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
Lucas Clemente
b42bad8481 fix flaky server tests
ref #65
2016-05-09 17:57:20 +02:00
Lucas Clemente
a1f6289587 cleanup logs 2016-05-06 14:31:54 +02:00
Lucas Clemente
d1d4dbde2c update public header parsing to version 33
refs #51
2016-05-05 00:54:29 +02:00
Lucas Clemente
ef6e8cf1b4 make server delete sessions when they are closed
fixes #46
2016-05-04 16:34:08 +02:00
Lucas Clemente
df5143d561 remove newlines from log messages 2016-05-04 14:24:36 +02:00
Lucas Clemente
09fb894fb2 add custom logger
fixes #45
2016-05-04 13:20:24 +02:00
Lucas Clemente
c068cbcb8f replace certificate path with tls.Config instance throughout the server
The example server now reads the certificate and key data itself. Tests
use the new testdata package, where the sample key & cert are stored.

Fixes #24
2016-05-03 16:41:25 +02:00
Lucas Clemente
462deb5038 improve version negotiation log 2016-05-02 20:50:06 +02:00
Marten Seemann
ad467ade58 fix several linter warnings and misspellings 2016-05-02 16:33:32 +07:00
Marten Seemann
595311e255 use certPath and keyPath variables when setting up the server 2016-04-28 17:41:21 +07:00
Lucas Clemente
0d6642464d remove some debug messages 2016-04-27 12:52:06 +02:00