Marten Seemann
584e23454e
run benchmark tests with the race detector on Travis
2017-07-15 14:54:37 +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
Marten Seemann
649933d17b
Merge pull request #713 from lucas-clemente/remove-tlsconfig-from-quicconfig
...
remove the tls.Config from the quic.Config
2017-07-03 22:45:13 +02:00
Lucas Clemente
7906822e98
Merge pull request #714 from lucas-clemente/go1.9-cookie-fix
...
Fix cookie test for Go1.9
2017-07-03 22:17:55 +02:00
Marten Seemann
a851aaacda
remove the tls.Config from the quic.Config
...
The tls.Config now is a separate parameter to all Listen and Dial
functions in the quic package.
2017-07-03 22:12:09 +02:00
Lucas Clemente
890b801a60
Merge pull request #716 from lucas-clemente/certs
...
Update certs
2017-07-03 22:10:35 +02:00
Lucas Clemente
65dc8f139f
Update certs
2017-07-03 21:58:47 +02:00
Lucas Clemente
5c28e8d164
Fix cookie test for Go1.9
2017-07-03 13:57:11 +02:00
Marten Seemann
1db20be62e
Merge pull request #711 from lucas-clemente/fix-710
...
fix flaky STK test
2017-06-27 18:20:52 +02:00
Marten Seemann
73bd3772d5
fix flaky STK test
2017-06-27 18:01:19 +02:00
Marten Seemann
1c1d7cc68b
Merge pull request #706 from lucas-clemente/fix-705
...
rename the h2quic.QuicRoundTripper to h2quic.RoundTripper
2017-06-26 20:17:59 +02:00
Marten Seemann
9df3380bc6
rename the h2quic.QuicRoundTripper to h2quic.RoundTripper
2017-06-26 19:14:41 +02:00
Marten Seemann
a1680e8670
Merge pull request #702 from lucas-clemente/fix-691
...
fix INVALID_STREAM error when a retransmission for a server-side stream arrives after the stream is closed
2017-06-23 10:46:32 +02:00