Commit Graph

1729 Commits

Author SHA1 Message Date
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
Lucas Clemente
9d428d92f7 Merge pull request #690 from lucas-clemente/packer-refactoring
Packer refactoring
2017-06-20 23:38:38 +02:00
Lucas Clemente
1aa9b68a34 Merge pull request #693 from lucas-clemente/phuslu-master
use TLSConfig.ServerName as the client hostname if provided
2017-06-20 11:33:03 +02:00
Phus Lu
13abf7800f implement Timeout() for QuicError 2017-06-20 16:39:29 +08:00
Lucas Clemente
6157eeffdb Factor crypto frame packing into a separate function 2017-06-20 10:38:55 +02:00
Lucas Clemente
8b56b6c169 Separate non-fw retransmissions from the main code path 2017-06-20 10:25:45 +02:00
Lucas Clemente
f1c2163f14 Remove non-retransmittable logic from packer, this is now in ackhandler 2017-06-20 10:25:45 +02:00
Lucas Clemente
e50a03148d Separate the CONN_CLOSE packing path from the normal one 2017-06-20 10:25:45 +02:00
Lucas Clemente
dc3126ba90 Move packet writing and sealing to a new function 2017-06-20 10:25:45 +02:00
Lucas Clemente
cbb640b093 Don't pass the stop waiting frame to the packer as a parameter 2017-06-20 10:25:45 +02:00
Lucas Clemente
495399ede6 Remove PackPacket's control frames parameter
With this change it would theoretically be possible for outdated control frames to be sent, but this is quite unlikely in practice.
2017-06-20 10:25:45 +02:00
twdkeule
d7ddadc7b7 Added test with large RTT (#679)
* Added test with large RTT

* Make RTT test for variable filesize

* Cleanup, don't log to new file

* Run RTT test with multiple RTT's (for only 500kB file)
2017-06-20 10:20:54 +02:00
Marten Seemann
2c920dbfc8 remove obsolete check for tls.Config.ServerName when verifying the cert
The hostname is set to tls.Config.ServerName in the client already, thus
we don't have to read that value again when verifying the certificate.
2017-06-20 09:54:08 +02:00