Marten Seemann
61f558a2b6
Merge pull request #579 from lucas-clemente/stream-deadlines
...
implement stream deadlines
2017-07-16 12:08:24 +07:00
Marten Seemann
56155986e9
read the CI timescale factor from an environment variable
2017-07-15 23:51:24 +07:00
Marten Seemann
cfc7d1604d
scale all deadline duration in stream tests on the CIs by 20
...
This allows us to run the tests faster locally. On the CIs, where the
timing is less accurate, the tests take longer, but won't be flaky.
2017-07-15 23:46:15 +07:00
Marten Seemann
e09993403d
add stream deadlines to the Stream interface
2017-07-15 23:46:15 +07:00
Marten Seemann
1acdc5f18e
implement write deadlines
2017-07-15 23:46:15 +07:00
Marten Seemann
5720e8af7d
implement read deadlines
2017-07-15 23:46:15 +07:00
Marten Seemann
a70ae86f5a
replace the sync.Cond for stream.Write() by a channel
2017-07-15 23:46:15 +07:00
Marten Seemann
5fbd52158f
replace the sync.Cond for stream.Read() by a channel
2017-07-15 23:46:15 +07:00
Marten Seemann
bd693193ed
Merge pull request #739 from lucas-clemente/fix-738
...
fix timestamp test such that it works in all timezones
2017-07-15 20:50:58 +07:00
Marten Seemann
e87c8cafcf
Merge pull request #740 from lucas-clemente/benchmark-tests-race-detector
...
run benchmark tests with the race detector on Travis
2017-07-15 20:48:00 +07:00
Marten Seemann
584e23454e
run benchmark tests with the race detector on Travis
2017-07-15 14:54:37 +07:00
Marten Seemann
33260d91a2
fix timestamp test such that it works in all timezones
2017-07-15 11:23:42 +07:00
Marten Seemann
5de4d3ccb5
Merge pull request #736 from lucas-clemente/fix-735
...
implement a function to close the h2quic.RoundTripper and run it as a finalizer
2017-07-12 20:44:59 +07:00
Marten Seemann
65cea185bd
use a finalizer to close the h2quic.RoundTripper
...
The finalizer is executed when the RoundTripper is garbage collected.
This is not a perfect solution, since there are situations when an
unneeded RoundTripper is not garbage collected, e.g. when the program
exits before the GC ran. In those cases, the server will run into the
idle timeout and eventually close the connection on its side.
2017-07-12 19:20:21 +07:00
Marten Seemann
67e5d4aa98
Merge pull request #661 from lucas-clemente/drop-go17
...
drop support for Go 1.7
2017-07-12 18:57:10 +07:00
Marten Seemann
bf6030a855
implement a function to close the h2quic.RoundTripper
...
h2quic.RoundTripper.Close() closes all QUIC connections that this
roundtripper has used.
2017-07-12 18:56:47 +07:00
Marten Seemann
ac63554791
drop support for Go 1.7
2017-07-12 18:43:18 +07:00
Lucas Clemente
14687ee1ec
Merge pull request #708 from lucas-clemente/lucas-clemente-patch-1
...
Add Go 1.9beta2 to travis config
2017-07-12 12:08:32 +02:00
Marten Seemann
5b1d10e395
Merge pull request #731 from lucas-clemente/fix-730
...
don't close the client connection when the Public Header can't be parsed
2017-07-12 16:57:08 +07:00
Marten Seemann
964db88fbb
Merge pull request #733 from lucas-clemente/fix-732
...
don't send PINGs before the handshake is completed
2017-07-12 16:54:59 +07:00
Lucas Clemente
5ac8e1e547
Add Go 1.9beta2 to travis config
2017-07-12 11:52:50 +02:00
Marten Seemann
7341282f27
don't send PINGs before the handshake is completed
2017-07-12 11:14:03 +07:00
Marten Seemann
79642d502e
don't close the client connection when the Public Header can't be parsed
...
When receiving an unparseable packet with a spoofed remote address, we
should not close the connection.
2017-07-11 21:36:36 +07:00
Marten Seemann
58899d0e02
Merge pull request #729 from lucas-clemente/fix-34
...
implement receiving of Public Resets for the client
2017-07-11 21:00:14 +07:00
Marten Seemann
0867352b26
implement receiving of Public Resets for the client
...
When a Public Reset is received, the client validates if it was sent
from the correct remote address and if the connection ID matches. When a
valid Public Reset is received, the connection is closed immediately.
2017-07-11 20:42:55 +07:00
Marten Seemann
3176a2aefa
Merge pull request #728 from lucas-clemente/various-session-improvements
...
various session improvements
2017-07-11 19:05:53 +07:00
Marten Seemann
4898f4205c
properly put back the packet buffer when sending a packet fails
2017-07-11 18:43:27 +07:00
Marten Seemann
1d120f5ea1
remove unneeded check for nil packets in session.sendConnectionClose
...
This was needed when logic in the packet packer was a lot more
complicated. Now that packing a CONNECTION_CLOSE is a separate code
path, this check isn't needed anymore.
2017-07-11 18:43:27 +07:00
Marten Seemann
6973d71697
remove unneeded if statement in session.logPacket
2017-07-11 18:43:27 +07:00
Marten Seemann
c80bd6ff2c
introduce a session.closeRemote, simplify error handling
2017-07-11 17:48:42 +07:00
Marten Seemann
6f48a1ebb4
Merge pull request #727 from lucas-clemente/fix-another-flaky-stk-test
...
fix check for STK generation time
2017-07-11 16:47:27 +07:00
Marten Seemann
d72c0c80bc
fix check for STK generation time
2017-07-11 16:33:06 +07:00
Marten Seemann
598d36ae96
Merge pull request #722 from lucas-clemente/fix-677
...
expose the quic.Config in h2quic.Server and h2quic.RoundTripper
2017-07-10 23:16:50 +08:00
Marten Seemann
ee6ca8dfb4
expose the quic.Config in the h2quic.RoundTripper
2017-07-10 22:00:03 +07:00
Marten Seemann
abb9594af8
change order of function parameters for the h2quic.client constructor
2017-07-10 22:00:03 +07:00
Marten Seemann
cb81a95ceb
make the dependency-injected dialAddr in h2quic.client a global variable
...
It's only used for testing, so there's no need to have in each
h2quic.client instance.
2017-07-10 21:59:58 +07:00
Marten Seemann
d94b57fe29
expose the quic.Config in the h2quic.Server
2017-07-10 21:57:31 +07:00
Marten Seemann
79c7ed4ed1
dependency-inject quic.Listen and quic.ListenAddr in h2quic.Server
2017-07-10 21:57:31 +07:00
Marten Seemann
e21f74d317
Merge pull request #725 from lucas-clemente/fix-700
...
increase RTT and make assertion more lenient in handshake test
2017-07-10 22:55:33 +08:00
Marten Seemann
e291066e48
increase RTT and make assertion more lenient in handshake test
2017-07-10 17:21:52 +08:00
Marten Seemann
3157e2da99
Merge pull request #719 from lucas-clemente/fix-718
...
improve proxy tests
2017-07-07 17:08:27 +02:00
Marten Seemann
32bc70ba0c
fix flaky proxy test
2017-07-07 12:23:34 +02:00
Marten Seemann
c776a35b68
bind proxy to random port in proxy tests
2017-07-07 12:23:34 +02:00
Lucas Clemente
dc3b85f020
Merge pull request #537 from lucas-clemente/wip-no-docker
...
Replace docker with a directly launched Chrome for integration tests
2017-07-07 12:18:25 +02:00
Lucas Clemente
b6b4283d3f
Retry starting Chrome if it doesn't hit the endpoints
2017-07-07 12:06:16 +02:00
Lucas Clemente
e0ba8b082d
Replace docker with a directly launched Chrome for integration tests
...
The benefits:
- Speed up chrome tests (from 160s to 34s on my machine).
- Allow us to remove docker, which caused quite a few headaches.
- Gets us a more current Chrome, so now we run tests against all
supported versions.
- We don't touch the FS anymore.
- We no longer depend on sudo for travis, which means we can use
their new container-based infrastructure. This also speeds up our
tests :)
Tests are now implemented in javascript; the server detects when
they are complete and kills Chrome.
Fixes #417 .
2017-07-07 12:05:48 +02:00
Lucas Clemente
bbf8977f64
Change h2quic.Server.Serve() to accept a net.PacketConn
2017-07-05 21:02:13 +02:00
Lucas Clemente
bf8ae2bb50
Pass -v to ginkgo in integrationtests
2017-07-05 21:02:13 +02:00
Lucas Clemente
bda9b4264f
Merge pull request #593 from krish7919/525-make-keepalive-configurable
...
Add keepalive support for clients in quic.Config
2017-07-05 20:38:29 +02:00
krish7919 (Krish)
755dedf1ff
Add keepalive support for clients in quic.Config
...
Fixes #525 .
2017-07-05 20:29:28 +02:00