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