Commit graph

6249 commits

Author SHA1 Message Date
dependabot[bot]
d40dde9b9b
build(deps): bump golang.org/x/net from 0.17.0 to 0.23.0 (#26) 2024-04-19 12:30:10 -06:00
dependabot[bot]
b5b59e42e9
build(deps): bump github.com/quic-go/quic-go from 0.39.4 to 0.42.0 (#25)
* build(deps): bump github.com/quic-go/quic-go from 0.39.4 to 0.42.0

Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.39.4 to 0.42.0.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.39.4...v0.42.0)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump: go minimum version 1.21

Signed-off-by: Gaukas Wang <i@gaukas.wang>

* update: github action scripts Go version

Signed-off-by: Gaukas Wang <i@gaukas.wang>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Gaukas Wang <i@gaukas.wang>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gaukas Wang <i@gaukas.wang>
2024-04-04 22:52:55 -06:00
dependabot[bot]
4684e2dde1
build(deps): bump github.com/quic-go/quic-go from 0.39.2 to 0.39.4 (#23)
Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.39.2 to 0.39.4.
- [Release notes](https://github.com/quic-go/quic-go/releases)
- [Changelog](https://github.com/quic-go/quic-go/blob/master/Changelog.md)
- [Commits](https://github.com/quic-go/quic-go/compare/v0.39.2...v0.39.4)

---
updated-dependencies:
- dependency-name: github.com/quic-go/quic-go
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-20 00:50:12 -07:00
dependabot[bot]
fa047fddb7
build(deps): bump github.com/cloudflare/circl from 1.3.5 to 1.3.7 (#21)
Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/cloudflare/circl/releases)
- [Commits](https://github.com/cloudflare/circl/compare/v1.3.5...v1.3.7)

---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-08 10:06:36 -07:00
dependabot[bot]
1c8dd085f9
build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#20)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-19 10:15:01 -07:00
Gaukas Wang
a14017fc59
fix: link to quic-go in README.md (#19)
Fix unintended changes that break links to the upstream.
2023-11-13 19:55:57 -07:00
Gaukas Wang
e3be11b1e8
upstream: sync to quic-go v0.39.1
sync to upstream quic-go v0.39.1
2023-10-26 23:56:31 -06:00
Gaukas Wang
92311cd441
fix: go 1.20 failing test 2023-10-26 23:26:51 -06:00
Gaukas Wang
77691ccce8
fix: error after sync 2023-10-26 22:48:59 -06:00
Gaukas Wang
7c77243b04
upstream: sync to 0.39.1 2023-10-26 22:47:22 -06:00
Marten Seemann
2b290742f6 fix IPv4 ECN control message length on FreeBSD (#4110) 2023-10-17 12:51:24 +07:00
Gaukas Wang
6b99ab6f6e
Merge pull request #17 from refraction-networking/dependabot/go_modules/golang.org/x/net-0.17.0
build(deps): bump golang.org/x/net from 0.14.0 to 0.17.0
2023-10-11 17:07:49 -06:00
dependabot[bot]
1c92f0caab
build(deps): bump golang.org/x/net from 0.14.0 to 0.17.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 23:04:29 +00:00
Marten Seemann
9a397abc17
update gomock to v0.3.0 (#4087) 2023-09-24 04:38:28 -07:00
Toby
4bdff39ff0
README: add Hysteria (#4085)
* chore: add my project

* fix order
2023-09-24 04:01:03 -07:00
Marten Seemann
4a046185b7
ackhandler: fix ECN mangling detection when packets are lost (#4089)
Some of the 10 testing packets are might be lost, while others might be
CE-marked. We need to detect mangling if all testing packets are either
lost are CE-marked.
2023-09-17 22:08:33 -07:00
Marten Seemann
c12f425803
ackhandler: don't fail ECN validation if less than 10 testing packets are lost (#4088)
* ackhandler: don't fail ECN validation less than 10 testing packets lost

* ackhandler: simplify checks for mangling and loss of all testing packets
2023-09-17 23:00:05 +04:00
Marten Seemann
9010cfd2bb
remove unused unknownPacketHandler interface (#4093) 2023-09-17 05:20:13 -07:00
Marten Seemann
22fb59ee6f
create FUNDING.yml 2023-09-17 05:18:43 -07:00
Marten Seemann
55eebd49ff
return the cancellation cause for cancelled dials (#4078) 2023-09-16 05:37:58 -07:00
Marten Seemann
1affe38703
move MaxTokenAge configuration option to the Transport (#4084) 2023-09-16 05:10:20 -07:00
Marten Seemann
9b82196578
make the logging.Tracer and logging.ConnectionTracer a struct (#4082) 2023-09-16 04:58:51 -07:00
Marten Seemann
d8cc4cb3ef
http3: introduce an HTTP/3 error type (#4039)
* http3: introduce an HTTP/3 error type

* http3: use a pointer receiver for the Error
2023-09-16 04:57:50 -07:00
Marten Seemann
ab1c1be9a9
basic ClusterFuzzLite integration (#4034) 2023-09-15 09:57:13 -07:00
Marten Seemann
22eac50276
ci: combine the go generate workflow with the linting workflow (#4053)
* ci: combine the go generate workflow with the linting workflow

* reorder
2023-09-15 09:56:20 -07:00
Marten Seemann
5b25d8b5be
ci: fail if any Go files contain an ignore directive (#4055) 2023-09-15 18:35:53 +07:00
Marten Seemann
c1ce4a8e92
http09: increase the startup timeout in tests (#4071) 2023-09-15 18:35:09 +07:00
Marten Seemann
862e64c7b9
add a Transport config option for the key used to encrypt tokens (#4066)
* add a Transport config option for the key used to encrypt tokens

* handshake: remove unused error return values
2023-09-15 18:33:57 +07:00
Benedikt Spies
37a3c417a7
expose GSO usage through ConnectionState (#4083) 2023-09-13 23:55:49 -07:00
Marten Seemann
7599f81faf
ci: clean up Codecov ignore list (#4081) 2023-09-12 04:37:12 -07:00
Marten Seemann
d52e9f35bc
ackhandler: detect ECN mangling (#4080)
* ackhandler: detect ECN mangling

Mangling means that a path is re-marking all ECN-marked packets as CE.

* ackhandler: only detect ECN mangling once all testing packets were sent
2023-09-11 23:18:33 -07:00
Marten Seemann
2a8dc12a53
remove duplicate mocks for the Tracer and the ConnectionTracer (#4076)
They were introduced to avoid an import loop in the tests in the logging
package, but the same can be achieved by having a dedicated package for
the tests (logging_test).
2023-09-11 23:12:13 -07:00
Ameagari
d1f6ea997c
save the RTT in non-0-RTT session tickets (#4042)
* also send session ticket when 0-RTT is disabled for go1.21

* allow session ticket without transport parameters

* do not include transport parameters for non-0RTT session ticket

* remove the test assertion because it is not supported for go1.20

* Update internal/handshake/session_ticket.go

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

* add a 0-RTT argument to unmarshaling session tickets

* bump sessionTicketRevision to 4

* check if non-0-RTT session ticket has expected length

* change parameter order

* add test checks

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-09-11 08:05:31 -07:00
Marten Seemann
1f25153884
Merge pull request #4059 from quic-go/ecn
add ECN support
2023-09-11 22:04:31 +07:00
Marten Seemann
d6ac6300a4 feed ECN feedback into the congestion controller 2023-09-11 21:17:31 +07:00
Marten Seemann
797e275293 congestion: rename OnPacketLost to OnCongestionEvent 2023-09-11 21:14:53 +07:00
Marten Seemann
b6ce91bfe7 stop appending to a GSO batch when the ECN marking changes 2023-09-11 21:14:53 +07:00
Marten Seemann
f9cfa248da implement ECN path validation logic, send ECN-marked 1-RTT packets 2023-09-11 21:14:52 +07:00
Marten Seemann
ffe6546833 add tracing and qlogging of state transitions for ECN validation 2023-09-11 20:31:50 +07:00
Marten Seemann
ad63e2a40a trace and qlog the ECN marking on sent and received packets 2023-09-11 20:31:50 +07:00
Marten Seemann
bed8ebbd4c distinguish coalesced and 1-RTT packets when determining ECN mode 2023-09-11 20:31:50 +07:00
Marten Seemann
8df7624c07 add a QUIC_GO_DISABLE_ECN env to disable ECN support 2023-09-11 20:31:50 +07:00
Marten Seemann
b73a4de7ea only add an ECN control message if ECN is supported 2023-09-11 20:31:50 +07:00
Marten Seemann
5dd6d91c11 send and track packets with ECN markings 2023-09-11 20:31:50 +07:00
Marten Seemann
f919473598 add support for writing the ECN control message (Linux, macOS) 2023-09-11 20:31:49 +07:00
Marten Seemann
a7f807856c
randomize the serialization order of control frames (#4069)
* randomize the serialization order of control frames

* add comment for packetPacker.appendPacketPayload
2023-09-10 21:49:29 -07:00
Marten Seemann
abfe1ef548
remove Config.MaxRetryTokenAge, set it to the handshake timeout (#4064)
There is no good reason to manually set the validity period for Retry
tokens. Retry tokens are only valid on a single connection during the
handshake, so it makes sense to limit their validity to the configured
handshake timeout.
2023-09-10 13:53:12 +07:00
Marten Seemann
e1fcac3e46
set the handshake timeout to twice the handshake idle timeout (#4063) 2023-09-09 06:12:37 -07:00
Marten Seemann
54b76ceb3e
ackhandler: use the receive time of the Retry packet for RTT estimation (#4070) 2023-09-09 06:12:19 -07:00
Marten Seemann
dc0369cad4
remove TLS post-handshake message reassembly logic (#4073)
Go 1.21.1 was released, which fixed the bug that made this workaround
necessary.
2023-09-06 21:27:03 -07:00