Commit Graph

  • 57e46f8a4c split SNI and ECH extensions in the ClientHello (#5107) Marten Seemann 2025-05-05 19:04:10 +08:00
  • 11ccfff388 ci: remove stray GITREF env from Docker interop workflow (#5119) Marten Seemann 2025-05-05 18:56:10 +08:00
  • 2082d2c6b9 move connection tracking into the Transport (#5113) Marten Seemann 2025-05-05 11:05:17 +08:00
  • 6ef55ca271 ci: bump golangci-lint-action to v8 and golangci-lint to v2.1.6 (#5118) dependabot[bot] 2025-05-05 04:45:38 +02:00
  • 44207b8e72 http3: reset request streams accepted after graceful shutdown (#5116) Marten Seemann 2025-05-05 10:28:01 +08:00
  • 9b3ff059fc delete closed connections after 3 PTOs (#5117) Marten Seemann 2025-05-04 18:51:39 +08:00
  • be709c10fd ci: also build the interop image on pull requests, but skip pushing (#5115) Marten Seemann 2025-05-04 13:07:44 +08:00
  • e1a1251c84 http3: send GOAWAY frame in a new Goroutine (#5114) Marten Seemann 2025-05-04 12:21:03 +08:00
  • a0a641d59a ci: set a 30 minute timeout for the interop Docker job (#5112) Marten Seemann 2025-05-04 11:35:46 +08:00
  • 4d39fc31c5 simplify tracking of Transports for connection migration (#5111) Marten Seemann 2025-05-03 22:06:23 +08:00
  • 97e7657df5 delete retired connection IDs after 3 PTOs (#5109) Marten Seemann 2025-05-03 20:24:40 +08:00
  • 55229d3f21 remove periodic logging functionality from packet handler map (#5110) Marten Seemann 2025-05-03 20:11:57 +08:00
  • d7b8447e0e fix dequeuing logic for tiny CRYPTO frames (#5104) Marten Seemann 2025-05-02 00:35:11 +08:00
  • 9d06679273 http3: migrate the server tests away from Ginkgo (#5085) Marten Seemann 2025-04-30 12:53:37 +08:00
  • e4bb2dbd55 fix parsing of interface index in packet info cmsg on big endian architectures (#5094) Zxilly 2025-04-30 10:30:35 +08:00
  • 41cc01890d http3: return http.ErrServerClosed for ServeQUICConn after Server.Close (#5095) Marten Seemann 2025-04-29 18:05:14 +08:00
  • 5daf5b6535 http3: remove Alt-Svc entry when Server.Serve returns (#5093) Marten Seemann 2025-04-29 11:58:10 +08:00
  • dae68d7ca0 http3: use a slice instead of a map to store active listeners (#5087) Marten Seemann 2025-04-29 10:08:41 +08:00
  • a9d8093eaf http3: fix documentation for Hijacker and HTTPStreamer (#5089) TheoTechnicguy 2025-04-29 03:55:43 +02:00
  • f2b1842d52 http3: use httptest.NewRequest (#5086) Marten Seemann 2025-04-29 09:45:04 +08:00
  • 597fee0b34 ackhandler: migrate the packet number generator tests away from Ginkgo (#5081) Marten Seemann 2025-04-27 17:27:28 +08:00
  • e423d4d184 http3: migrate the frames tests away from Ginkgo (#5067) Marten Seemann 2025-04-27 15:44:32 +08:00
  • d84d985b92 http3: migrate the body tests away from Ginkgo (#5078) Marten Seemann 2025-04-26 21:48:34 +08:00
  • 7437cff1e0 http3: migrate the datagram tests away from Ginkgo (#5076) Marten Seemann 2025-04-24 14:23:56 +08:00
  • d678f9a86c http3: migrate the response writer tests away from Ginkgo (#5075) Marten Seemann 2025-04-23 13:52:22 +08:00
  • 3d3922da47 http3: migrate the capsule tests away from Ginkgo (#5073) Marten Seemann 2025-04-22 20:03:32 +08:00
  • ad0ffcbd37 http3: check response writer for http.ResponseController methods (#5071) Marten Seemann 2025-04-22 19:37:26 +08:00
  • 89d9984156 http3: simplify request writer by writing to an io.Writer (#5070) Marten Seemann 2025-04-22 19:24:46 +08:00
  • f1c7a5df73 http3: migrate the headers tests away from Ginkgo (#5068) Marten Seemann 2025-04-22 18:54:31 +08:00
  • 4c9f6df723 http3: migrate the request writer tests away from Ginkgo (#5069) Marten Seemann 2025-04-22 18:53:48 +08:00
  • b3f55bb7b7 use assert.AnError consistently in tests (#5066) Marten Seemann 2025-04-21 09:52:08 +08:00
  • d35b5ac187 use ed25519 instead of RSA in tests and examples (#5050) v0.51.0 Marten Seemann 2025-04-20 11:55:08 +08:00
  • 03e9359e38 improve documentation of errors returned from connection and streams (#5061) Marten Seemann 2025-04-20 10:56:11 +08:00
  • 65d75f1ffb fix panic when probe packet containing a PATH_RESPONSE is lost (#5063) Marten Seemann 2025-04-20 10:49:59 +08:00
  • a1aa369464 don't use net.Errors for streams map error (#5060) Marten Seemann 2025-04-19 22:16:47 +08:00
  • 9e1afd4fb4 migrate the streams map tests away from Ginkgo (#5040) Marten Seemann 2025-04-19 21:53:40 +08:00
  • 79e5680890 migrate the retransmission queue tests away from Ginkgo (#5054) Marten Seemann 2025-04-19 20:47:17 +08:00
  • 2cfc9b8596 refactor retransmission queue to enable splitting of 1-RTT CRYPTO frames (#5058) Marten Seemann 2025-04-19 20:14:55 +08:00
  • 0c1db893f9 fix flaky TestStreamsMapOutgoingRandomizedOpenStreamSync (#5056) Marten Seemann 2025-04-19 18:55:58 +08:00
  • 02fea84c12 simplify the API of the retransmission queue (#4793) Marten Seemann 2025-04-19 16:35:16 +08:00
  • 7548cc069a protocol: fix flaky TestVersionGreasing (#5051) Marten Seemann 2025-04-19 16:19:00 +08:00
  • 267cca773b switch from math/rand to math/rand/v2 (#5045) Marten Seemann 2025-04-19 15:01:22 +08:00
  • c60438c528 migrate the outgoing streams map tests away from Ginkgo (#5033) Marten Seemann 2025-04-19 14:12:35 +08:00
  • f4c478b627 fix potential deadlock when OpenStreamSync context is cancelled (#5037) Marten Seemann 2025-04-19 13:48:18 +08:00
  • b645ce35a2 use a slice instead of a map to track waiting OpenStreamSync calls (#5036) Marten Seemann 2025-04-19 10:17:53 +08:00
  • cda52a1e36 evict old paths when the client probes a new path (#5034) Marten Seemann 2025-04-19 10:10:54 +08:00
  • 7cffd500f1 clarify that Config.InitialPacketSize constitutes a lower limit (#5047) Marten Seemann 2025-04-14 21:44:32 +08:00
  • 0894931c64 protocol: use math/rand/v2 to generate greased versions (#5046) Marten Seemann 2025-04-14 20:30:04 +08:00
  • e3f1b7c410 switch packet packer to math/rand/v2 (#5044) Marten Seemann 2025-04-14 18:12:48 +08:00
  • e2031b7aeb use clickable links in documentation, fix list styling (#4955) Mark Rushakoff 2025-04-14 01:44:29 -04:00
  • 0ac0c1e72c improve documentation for the ConnectionIDGenerator (#5043) Marten Seemann 2025-04-14 12:41:17 +08:00
  • 848c355079 simplify path probe PING frame packing logic (#5028) Marten Seemann 2025-04-14 11:47:58 +08:00
  • 97da280142 implement closing of paths probed for connection migration (#4979) Marten Seemann 2025-04-13 19:59:43 +08:00
  • 26ba8d978f fix flaky TestServerCreateConnection (#5039) Marten Seemann 2025-04-13 13:20:52 +08:00
  • 23ec5b957c fix flaky TestDatagramLoss (#5017) Peter Wu 2025-04-12 10:59:14 +02:00
  • 57830ad295 migrate the incoming streams map tests away from Ginkgo (#4957) Marten Seemann 2025-04-12 14:11:34 +08:00
  • 213b54b010 fix flaky TestServer0RTTReordering (#5032) Marten Seemann 2025-04-12 12:29:11 +08:00
  • a15ea40aa4 fix flaky TestConnectionPathValidation (#5030) Marten Seemann 2025-04-12 11:19:08 +08:00
  • c9c2c86516 fix flaky TestDial test (#5029) Marten Seemann 2025-04-12 10:39:47 +08:00
  • ef2b87f5d5 detect stateless resets for zero-length connection IDs (#5027) Marten Seemann 2025-04-11 21:23:53 +08:00
  • e76621f75a register stateless reset tokens for connection IDs used on paths (#5023) Marten Seemann 2025-04-09 09:31:41 +07:00
  • 84aba71c86 refactor connection ID manager to use a slice instead of a linked list (#5022) Marten Seemann 2025-04-08 17:02:58 +07:00
  • 79d546379b rename ClientHelloInfo to ClientInfo (#5016) Marten Seemann 2025-03-31 21:15:09 +07:00
  • 3fd4f95a3b http3: simplify ConfigureTLSConfig (#5011) Marten Seemann 2025-03-30 20:17:39 +07:00
  • 1d8f3f281a ci: update golangci-lint to v2 (#5007) Marten Seemann 2025-03-30 12:16:14 +07:00
  • 4290638b55 quicvarint: refactor ifs into a switch statement (#5012) Marten Seemann 2025-03-29 23:03:18 +07:00
  • 78c51264b0 retransmit path probe packets (#5005) Marten Seemann 2025-03-29 13:48:08 +07:00
  • 384a4b8d50 proxy: fix test timeout failures during cleanup (#5010) Peter Wu 2025-03-29 06:04:18 +01:00
  • 623e59b2a2 ackhandler: fix qlogging of path probe timer resets and cancellations (#5003) Marten Seemann 2025-03-23 22:02:30 +07:00
  • b90058aba5 ackhandler: fix panic in probe packet tracking logic (#4998) v0.50.1 Marten Seemann 2025-03-21 12:28:19 +07:00
  • 017ed984f3 ackhandler: fix panic in probe packet tracking logic (#4998) Marten Seemann 2025-03-21 12:28:19 +07:00
  • da127a9a53 fix flaky TestServerGetConfigForClientAccept (#4999) Marten Seemann 2025-03-21 12:05:46 +07:00
  • e4641d0325 fix flaky TestConnectionConnectionIDChanges (#4995) Marten Seemann 2025-03-16 11:36:26 +07:00
  • f063e25d41 fix flaky TestServerGetConfigForClientReject (#4994) Marten Seemann 2025-03-16 11:21:51 +07:00
  • 6fe46d6253 send PATH_RESPONSEs on the same path (#4991) Marten Seemann 2025-03-16 10:28:53 +07:00
  • 7e3d668981 qlog: fix logging of unset addresses in preferred_address transport parameter (#4986) Marten Seemann 2025-03-16 10:07:20 +07:00
  • 3311514d67 http3: reject duplicate pseudo headers (#4993) pittgi 2025-03-16 03:52:25 +01:00
  • 8f23c8a404 also send PATH_RESPONSEs for reordered packets (#4990) Marten Seemann 2025-03-16 09:46:33 +07:00
  • 9ca74c7049 wire: correctly handle undefined IPv4 / IPv6 preferred address values (#4985) Marten Seemann 2025-03-15 11:27:28 +07:00
  • 24acc54ef1 add support for connection migration (#4960) Marten Seemann 2025-03-12 12:11:11 +07:00
  • 0a2c2f0a82 extend connection ID generator to interact with multiple Transports (#4974) Marten Seemann 2025-03-12 11:47:58 +07:00
  • 565b7f75ab fix flaky TestServerClose (#4973) Marten Seemann 2025-03-06 08:30:52 +01:00
  • 08a89e9f8b migrate the server tests away from Ginkgo (#4969) Marten Seemann 2025-03-03 10:58:51 +01:00
  • 09bb613c66 trace dropping of unknown-version packets when Version Negotiation is off (#4971) Marten Seemann 2025-02-24 13:57:22 +01:00
  • 751ca8dfb6 fix typo in UDP connection helper function in tests (#4970) Marten Seemann 2025-02-24 09:39:29 +01:00
  • 6033030017 proxy: add source and destination address to delay and drop callbacks (#4964) Marten Seemann 2025-02-22 12:21:40 +01:00
  • eb2f986a06 refactor connection ID generator callback handling (#4961) Marten Seemann 2025-02-22 12:06:01 +01:00
  • d726a795db remove unneeded tracking of acknowledgments for PATH_CHALLENGEs (#4959) v0.50.0 Marten Seemann 2025-02-16 04:37:12 +01:00
  • 9f704c72cf ackhandler: fix handling of lost path probes on loss timer (#4956) Marten Seemann 2025-02-14 15:29:42 +01:00
  • bf28da8346 handshake: use new crypto/tls 0-RTT API (#4953) Marten Seemann 2025-02-14 03:17:01 +01:00
  • b32f1fa0e4 ackhandler: use Go iterators to iterate over sent packets (#4952) Marten Seemann 2025-02-13 13:53:25 +01:00
  • 12f2be058b bump go.mod version to Go 1.23, run 1.23 and 1.24 on CI (#4880) Marten Seemann 2025-02-13 12:49:54 +01:00
  • 5af39164b9 ci: update golangci-lint to v1.64.4 (#4951) Marten Seemann 2025-02-13 12:33:45 +01:00
  • 48b8182339 keep undecryptable packets when deriving 0-RTT and handshake keys (#4950) Marten Seemann 2025-02-13 06:31:02 +01:00
  • 5a1a34df37 implement server-side path validation logic (#4944) Marten Seemann 2025-02-12 13:50:11 +01:00
  • ca26e98781 migrate the connection ID generator tests away from Ginkgo (#4948) Marten Seemann 2025-02-12 12:00:32 +01:00
  • b47e86cb7f add a way to reset the MTU discoverer (#4947) Marten Seemann 2025-02-11 04:50:37 +01:00
  • 73108c2a51 fix connection busy-looping when pacing with a blocked send queue (#4943) Marten Seemann 2025-01-28 15:10:18 +01:00
  • 108b6603c8 ackhandler: implement timer logic for path probe packets (#4940) Marten Seemann 2025-01-28 06:10:44 +01:00
  • 6b9921bbfc refactor connection timer logic (#4927) Marten Seemann 2025-01-28 05:08:05 +01:00