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