Commit Graph

2731 Commits

Author SHA1 Message Date
Marten Seemann
f7e05c3158 drop Initial packets that have a too short Destination Connection ID 2018-06-16 21:15:46 +07:00
Marten Seemann
a737aca658 Merge pull request #1408 from lucas-clemente/update-go-on-cis
update Go to 1.9.7 and 1.10.3 on the CIs
2018-06-16 14:01:27 +07:00
Marten Seemann
c0dba2e990 update Go to 1.9.7 and 1.10.3 on the CIs 2018-06-16 13:37:06 +07:00
Marten Seemann
6835f5d74c Merge pull request #1406 from lucas-clemente/dial-context
implement dial functions that use a context
2018-06-15 05:43:58 +07:00
Marten Seemann
f26a68d45c implement dial functions that use a context 2018-06-14 16:15:32 +07:00
Marten Seemann
7356fc05d5 Merge pull request #1398 from lucas-clemente/remove-script
remove leftover CircleCI script
2018-06-13 15:43:09 +02:00
Marten Seemann
d777c6be56 remove leftover CircleCI script 2018-06-13 14:38:18 +02:00
Marten Seemann
570cd864fd Merge pull request #1400 from lucas-clemente/ignore-wrong-src-connid
drop packets with different source connection IDs
2018-06-12 20:20:17 +02:00
Marten Seemann
e5746e0881 drop packets with different source connection IDs
The server can change the connection ID with the first Handshake packet.
Afterwards, packets with different source connection IDs have to be
ignored. Otherwise, for example the retransmission of the Initial packet
might create two sessions on the server with different source connection
IDs on the server side, but the same connection ID on the client side.
2018-06-11 21:37:56 +02:00
Marten Seemann
7431602a89 Merge pull request #1399 from lucas-clemente/remove-hol-experiment
remove FHL2 experiment
2018-06-11 11:15:20 +02:00
Marten Seemann
d32665af9d remove FHL2 experiment
FHL2 was an experiment in Chrome, run in Q036, which introduced HOL
blocking. This experiment is over, so we can remove the code to send a
PUBLIC_RESET when a peer initiates this experiment.
2018-06-10 17:02:06 +02:00
Marten Seemann
2814e580b1 Merge pull request #1397 from lucas-clemente/certs
update certs
2018-06-09 16:54:25 +02:00
Lucas Clemente
7a566d9f28 Update certs 2018-06-09 11:27:13 +02:00
Marten Seemann
48ef98f641 Merge pull request #1388 from lucas-clemente/varint-packet-numbers
use varint packet numbers in IETF QUIC headers
2018-06-06 16:26:49 +02:00
Marten Seemann
3e03055a7d use varint packet numbers in IETF QUIC headers 2018-06-06 16:07:47 +02:00
Marten Seemann
61d7fa5c85 Merge pull request #1393 from lucas-clemente/change-tls-extension-codepoint
change the TLS extension code point
2018-06-06 15:04:18 +02:00
Marten Seemann
fd8ff0265f Merge pull request #1395 from lucas-clemente/fix-1392
fix flaky session test
2018-06-06 14:58:47 +02:00
Marten Seemann
4616f06996 fix flaky session test 2018-06-06 12:01:16 +02:00
Marten Seemann
bd6fd979a4 implement parsing and writing of varint packet numbers 2018-06-05 22:18:35 +02:00
Marten Seemann
63195fcb68 change the TLS extension code point 2018-06-05 15:11:49 +02:00
Marten Seemann
e53b611961 Merge pull request #1373 from lucas-clemente/quic-43
add support for QUIC 43
2018-06-05 13:43:06 +02:00
Marten Seemann
530170430a add support for QUIC 43 2018-06-05 12:41:56 +02:00
Marten Seemann
2e66aeeb66 Merge pull request #1387 from lucas-clemente/init-random-in-integrationtests
properly initialise the random number generator in the integration tests
2018-06-05 12:33:41 +02:00
Marten Seemann
7f1a15169e Merge pull request #1386 from lucas-clemente/circleci-badge
add a CircleCI badge to the README
2018-06-05 12:33:23 +02:00
Marten Seemann
d0897fa0b3 ignore HTTP2 PRIORITY frames in the server 2018-06-05 12:30:30 +02:00
Marten Seemann
bc2163777f properly initialise the random number generator in the integration tests 2018-06-03 10:56:16 +08:00
Marten Seemann
1fc6c5a14c Merge pull request #1372 from lucas-clemente/quic-42
add support for QUIC 42
2018-06-02 20:41:18 +08:00
Marten Seemann
f1b49c2280 add a CircleCI badge to the README 2018-06-02 20:26:06 +08:00
Marten Seemann
ba0bf6be76 Merge pull request #1382 from lucas-clemente/fix-1364
fix deadlock between onStreamCompleted and Session.Close
2018-06-02 20:23:10 +08:00
Marten Seemann
3370f9fa58 add support for QUIC 42
QUIC 42 accepts overlapping stream data. We've been doing this for some
time already, so we don't need any additional changes.
2018-06-02 19:49:28 +08:00
Marten Seemann
2a4eb9c132 use the correct QUIC version in the Chrome integration tests
Because the version variable was set in the loop, we would always start
a QUIC server with the lowest support QUIC version.
2018-06-02 19:49:28 +08:00
Marten Seemann
a3821af65a don't run Chrome integration tests on Travis 2018-06-02 19:39:11 +08:00
Marten Seemann
4b82db4d6d fix working directory in CircleCI config 2018-06-02 18:56:02 +08:00
Lucas Clemente
9be3ba1be0 Merge pull request #1383 from lucas-clemente/circle
run integration tests on CircleCI
2018-06-01 13:20:20 +01:00
Marten Seemann
cdee407331 Merge pull request #1360 from nogoegst/request-host-fix
Use http.Request.Host only for authority header and not for dialing
2018-06-01 18:28:11 +08:00
Marten Seemann
d4a1e75ae1 run integration tests on CircleCI, disable Chrome tests on Travis 2018-06-01 14:32:18 +08:00
Marten Seemann
83be64bb73 fix deadlock between onStreamCompleted and Session.Close 2018-06-01 13:05:30 +08:00
Marten Seemann
036131e084 Merge pull request #1369 from lucas-clemente/change-conn-id
change the connection ID when creating a new IETF QUIC session
2018-05-30 22:31:10 +08:00
Marten Seemann
d7dee33bc7 change the source connection ID when creating a new IETF QUIC session 2018-05-30 21:37:05 +08:00
Marten Seemann
8bfb29f06e fix logging of connection IDs for statelessly handled packets 2018-05-30 21:37:05 +08:00
Marten Seemann
ec6118f7a0 use the connection ID provided by the server in first Handshake packet 2018-05-30 21:37:05 +08:00
Marten Seemann
d1316f2566 Merge pull request #1368 from lucas-clemente/session-handler
refactor the map of sessions into a separate struct
2018-05-30 21:36:22 +08:00
Marten Seemann
9c5986945e refactor the map of sessions into a separate struct 2018-05-30 21:10:44 +08:00
Marten Seemann
15da47cf98 use a GoMock mock session in the server and client tests 2018-05-30 21:10:44 +08:00
Marten Seemann
511ff00881 Merge pull request #1167 from lucas-clemente/ietf-drop-tests
add self integration tests with dropped packets
2018-05-30 17:16:40 +08:00
Marten Seemann
20b41ca45a Merge pull request #1367 from lucas-clemente/session-signaling
use callbacks for signalling the session status
2018-05-30 16:22:11 +08:00
Marten Seemann
733e2e952b use callbacks for signaling the session status
Instead of exposing a session.handshakeStatus() <-chan error, it's
easier to pass a callback to the session which is called when the
handshake is done.
The removeConnectionID callback is in preparation for IETF QUIC, where a
connection can have multiple connection IDs over its lifetime.
2018-05-29 21:27:08 +08:00
Marten Seemann
c7119b2adf move logging of connection closing to the session 2018-05-29 21:24:24 +08:00
Marten Seemann
9cc23135d0 Merge pull request #1375 from lucas-clemente/prefix-logger
use a {client, server, proxy} prefix in logs
2018-05-29 21:22:57 +08:00
Marten Seemann
c4c2fd96dc add integration tests with dropped packets during the handshake
The tests simulate three different application profiles:
1. the client speaks first (e.g. sends a request)
2. the server speaks first
3. nobody speaks (i.e. a preconnect)
2018-05-29 21:10:28 +08:00