Marten Seemann
c6ebf74e02
Merge pull request #883 from lucas-clemente/fix-882
...
reduce the maximum packet size of sent packets to 1200 bytes
2017-10-20 05:23:14 -05:00
Marten Seemann
5504c47ca5
reduce the maximum packet size of sent packets to 1200 bytes
...
This is the value the IETF draft mandates for implementations that don't
do PMTUD.
2017-10-18 14:14:49 +07:00
Marten Seemann
2f1db1c23d
fix data length check in STREAM frame parser
...
We should check if the rest of the STREAM frame contains enough bytes to
read the full data length, not if this overflows the MaxPacketSize
(which is the maximum packet size we use for sending, and has nothing to
do with receiving packets).
2017-10-18 13:54:28 +07:00
Marten Seemann
8297c52b79
Merge pull request #873 from lucas-clemente/improve-max-window-increments
...
move the max flow control increments out of the params negotiator
2017-10-05 10:56:45 -07:00
Marten Seemann
0e1a8a5f8c
move the max flow control increments out of the params negotiator
...
The params negotiator was just keeping track of the value set in the
quic.Config. The max flow control increments are not subject to
negotiation, but an independent implementation decision of every peer.
2017-10-04 07:16:16 -07:00
Marten Seemann
c54bd857c0
Merge pull request #862 from lucas-clemente/fix-496
...
implement loss detection for handshake packets
2017-10-03 16:02:58 -07:00
Marten Seemann
daa8d08fba
implement loss detection for handshake packets
2017-10-03 13:56:47 -07:00
Marten Seemann
e20fdf43ef
Merge pull request #867 from lucas-clemente/fix-828
...
improve garbage collection of stream
2017-10-03 11:55:54 -07:00
Marten Seemann
6874ff7b41
Merge pull request #866 from lucas-clemente/fix-856
...
handle version negotiation in the TLS handshake
2017-10-03 11:26:53 -07:00
Marten Seemann
e5e632b7aa
Merge pull request #870 from lucas-clemente/no-idle-timeout-negotiation
...
don't negotiate the idle timeout
2017-10-03 11:25:48 -07:00
Marten Seemann
535bbf529a
simplify variable types in the streams map
...
ints should be sufficient.
2017-10-03 11:17:41 -07:00
Marten Seemann
0c4fd4149e
Merge pull request #869 from lucas-clemente/fix-868
...
fix race conditions in the session tests for accepting streams
2017-10-03 11:07:10 -07:00
Marten Seemann
4eec7433d9
enforce a minimum value of the remote idle timeout
...
This prevents a DoS where a peer could send us a really small remote
idle timeout, and we would continuously send it PING frames.
2017-10-03 11:06:31 -07:00
Marten Seemann
0ffb64b5d7
rename the IdleConnectionStateLifetime to RemoteIdleTimeout
2017-10-03 10:48:08 -07:00
Marten Seemann
caf0a0a25a
fix race conditions in the session tests for accepting streams
2017-10-03 03:43:05 -07:00
Marten Seemann
a8b603b7bf
don't negotiate the idle timeout
...
The idle timeout doesn't need to be negotiated, simply announcing it to
the peer is sufficient. We now close the session if there's no incoming
network activity for the duration of the local idle timeout, and we
send a PING frame after half the remote idle timeout (if keep alives are
enabled).
2017-10-02 18:16:27 -07:00
Marten Seemann
52ed5579f7
Merge pull request #861 from lucas-clemente/cert-invalid-integrationtest
...
add an integration test for invalid certificates
2017-10-02 18:16:20 -05:00
Marten Seemann
709eec55b5
improve garbage collection of stream
...
This removes the Iterate method of the streamsMap, and moves the garbage
collection of closed streams from the session to the streamsMap.
2017-10-03 04:04:21 +08:00
Marten Seemann
47d87740ae
add an integration test for invalid certificates
2017-10-02 16:47:40 +08:00
Marten Seemann
a136ceffeb
implement the validation of the version negotiation for the client
2017-10-02 13:51:38 +07:00
Marten Seemann
e01eb322e4
implement the validation of the version negotiation for the server
2017-10-02 13:16:01 +07:00
Marten Seemann
a2988bce8d
send versions in ClientHello and EncryptedExtensions TLS parameters
...
It only sends the right values now, but doesn't yet perform any
validation.
2017-10-02 12:50:17 +07:00
Marten Seemann
6f3d3919df
use separate constructors for client and server for the TLS crypto setup
2017-10-02 11:11:42 +07:00
Marten Seemann
474b036474
Merge pull request #858 from lucas-clemente/omit-instead-of-truncate-connection-id
...
rename connection ID truncation to connection ID omission
2017-09-30 20:40:12 +07:00
Marten Seemann
1931ce502e
Merge pull request #857 from lucas-clemente/maxpacketsize-handshake-param
...
send the maximum packet size in the TLS transport parameters
2017-09-29 23:14:38 +07:00
Marten Seemann
9cb7480050
rename connection ID truncation to connection ID omission
2017-09-29 22:52:54 +07:00
Marten Seemann
dc6d1b6822
send the maximum packet size in the TLS transport parameters
2017-09-29 22:08:12 +07:00
Marten Seemann
8d273d30af
Merge pull request #853 from lucas-clemente/tls-extensions
...
implement the TLS Transport Parameters
2017-09-29 17:51:08 +07:00
Marten Seemann
d9abbb6575
run the self integration tests with the TLS handshake
2017-09-29 17:35:28 +07:00
Marten Seemann
4cbdced106
send the transport parameters in the TLS handshake
2017-09-29 17:35:22 +07:00
Marten Seemann
c95f2054a8
rename the ConnectionParametersManager to ParamsNegotiator
2017-09-28 18:15:33 +07:00
Marten Seemann
ebb4150e63
separate connection parameters negotiation and gQUIC handshake parsing
2017-09-28 18:15:32 +07:00
Marten Seemann
95901cdee4
initialize the connection parameters manager in the crypto setup
2017-09-28 18:15:32 +07:00
Marten Seemann
565869723a
Merge pull request #850 from lucas-clemente/fix-848
...
add an integration test that uses the TLS handshake
2017-09-28 18:12:03 +07:00
Marten Seemann
55c35a3c4e
add an integration test for the TLS handshake
2017-09-28 15:51:59 +07:00
Marten Seemann
c852814973
Merge pull request #849 from lucas-clemente/version-stringer
...
implement a string representation of the version number
2017-09-28 15:51:12 +07:00
Marten Seemann
c858461b79
Merge pull request #851 from lucas-clemente/lowercase-log-level
...
accept lower case log levels for the QUIC_GO_LOG_LEVEL flag
2017-09-28 15:35:43 +07:00
Marten Seemann
0aac33a7be
Merge pull request #847 from lucas-clemente/fix-835
...
use mockgen source mode instead of reflect mode
2017-09-28 15:33:22 +07:00
Marten Seemann
6dde979f8f
implement a string representation of the version number
...
This will be useful as soon as we start supporting non-gQUIC versions.
2017-09-28 15:19:12 +07:00
Marten Seemann
d0a94bb8be
use mockgen source mode instead of reflect mode
...
In reflect mode, mockgen imports the package. Since we recently made
the packages internal, this fails, so we have to use source mode instead.
2017-09-28 15:18:14 +07:00
Marten Seemann
9633ffa06f
accept lower case log levels for the QUIC_GO_LOG_LEVEL flag
2017-09-28 15:12:21 +07:00
Marten Seemann
79c176692e
Merge pull request #852 from lucas-clemente/certs
...
Update certs
2017-09-28 15:11:40 +07:00
Lucas Clemente
a4073bffd3
Update certs
2017-09-28 08:56:31 +02:00
Lucas Clemente
ea4de9a08f
Merge pull request #698 from twdkeule/implement-closeNotifier
...
implement the context for the server http.Request
2017-09-26 14:09:54 +02:00
Marten Seemann
b48f7d9fad
Merge pull request #814 from lucas-clemente/drop-quic36
...
drop support for QUIC 36
2017-09-25 22:51:25 +07:00
Marten Seemann
e729701a94
drop support for version 36
2017-09-25 20:07:34 +07:00
Marten Seemann
2e9bc93b0c
use the mockAEAD as nullAEAD in the crypto setup tests
2017-09-25 20:06:29 +07:00
Marten Seemann
96ebb6237c
Merge pull request #813 from lucas-clemente/drop-quic35
...
drop support for QUIC 35
2017-09-25 20:04:27 +07:00
Marten Seemann
8dbd60a095
drop support for QUIC 35
2017-09-25 19:55:25 +07:00
Marten Seemann
ac5e3e0532
Merge pull request #846 from lucas-clemente/fix-client-bug-check
...
fix encryption level bug check in the client
2017-09-25 19:43:09 +07:00