Commit Graph

2790 Commits

Author SHA1 Message Date
Marten Seemann
8b2992a243 split the Session.Close(error) in Close() and CloseWithError(error) 2018-07-06 15:51:35 +07:00
Marten Seemann
2bc5b7f532 Merge pull request #1445 from lucas-clemente/fix-1444
fix race condition when adding packet handlers to the multiplexer
2018-07-06 15:29:34 +07:00
Marten Seemann
17a1d7ce5d Merge pull request #1446 from lucas-clemente/remove-unused-null-aead
remove unused nullAEAD struct in the quic package
2018-07-06 15:29:00 +07:00
Marten Seemann
24c5023dd0 remove unused nullAEAD struct in the quic package 2018-07-06 13:17:04 +07:00
Marten Seemann
8b9662924f fix race condition when adding packet handlers to the multiplexer 2018-07-06 12:03:54 +07:00
Marten Seemann
e7f2c49198 Merge pull request #1441 from lucas-clemente/reuse-multiplexer
also use the multiplexer when dialing an address
2018-07-04 23:53:55 +07:00
Marten Seemann
595c396dc6 refactor packet handling in the multiplexer 2018-07-04 12:11:16 +07:00
Marten Seemann
f806f9146b also use the multiplexer when dialing an address 2018-07-04 10:38:40 +07:00
Marten Seemann
d24fb4b86d Merge pull request #1430 from lucas-clemente/conn-id-integration-test
add an integration test using different connection ID lengths
2018-07-03 19:40:54 +07:00
Marten Seemann
748bb42a21 add an integration test using different connection ID lengths 2018-07-03 18:58:40 +07:00
Marten Seemann
4d827a64d3 Merge pull request #1427 from lucas-clemente/connection-id-len
make the connection ID length configurable
2018-07-03 18:58:08 +07:00
Marten Seemann
f02dc92a32 make the connection ID length configurable 2018-07-03 18:34:31 +07:00
Marten Seemann
73f7636537 use a random length destination connection ID on the Initial packet
The destination connection ID on the Initial packet must be at least 8
bytes long. By using all valid values, we make sure that the everything
works correctly. The server chooses a new connection ID with the Retry
or Handshake packet it sends, so the overhead of this is negligible.
2018-07-03 18:01:41 +07:00
Marten Seemann
0bd7e744ff implement parsing of headers with different connection ID lengths 2018-07-03 18:01:41 +07:00
Marten Seemann
b26eb2705f Merge pull request #1436 from lucas-clemente/remove-closed-clients
remove closed clients from the multiplexer
2018-07-03 18:00:16 +07:00
Marten Seemann
b682af20cf add some more tests for the client multiplexer 2018-07-03 17:30:51 +07:00
Marten Seemann
0928e91e4d remove closed clients from the multiplexer 2018-07-03 17:30:49 +07:00
Marten Seemann
7658f10a51 Merge pull request #1429 from lucas-clemente/fix-1422
implement the disable_migration transport parameter and use it
2018-07-03 17:28:15 +07:00
Marten Seemann
680c392195 Merge pull request #1440 from lucas-clemente/fix-1439
fix race condition in client multiplexer test
2018-07-03 17:27:49 +07:00
Marten Seemann
b2978015fd fix race condition in client multiplexer test 2018-07-02 22:38:12 +07:00
Marten Seemann
6e299157d4 implement the disable_migration transport parameter and use it 2018-07-02 22:18:28 +07:00
Marten Seemann
eb8ee42d75 Merge pull request #1424 from lucas-clemente/header-refactoring
refactor header parsing
2018-07-02 21:46:06 +07:00
Marten Seemann
1d5fb4cec9 Merge pull request #1426 from lucas-clemente/fix-vnp-len
fix buffer size for version negotiation packets
2018-07-02 21:27:56 +07:00
Marten Seemann
3a1513e3a2 Merge pull request #1438 from lucas-clemente/fix-1437
fix a flaky proxy test
2018-07-02 21:26:57 +07:00
Marten Seemann
ff6a3d4c0b Merge pull request #1433 from lucas-clemente/multiplex-tests-quic-version
run multiplex integration tests with all supported QUIC versions
2018-07-02 21:25:49 +07:00
Marten Seemann
b54d0274f7 Merge pull request #1423 from lucas-clemente/fix-handshake-alarm
only fire the handshake alarm if handshake packets are outstanding
2018-07-02 21:24:10 +07:00
Marten Seemann
7772c67a2e Merge pull request #1432 from lucas-clemente/export-quic-42-43
export gQUIC versions 42 and 43
2018-07-02 21:22:55 +07:00
Marten Seemann
ace7f609a3 fix a flaky proxy test 2018-07-02 15:32:26 +07:00
Marten Seemann
879efb12b1 run multiplex integration tests with all supported QUIC versions 2018-07-02 10:49:44 +07:00
Marten Seemann
651d99d448 export gQUIC versions 42 and 43 2018-07-01 22:19:32 +07:00
Marten Seemann
1f4335ffce fix buffer size for version negotiation packets 2018-07-01 14:06:35 +07:00
Marten Seemann
4109c85c8a refactor header parsing in a version independent and dependent part 2018-07-01 09:01:30 +07:00
Marten Seemann
95ef15c6b1 only fire the handshake alarm if handshake packets are outstanding 2018-06-30 14:30:38 +07:00
Marten Seemann
74ed3f7037 remove writing of special Public Header packets
Version Negotiation Packets and Public Resets are written separately, so
we don't need to have code for that in the Public Header.
2018-06-30 12:48:42 +07:00
Marten Seemann
3f9212b5f7 Merge pull request #1354 from lucas-clemente/milestone-0.8.0
release 0.8.0
2018-06-27 09:56:43 +07:00
Marten Seemann
5cae625199 release 0.8.0 2018-06-26 16:38:01 +07:00
Marten Seemann
3aa6c99943 Merge pull request #1417 from lucas-clemente/remove-omit-conn-id
remove the OmitConnectionID field from the Header
2018-06-25 20:05:42 +07:00
Marten Seemann
7b96d158d2 remove the OmitConnectionID field from the Header struct
Instead, just look at the length of the destination connection ID.
2018-06-24 17:21:41 +07:00
Marten Seemann
fc57bf6c35 only set the destination connection ID for the Public Header 2018-06-24 16:47:59 +07:00
Marten Seemann
c9a9b57030 Merge pull request #1409 from lucas-clemente/multiplex-tests
add an integration test multiplexing multiple clients on one packet conn
2018-06-23 12:15:34 +07:00
Marten Seemann
e07411ebe6 add an integration test multiplexing two downloads on one connection 2018-06-23 11:33:56 +07:00
Marten Seemann
0b2e0c3146 Merge pull request #1407 from lucas-clemente/client-session-handling
multiplex multiple clients on one packet conn
2018-06-23 11:07:39 +07:00
Marten Seemann
8295a6b67c Merge pull request #1404 from lucas-clemente/self-rtt-integration-test
add a self integration test with different roundtrip times
2018-06-23 10:02:13 +07:00
Marten Seemann
2c05dbff07 multiplex multiple clients on one packet conn 2018-06-23 08:35:11 +07:00
Marten Seemann
2c9322c68f add a self integration test with different roundtrip times 2018-06-23 08:33:45 +07:00
Marten Seemann
dacc94ccba rename the sessionMap to packetHandlerMap 2018-06-23 08:20:29 +07:00
Marten Seemann
97e734e973 refactor packet handling functions in the client 2018-06-23 08:20:27 +07:00
Marten Seemann
b3fd768a61 use a smaller packetHandler interface
The packetHandler interface just needs two methods: one for handling
packets, and one for closing.
2018-06-23 08:16:51 +07:00
Marten Seemann
ef34d9e85f start running TLS server session directly when creating them 2018-06-23 08:16:51 +07:00
Marten Seemann
e98228df9d Merge pull request #1416 from lucas-clemente/reduce-drop-rate
reduce the drop rate in the self drop tests from 1/4 to 1/5
2018-06-21 22:31:44 +07:00