Commit Graph

1891 Commits

Author SHA1 Message Date
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
Marten Seemann
f333a9b3e7 fix stream id checks in streamsMap
There were several bugs here:
- We must always return an error when the peer tries to open a stream
from the wrong side.
- We must never return an error when GetOrOpenStream is called for a
stream that was already closed. GetOrOpenStream is called when a frame
on a stream is received, so this happens when we receive retransmissions
of STREAM frames for a closed stream. We only used to do that check for
peer-initiated streams, not for streams we opened ourselves.
2017-06-22 22:09:21 +02:00
Lucas Clemente
1106fbf5a1 Merge pull request #701 from lucas-clemente/lucas-clemente-patch-1
Update appveyor to use Go 1.8.3
2017-06-21 18:55:59 +02:00
Lucas Clemente
a6af663a07 Update appveyor to use Go 1.8.3 2017-06-21 18:40:12 +02:00
Lucas Clemente
a3fdd530c1 Merge pull request #692 from phuslu/nerrors
Implement Timeout()/Temproary() for QuicError
2017-06-21 18:26:50 +02:00
Lucas Clemente
a050f3f644 Merge pull request #699 from lucas-clemente/rph-alarm
Simplify RPH ack alarm to be in line with the SPH alarm
2017-06-21 17:34:08 +02:00
Lucas Clemente
627b762421 Simplify RPH ack alarm to be in line with the SPH alarm 2017-06-21 13:58:41 +02:00
Lucas Clemente
d3baf5282a Removed unused timer in RPH (?!) 2017-06-21 13:47:57 +02:00
Lucas Clemente
cf63d2ec7a Merge pull request #695 from lucas-clemente/send-refactor
Session.Send refactor
2017-06-21 11:31:46 +02:00
Lucas Clemente
a0aba76df9 QueueControlFrameForNextPacket -> QueueControlFrame 2017-06-21 11:16:28 +02:00
Lucas Clemente
3300b6cef0 Store ackframe along with swf in the packet packer 2017-06-21 11:16:28 +02:00
Lucas Clemente
efc9ec5051 Add packer.SetLeastUnacked and remove the parameter from the Pack* functions 2017-06-21 11:16:28 +02:00
Lucas Clemente
4064c75d97 Minor cleanups of session.Send, no functional change 2017-06-21 11:16:28 +02:00
Lucas Clemente
1057c3af14 Merge pull request #694 from lucas-clemente/fix-576
Send ACKs and SWFs even if we are congestion limited
2017-06-21 11:16:04 +02:00
Lucas Clemente
2b69cc2e3d Add a session test for sending ACK-only packets 2017-06-21 11:09:42 +02:00
Lucas Clemente
ff8c75a22e Send ACKs and SWFs even if we are congestion limited
Fixes #576.
2017-06-20 23:41:36 +02:00
Lucas Clemente
fc8d937fce Move calls to GetWindowUpdate out of the send loop 2017-06-20 23:41:36 +02:00