Commit Graph

2005 Commits

Author SHA1 Message Date
Marten Seemann
7ec09d2488 print a debug message when the server is started 2017-08-29 11:55:28 +07:00
Marten Seemann
bb670be93a make sure that the SHLO was sent before returning Listener.Accept
This fixes a race condition: In the server crypto setup, we would send
protocol.EncryptionForwardSecure on the aeadChan as soon as the SHLO was
composed, but before it was written to the crypto stream. This lead to
Listener.Accept returning the session already. If the server was ready
to write a lot of data then, this data could be sent before the crypto
setup would write on the crypto stream, therefore sending a lot of
undecryptable packets to the client, which would eventually lead to a
connection error (too many undecryptable packets).
2017-08-29 10:48:10 +07:00
Marten Seemann
71e82677e1 add a quic.Config option to configure the idle timeout 2017-08-28 17:58:39 +07:00
Marten Seemann
e398d5409a set the idle timeout during the handshake to half the handshake timeout 2017-08-28 17:58:39 +07:00
Marten Seemann
a6719bf417 Merge pull request #762 from lucas-clemente/improve-travis-output
print commands on Travis
2017-08-28 17:52:14 +07:00
Marten Seemann
3414cf8b49 Merge pull request #778 from lucas-clemente/reduce-travis-logging
disable verbose logging for integration tests on Travis
2017-08-28 17:50:47 +07:00
Marten Seemann
60be7e1e81 Merge pull request #798 from lucas-clemente/go1.9
use Go 1.9 on CIs
2017-08-28 15:32:02 +07:00
Marten Seemann
8ff8637bb8 don't print Chrome output 2017-08-28 15:28:07 +07:00
Marten Seemann
dc20c37f24 Merge pull request #799 from lucas-clemente/privatize-peek-conn-id
make PeekConnectionID a private method
2017-08-28 15:09:45 +07:00
Marten Seemann
f4aa2d5b0d improve logging on CIs
* make the logging on Travis less verbose
* log every test on AppVeyor
2017-08-28 10:07:10 +07:00
Thomas De Keulenaer
4f6eef8b08 Add test for request context 2017-08-27 20:05:13 +02:00
Thomas De Keulenaer
51be240488 Use datastream context for requests 2017-08-27 20:05:13 +02:00
Thomas De Keulenaer
55a8979bd5 Added session context to http.Request 2017-08-27 20:05:13 +02:00
Marten Seemann
b699a92bd5 print commands on Travis 2017-08-27 18:09:01 +07:00
Marten Seemann
0665c08b88 make PeekConnectionID a private method 2017-08-27 17:55:38 +07:00
Marten Seemann
4d5bc253f0 use Go 1.9 on CIs 2017-08-27 12:42:15 +07:00
Marten Seemann
3390564e98 Merge pull request #782 from lucas-clemente/quic39
add support for QUIC 39
2017-08-24 17:59:51 +07:00
Marten Seemann
2b683be36a add QUIC 39 to supported versions
The Chrome installed on Travis doesn't support QUIC 39 yet.
2017-08-24 17:05:57 +07:00
Marten Seemann
a9e2a28315 Merge pull request #796 from lucas-clemente/chrome-exec-path
try to find the Chrome executable in different paths
2017-08-23 17:43:25 +07:00
Marten Seemann
ec619ede1d Merge pull request #795 from lucas-clemente/fix-653
use a chan to store sent packets in mock connection
2017-08-23 16:53:23 +07:00
Marten Seemann
cbc6f64461 try to find the Chrome executable in different paths 2017-08-23 16:44:58 +07:00
Marten Seemann
6bdd782a4b don't queue ACKs for non-retransmittable packets for QUIC >= 39
From QUIC 39 on, the peer is required to send a retransmittable packet
when it wishes to receive an ACK.
2017-08-23 16:00:48 +07:00
Marten Seemann
79bb3a9bd3 force sending of a retransmittable packet every 20 packets 2017-08-23 16:00:48 +07:00
Marten Seemann
843764aea3 write frames in big endian for QUIC 39 2017-08-23 16:00:48 +07:00
Marten Seemann
dd0daaaf1e implement version-dependent parsing of the Public Header 2017-08-23 16:00:45 +07:00
Marten Seemann
1a8a012019 implement a function to parse the connection ID from the Public Header
This will be needed to correctly parse the Public Header later. With the
upcoming changes in Q039 (and later, the transition to the IETF header
format), it's necessary to know the QUIC version in order to parse the
Public Header. For packets sent after the handshake, the version field
is not present in the Public Header, so we have to look it up by the
connection ID.
2017-08-23 15:57:35 +07:00
Marten Seemann
b5ff87b082 minor refactoring of Public Header parsing 2017-08-23 15:57:35 +07:00
Marten Seemann
2d4b7726b2 pass the QUIC version to all frame parsing functions 2017-08-23 15:57:35 +07:00
Marten Seemann
604c6ae406 implement an utils.BigEndian 2017-08-23 15:57:35 +07:00
Marten Seemann
05fde42e2d panic if the value for WriteUint48, WriteUint40, WriteUint24 is too big
Note that it's not possible to write a couple of frame types for packet
numbers that don't fit into 6 bytes. The IETF QUIC draft fixes this.
2017-08-23 15:57:35 +07:00
Marten Seemann
2330ac0497 introduce an utils.LittleEndian 2017-08-23 15:57:35 +07:00
Marten Seemann
254e079029 use a chan to store sent packets in mock connection
This makes the session tests a bit less racy.
2017-08-23 13:12:43 +07:00
Lucas Clemente
3bb4662cfc Merge pull request #781 from lucas-clemente/refactor-inttests
Refactor inttests
2017-08-21 13:00:21 +02:00
Lucas Clemente
75070d057b Fix import order 2017-08-21 12:25:27 +02:00
Lucas Clemente
19d1210a9a Remove dataManager and move client_test.go from gquic/ to self/ 2017-08-18 12:06:37 +02:00
Lucas Clemente
6150e2d05d Add caching to PR data generation and add a separate prdatalong handler 2017-08-18 12:06:37 +02:00
Lucas Clemente
84db78db83 Move rest of integration tests into the gquic folder 2017-08-18 12:06:37 +02:00
Lucas Clemente
0b1d7c46f5 Rename handshake/ to self/, will be the place for future quic-go self tests 2017-08-18 12:06:37 +02:00
Lucas Clemente
57e0616b3d Simplify integration suite setup 2017-08-18 12:06:37 +02:00
Lucas Clemente
6277d633e0 Factor out inttest logging setup into a separate package 2017-08-18 12:06:37 +02:00
Lucas Clemente
bb5a199467 Move Chrome tests and test server setup to separate packages 2017-08-18 12:06:37 +02:00
Lucas Clemente
56cbce35b3 Move proxy/ to new tools/ folder 2017-08-18 12:06:37 +02:00
Lucas Clemente
8ec11c0b53 Move testdata/ to internal/ 2017-08-18 12:06:36 +02:00
Lucas Clemente
d0fde2b230 Merge pull request #788 from glutamatt/fix-type
Fix typo
2017-08-13 11:49:52 +02:00
glutamatt
baa6005b9c Fix type 2017-08-13 00:52:44 +02:00
Marten Seemann
f3b8678ca6 Merge pull request #784 from lucas-clemente/quic38
add support for QUIC 38
2017-08-11 00:19:05 +07:00
Marten Seemann
71ff144c20 add QUIC 38 to supported versions 2017-08-10 20:26:36 +07:00
Marten Seemann
be338c8389 send a Public Reset when receiving the NSTP tag in the CHLO
We currently don't support the no STOP_WAITING experiment.
2017-08-10 20:26:31 +07:00
Marten Seemann
f6e8ce5c67 make tests independent of the supported QUIC versions
Now it's no longer necessary to edit the h2quic tests when adding a new
QUIC version to the slice of supported versions.
2017-08-10 20:23:20 +07:00
Marten Seemann
01baba83a5 don't pass the STOP_WAITING to the receivedPacketHandler
Only pass the LeastUnacked. This makes easier to remove STOP_WAITINGs
later.
2017-08-10 20:23:10 +07:00