Commit Graph

  • 27301f791f surface stream error as stream context cancelation cause (#3970) Ferdinand Holzer 2023-07-19 19:12:01 +02:00
  • 5ae28928db http3: reject unknown pseudo headers (#3973) Marten Seemann 2023-07-18 22:42:26 -07:00
  • b6dbfc8c06 http3: reject responses that don't set the :status header (#3975) Marten Seemann 2023-07-18 22:26:46 -07:00
  • 5d59c3059f http3: deduplicate Content-Length headers (#3972) Marten Seemann 2023-07-18 21:52:21 -07:00
  • bb296b8c17 http3: unify handling of request and response headers (#3969) Marten Seemann 2023-07-18 21:39:05 -07:00
  • ad16aa765d http3: refactor header field processing into a separate function (#3971) Marten Seemann 2023-07-18 21:16:50 -07:00
  • 514df55288 http3: enforce ordering requirement between pseudo and regular headers (#3968) Marten Seemann 2023-07-18 09:13:16 -07:00
  • 4378283f95 surface connection error as connection context cancelation cause (#3961) Ferdinand Holzer 2023-07-18 06:31:31 +02:00
  • ab192a084d http3: reject negative values for the Content-Length header (#3966) Marten Seemann 2023-07-17 19:23:54 -07:00
  • c4b3d979bd http3: reject header field values with invalid characters (#3967) Marten Seemann 2023-07-17 18:56:29 -07:00
  • baee8184fc http3: reject header field names with invalid characters (#3965) Marten Seemann 2023-07-17 18:33:24 -07:00
  • 3edacebff0 http3: reject header field that contain non-lowercase characters (#3964) Marten Seemann 2023-07-17 18:16:01 -07:00
  • 8ac22a9483 http3: set the Content-Length header in the http.Request.Header map (#3963) Marten Seemann 2023-07-16 19:26:15 -07:00
  • 3dea8f8a9b http3: don't send more than http.Request.ContentLength bytes (#3960) Marten Seemann 2023-07-16 19:16:52 -07:00
  • de8d7a32b8 http3: return http.ErrContentLength when writing too large response (#3953) WeidiDeng 2023-07-13 14:20:35 +08:00
  • 9e7fa4773a http3: implement FlushError for the response writer (#3951) WeidiDeng 2023-07-13 11:40:53 +08:00
  • 7c1df911f7 http3: validate Host header before sending (#3948) v0.36.2 Marten Seemann 2023-07-11 23:27:24 -07:00
  • f973363046 perform send / receive buffer increases when setting up the connection (#3949) Marten Seemann 2023-07-12 10:54:20 -07:00
  • 418b866e32 perform send / receive buffer increases when setting up the connection (#3949) Marten Seemann 2023-07-12 10:54:20 -07:00
  • 2c4371b6a9 http3: add Date response header if not set (#3952) WeidiDeng 2023-07-13 01:30:33 +08:00
  • f97c9bf88c http3: don't write response headers if the handler panicked (#3950) WeidiDeng 2023-07-13 00:32:33 +08:00
  • fcf8d4b3ff http3: validate Host header before sending (#3948) Marten Seemann 2023-07-11 23:27:24 -07:00
  • 0fe21c7d6f oss-fuzz: manually install Go, fix paths (#3941) Marten Seemann 2023-07-08 16:41:04 -07:00
  • 783d667601 move oss-fuzz build script to this repo (#3940) Marten Seemann 2023-07-06 09:03:18 -07:00
  • fd0c9bbf9e check the length of IPv4 packet info control messages, add log message (#3920) Marten Seemann 2023-07-01 12:03:00 -07:00
  • 0662afba63 stop using math/rand.Seed and Read in tests, bump go.mod version to 1.20 (#3936) Marten Seemann 2023-07-01 11:29:41 -07:00
  • 3d89e545d3 use the new crypto/tls QUIC Transport (#3860) Marten Seemann 2023-07-01 11:15:00 -07:00
  • 4384df18a3 disable GSO unless QUIC_GO_ENABLE_GSO is set (#3934) v0.36.1 Marten Seemann 2023-07-01 10:09:32 -07:00
  • 4a78b51955 update link to the wiki page about UDP buffer sizes (#3924) Marten Seemann 2023-07-01 10:08:25 -07:00
  • 4998733ae1 disable GSO unless QUIC_GO_ENABLE_GSO is set (#3934) Marten Seemann 2023-07-01 10:09:32 -07:00
  • 2f872ea0fb update link to the wiki page about UDP buffer sizes (#3924) Marten Seemann 2023-07-01 10:08:25 -07:00
  • 0c54d416ee transport: don't add connection to multiplexer if init fails (#3931) kelmenhorst 2023-06-29 19:35:16 +02:00
  • 435444af7e add a context to Connection.ReceiveMessage (#3926) Glonee 2023-06-28 02:29:30 +08:00
  • f3875147b9 log STREAM frames in long header packets (#3922) Benedikt Spies 2023-06-27 00:51:56 +02:00
  • efc252ff56 use the UDP_SEGMENT constant defined in the unix package (for GSO) (#3917) Marten Seemann 2023-06-26 14:57:50 +02:00
  • d361637419 simplify syscall consts used for requesting / parsing IPv4 packet info (#3919) Marten Seemann 2023-06-26 10:39:47 +02:00
  • 4b0ca320a3 use unix.IPV6_RECVPKTINFO and unix.IPV6_PKTINFO on all platforms (#3918) Marten Seemann 2023-06-25 20:08:08 +02:00
  • 21388c86bb drop support for draft-29 (#3903) Marten Seemann 2023-06-21 13:06:44 +02:00
  • da298d09e1 docs: improve documentation of OptimizeConn (#3910) v0.36.0 Marten Seemann 2023-06-21 11:52:43 +02:00
  • 8352e5dc32 check for uninitialized fields when closing the Transport (#3908) kelmenhorst 2023-06-21 11:14:57 +02:00
  • 9acce3c6d9 http3: return http.ErrServerClosed instead of quic.ErrServerClosed (#3900) Jean-Francois Giorgi 2023-06-20 18:32:56 +02:00
  • e4fe28930a docs: add detailed description of the quic package (#3902) Marten Seemann 2023-06-20 18:31:39 +02:00
  • 28d5106a1c wire: switch to crypto/rand for greased transport parameter generation (#3904) Marten Seemann 2023-06-20 18:31:12 +02:00
  • f57f876446 respect minimum idle timeout of 3 PTOs (#3909) Benedikt Spies 2023-06-20 10:47:29 +02:00
  • 85764da3b6 docs: improve doc comments for the ConnectionState fields (#3901) Marten Seemann 2023-06-15 10:03:36 +03:00
  • 30527c58c2 frame fuzzer: handle frames one by one (#3884) Marten Seemann 2023-06-13 23:44:25 +03:00
  • c52b583561 Merge pull request #3889 from quic-go/ackhandler-unexport-packet Marten Seemann 2023-06-13 23:44:09 +03:00
  • e45c46041a ackhandler: don't allocate a packet struct for non-ack-eliciting packets Marten Seemann 2023-06-04 15:47:38 +03:00
  • 5225a104d4 retransmission queue: simplify queueing of PING frames Marten Seemann 2023-06-04 15:28:16 +03:00
  • da55dfaabd ackhandler: unexport Packet Marten Seemann 2023-06-04 15:22:33 +03:00
  • e1bcedc78c ackhandler: use a frame handler interface for OnAcked / OnLost of all frame types (#3888) Marten Seemann 2023-06-04 23:04:28 +03:00
  • bde283640b ackhandler: be explicit about skipping packet numbers (#3886) Marten Seemann 2023-06-04 22:45:43 +03:00
  • 6619e17dd7 ackhandler: don't log / trace skipped packets when declaring them lost (#3887) Marten Seemann 2023-06-04 22:29:40 +03:00
  • 8f3a68b4eb ackhandler: use a slice to keep track of sent packets (#3841) Marten Seemann 2023-06-04 12:36:38 +03:00
  • 6f07050269 ackhandler: apply logic from RFC 9000 to derive packet number length (#3885) Marten Seemann 2023-06-04 12:17:57 +03:00
  • 4b03636102 ci: run integration tests for all QUIC versions, even if steps failed (#3882) Marten Seemann 2023-06-03 10:55:18 +03:00
  • f777c452ce Merge pull request #3881 from quic-go/packet-info-allocs Marten Seemann 2023-06-03 10:54:52 +03:00
  • edaeed0107 embed the packetInfo in the receivedPacket struct Marten Seemann 2023-05-13 15:35:41 +03:00
  • 3b5950a1ce use a netip.Addr instead of a net.IP in the packetInfo struct Marten Seemann 2023-05-13 15:19:58 +03:00
  • b27d114f07 pass the current timestamp to the pacer instead of calling time.Now() (#3824) Marten Seemann 2023-06-03 10:26:30 +03:00
  • 072a602cc1 pass around receivedPacket as struct instead of as pointer (#3823) Marten Seemann 2023-06-03 10:08:58 +03:00
  • 591ab1ab5e packer: reduce number of calls to time.Now() when packing packets (#3815) Marten Seemann 2023-06-03 09:58:41 +03:00
  • 56432a8b79 ci: run linter on all supported platforms (#3816) Marten Seemann 2023-06-03 09:47:05 +03:00
  • f661cd1796 Merge pull request #3808 from quic-go/gso Marten Seemann 2023-06-03 09:34:29 +03:00
  • 97904d0b30 ci: also run integration tests with GSO disabled Marten Seemann 2023-05-07 12:09:51 +03:00
  • 5b5ffa942b pack packets into large buffers when GSO is available Marten Seemann 2023-04-30 17:27:50 +02:00
  • 628ba87727 append to a given buffer when packing a packet Marten Seemann 2023-04-30 14:52:11 +02:00
  • b0524c1241 split code paths for packing normal and ACK-only packets Marten Seemann 2023-04-30 13:30:05 +02:00
  • db4e929ccf connection: only queue flow control frames once when sending a batch Marten Seemann 2023-04-30 12:53:37 +02:00
  • d1bbde3580 connection: move sending of MTU probe packets out of the fast path Marten Seemann 2023-04-30 12:43:50 +02:00
  • 499c8e4c33 connection: introduce a fast path for packing and sending many packets Marten Seemann 2023-04-30 12:35:27 +02:00
  • 9d70bc24a5 simplify pacing logic by introducing a SendPacingLimited send mode Marten Seemann 2023-04-30 11:44:43 +02:00
  • 470ae7b39b enable packet pacing, for packets sent before handshake completion Marten Seemann 2023-04-30 10:47:09 +02:00
  • 39ae200972 enable GSO on Linux, if available Marten Seemann 2023-04-19 10:48:32 +02:00
  • 7d8db149b6 introduce a buffer pool for large buffers (20k) Marten Seemann 2023-04-19 09:58:54 +02:00
  • bef0f3d31a pass the maximum packet size from MTU discoverer to packet packer Marten Seemann 2023-04-18 08:48:12 +02:00
  • ecaef04695 initialize the MTU discoverer immediately Marten Seemann 2023-04-17 23:42:58 +02:00
  • 727f9e5654 introduce a OptimizeConn function to manually enable UDP optimizations Marten Seemann 2023-05-05 12:53:55 +03:00
  • 7ea6dc991f use the same ACK frame struct in the send path, remove ACK frame pool (#3831) Marten Seemann 2023-06-02 18:34:27 +03:00
  • 21544085e1 Merge pull request #3878 from quic-go/single-ack-receiving Marten Seemann 2023-06-02 18:06:06 +03:00
  • a595d34557 use a single ACK frame in the receive path Marten Seemann 2023-05-14 09:02:07 +03:00
  • 614fdb3271 only run DPLPMTUD if the connection can send packets with the DF bit set (#3879) Marten Seemann 2023-06-02 16:54:34 +03:00
  • 0438eada95 use ackhandler.Frame directly, not as a pointer, remove its sync.Pool (#3835) Marten Seemann 2023-06-02 14:56:18 +03:00
  • f8d24ef1e9 don't use closures for passing OnLost and OnAcked STREAM frame callbacks (#3833) Marten Seemann 2023-06-02 14:14:04 +03:00
  • ad79149738 improve document of the Transport and the dial and listen functions (#3875) Marten Seemann 2023-06-02 13:45:40 +03:00
  • 1d093d7927 config: handle overflows of stream and flow control limits (#3866) Marten Seemann 2023-06-02 13:41:14 +03:00
  • f392c8a17b receive stream: put back the buffer for the last STREAM frame (#3832) Marten Seemann 2023-06-02 13:22:51 +03:00
  • 8a74f01add githooks: exclude deleted files from checks (#3864) Marten Seemann 2023-06-02 13:14:03 +03:00
  • 073f5c0306 ci: fix ordering of error output of the cross compilation workflow (#3809) Marten Seemann 2023-06-02 13:12:53 +03:00
  • dd8ce5147b connection: refactor handling of frames when tracing Marten Seemann 2023-05-14 08:12:38 +03:00
  • cfa03394b5 remove stray print statement in datagram test (#3828) Marten Seemann 2023-06-02 13:08:02 +03:00
  • 9899ec4126 README: restructure RFC section, add QUIC v2 (RFC 9369) (#3871) Marten Seemann 2023-06-02 13:00:29 +03:00
  • 215ba85db4 ackhandler: simplify sentPacketHandler.SentPacket (#3847) Marten Seemann 2023-06-02 12:59:46 +03:00
  • 1c3292d120 fix flaky client test (#3834) Marten Seemann 2023-06-02 12:58:07 +03:00
  • a49fa6a682 update Ginkgo to v2.9.5 and Gomega to v1.27.6 (#3845) Marten Seemann 2023-06-02 12:57:26 +03:00
  • f1f42d8d90 use a ring buffer in the framer (#3857) Glonee 2023-06-02 02:53:37 +08:00
  • 9237dbb167 http3: close the connection when closing the roundtripper (#3873) v0.35.1 Glonee 2023-06-01 16:06:13 +08:00
  • c96fbd2e4a http3: correctly use the quic.Transport (#3869) Glonee 2023-06-01 14:31:20 +08:00
  • 21549fcb4a http3: set tls.Config.ServerName for outgoing requests, if unset (#3867) Glonee 2023-06-01 13:45:56 +08:00
  • fce0261c34 wire: apply the default value for the active_connection_id_limit (#3806) v0.35.0 Marten Seemann 2023-05-28 21:45:46 +03:00