Commit Graph

608 Commits

Author SHA1 Message Date
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
556bf2fe4b add a test for h2quic.ListenAndServeQUIC
fixes #160
2016-06-03 10:12:34 +02:00
Lucas Clemente
45554e67c4 fix a race condition in quic.Server 2016-06-02 21:22:04 +02:00
Lucas Clemente
bd228ffe27 fix race conditions in h2quic.Server 2016-06-02 21:19:43 +02:00
Lucas Clemente
cdff2e5531 add more tests for h2quic.Server
ref #160
2016-06-02 21:11:11 +02:00
Marten Seemann
c6f4d9720f fix int overflow on 32 bit in handshake parsing 2016-06-02 23:28:13 +07:00
Marten Seemann
cf382be954 fix int overflow on 32 bit architecture in ACK frame test 2016-06-02 23:25:18 +07:00
Marten Seemann
d67c7612a6 run Travis tests on 64 bit (amd64) and 32 bit (386) 2016-06-02 23:20:40 +07:00
Lucas Clemente
d87e20efc9 remove DiversificationNonce() from the AEAD interface 2016-06-02 16:13:48 +02:00
Lucas Clemente
5ed0182b67 fix a race condition in CryptoSetup
CryptoSetup's AEADs were changed between calls to
DiversificationNonce() and Seal()
2016-06-02 16:13:06 +02:00
Lucas Clemente
60611a0176 increase timeout in integration tests 2016-06-02 15:56:30 +02:00
Lucas Clemente
64b34b52a8 add integration tests for loading larger files
ref #152
2016-06-02 13:38:05 +02:00
Lucas Clemente
21db6f9270 move CHLO log to debug 2016-06-02 13:33:19 +02:00
Lucas Clemente
1896003f42 count diversification nonce in public header length
fixes #161
2016-06-02 12:40:14 +02:00
Lucas Clemente
252e884076 add an integration test for POSTing data
ref #152
2016-06-02 12:05:51 +02:00
Lucas Clemente
93629bc595 test all supported quic versions in integration tests
ref #152
2016-06-02 12:05:24 +02:00
Lucas Clemente
0900b5ba73 add a first integration test
ref #152
2016-06-02 11:51:38 +02:00
Lucas Clemente
682c18eac3 increase max crypto param size, the client sends a longer PAD tag 2016-06-02 11:51:19 +02:00
Marten Seemann
2206c12574 add more Go versions for Travis 2016-06-02 15:58:39 +07:00
Lucas Clemente
7ee5f96efd implement h2quic.Server.Close()
fixes #155
2016-06-01 15:35:08 +02:00
Lucas Clemente
c0b2bfa247 fix two typos 2016-06-01 14:19:46 +02:00
Marten Seemann
4df007dc99 reduce MaxPacketSize to the value used by Chromium
ref #94, #117
2016-06-01 17:19:32 +07:00
Lucas Clemente
a6c62d1a26 add a stub for CloseGracefully to h2quic.Server
ref #153, #124
2016-06-01 12:07:06 +02:00
Marten Seemann
443fd530db send OverlappingStreamData errors for overlapping StreamFrame data
fixes #115
2016-06-01 16:57:01 +07:00
Marten Seemann
d10766906c limit number of gaps in received StreamFrame data
fixes #159
2016-06-01 15:41:29 +07:00
Lucas Clemente
dbaae7fc2b improve readme 2016-06-01 10:35:21 +02:00
Marten Seemann
9476ae499c implement a buffer for received StreamFrames
fixes #116, ref #115
2016-06-01 14:33:12 +07:00
Marten Seemann
2f49a9525a add DataLen function to StreamFrame 2016-06-01 09:23:26 +07:00
Lucas Clemente
981d4e7fb8 add support for ECDSA private keys
fixes #158
2016-05-31 23:06:38 +02:00
Lucas Clemente
8fa3e62de9 implement parsing and writing of GOAWAY frames 2016-05-31 19:22:27 +02:00
Lucas Clemente
4b2ab55435 fix a race when multiple requests were handled at the same time
fixes #157
2016-05-31 19:05:33 +02:00
Lucas Clemente
a7afffe700 add a SetQuicHeaders function to h2quic.Server
fixes #156
2016-05-31 16:02:39 +02:00
Lucas Clemente
ae778fc042 add mock close method to h2quic.Server 2016-05-31 14:13:03 +02:00
Lucas Clemente
33edcc5e88 make h2quic.Server.Serve panic
ref #124
2016-05-30 17:18:10 +02:00
Lucas Clemente
25c34723a3 implement h2quic.Server.ListenAndServeTLS
ref #124
2016-05-30 17:14:59 +02:00
Lucas Clemente
6b1669c116 add ListenAndServeQUIC convenience function 2016-05-30 14:41:21 +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
b0bc84c5aa improve crypto test coverage 2016-05-30 10:16:25 +02:00
Lucas Clemente
576253ba71 improve utils tests to 100% coverage 2016-05-28 08:12:04 +02:00
Lucas Clemente
a4773eb5ff validate length of crypto message
refs #123
2016-05-27 23:25:51 +02:00
Lucas Clemente
7c23ba7b07 validate lengths when parsing frames
ref #123
2016-05-27 23:07:29 +02:00
Lucas Clemente
c546f5c9dc enforce max streams per connection limit
fixes #13
2016-05-27 22:39:37 +02:00
Lucas Clemente
4af8ab3e9c fix a typo 2016-05-27 21:44:57 +02:00
Marten Seemann
ffbd68770e remove closed streams from WindowUpdateManager
fixes #99
2016-05-27 19:08:05 +07:00
Marten Seemann
d906492ae7 don't retransmit a packet after receiving a belated ACK
fixes #139
2016-05-27 18:36:28 +07:00
Marten Seemann
26d18976ff implement round-robin scheduling in StreamFrameQueue
fixes #148
2016-05-27 13:38:39 +07:00
Lucas Clemente
cdcd120d49 remove unnecessary cubic test
fixes #18
2016-05-26 17:16:56 +02:00
Marten Seemann
a152d2399c fix byte length calculation for split frames in StreamFrameQueue 2016-05-26 16:20:37 +07:00