Lucas Clemente
65dc8f139f
Update certs
2017-07-03 21:58:47 +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
Marten Seemann
967dc7cb46
add a test for using the tls.Config.ServerName as the hostname
2017-06-20 09:28:40 +02:00
Lucas Clemente
d6e2b3a465
Merge pull request #688 from lucas-clemente/fix-505
...
Fix non-retransmittable packet handling in SPH
2017-06-19 20:53:55 +02:00
Lucas Clemente
472f2b24c0
Don't call OnAlarm() if no alarm is set
2017-06-19 16:13:09 +02:00
Lucas Clemente
515f4b3dcd
Don't require ACKs of non-retransmittable packets
...
The way this is implemented here is not particularly nice, but will improve in the future once we implement spurious RTO decection #687 (where we'll need a packetHistory similar to Chrome's). In particular, we don't consider non-retransmittable packets for RTT measurements or for early retransmit. While that might impact performance in some edge cases, it shouldn't be worse than before :)
Fixes #505 .
2017-06-19 14:38:17 +02:00
Lucas Clemente
3cf7e061c5
Fix the order of dequeueing lost packets
2017-06-19 14:10:17 +02:00
Lucas Clemente
833da82726
Move retransmittable frame logic to the ackhandler package
2017-06-19 14:10:17 +02:00
Phus Lu
25f901bee3
use Config.TLSConfig.ServerName as client hostname if provided
...
Currently quic client always parse `hostname` from the addr. It prevent us to specific a different `hostname` to the client.
This PR is to enable this by the `TLSConfig.ServerName` field. Thanks.
Signed-off-by: Phus Lu <phuslu@hotmail.com >
2017-06-19 17:02:52 +08:00
Marten Seemann
f9659428c7
Merge pull request #681 from lucas-clemente/session-logging
...
add some more logging to the session
2017-06-16 21:01:13 +02:00
Marten Seemann
45310d5898
Merge pull request #682 from lucas-clemente/fix-rtt-test
...
increase RTT and time constraints in handshake RTT tests
2017-06-16 15:06:55 +02:00
Marten Seemann
99527cf3d4
log the local address when starting a new connection in the client
2017-06-16 15:00:48 +02:00
Marten Seemann
2a2375f787
log undecrytable packets after the handshake
2017-06-16 15:00:48 +02:00
Marten Seemann
248bec97f9
log connection ID for sent packets
2017-06-16 15:00:48 +02:00
Marten Seemann
10cbb59828
Merge pull request #684 from lucas-clemente/fix-683
...
fix flaky proxy tests
2017-06-16 14:55:23 +02:00
Marten Seemann
97914a096a
Merge pull request #680 from lucas-clemente/waituntilclosed
...
add a method to the session that blocks until it is closed
2017-06-16 14:07:43 +02:00
Marten Seemann
ab1aaf9355
fix flaky proxy tests
2017-06-16 13:24:13 +02:00
Marten Seemann
55dbc3c52f
increase RTT and time constraints in handshake RTT tests
2017-06-16 12:49:42 +02:00