Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/katzenpost/quic-go

A QUIC implementation in pure go
https://github.com/katzenpost/quic-go

remove the MaybePackAckPacket from the packet packer

818768df38f19290badcb3d19585ecb8ed6cb463 authored over 2 years ago by Marten Seemann <[email protected]>
simplify packing of long header ACK-only packets

7bc2ba6b8113baed66134689046f5d8b4427b31f authored over 2 years ago by Marten Seemann <[email protected]>
move packing of ACK-only short header packets to composeNextPacket

2873125c150042e34f7c564bb221c4d80865856d authored over 2 years ago by Marten Seemann <[email protected]>
prioritize sending ACKs over sending new DATAGRAM frames (#3544)

c57ea6f276553e311ba0e997527af24861fe3a05 authored over 2 years ago by Marten Seemann <[email protected]>
use a sync.Pool for ACK frames

63764c429c1239b121875f2a5048d01728dd7c19 authored over 2 years ago by Marten Seemann <[email protected]>
append ACK ranges instead of allocating a new slice

c3289188d15ec06522bf132326dacbbb21ea3fd3 authored over 2 years ago by Marten Seemann <[email protected]>
http3: reduce usage of bytes.Buffer (#3539)

62b82789c0cc8a9acf48ee516ce2dd303253f395 authored over 2 years ago by Marten Seemann <[email protected]>
use a single bytes.Reader for frame parsing (#3536)

dfd35cb0714562357f8223a3da5cfed813b4f76f authored over 2 years ago by Marten Seemann <[email protected]>
split code paths for packing 0-RTT and 1-RTT packets in packet packer (#3540)

93e1d031b9636c221cfe82df4221b2683f2ed20f authored over 2 years ago by Marten Seemann <[email protected]>
remove the wire.ShortHeader in favor of more return values (#3535)

656f3d2d7de3382b66f2bdb501db548ff5e22ea2 authored over 2 years ago by Marten Seemann <[email protected]>
preallocate the message buffers of the ipv4.Message passed to ReadBatch (#3541)

5cd534154504753242275665944fce66caaa9d56 authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3534 from lucas-clemente/header-parsing

introduce a separate code paths for Short Header packet handling

0b26365daec94f36e36e082a9492145bf451c220 authored over 2 years ago by Marten Seemann <[email protected]>
fix usage of ackhandler.Packet pool for non-ack-eliciting packets (#3538)

80c3afed344c3d739074aed008f5022db7404c27 authored over 2 years ago by Marten Seemann <[email protected]>
return an error when parsing a too long connection ID from a header (#3533)

31995601a98e89d66582280b8e3eba524193838f authored over 2 years ago by Marten Seemann <[email protected]>
speed up marshaling of transport parameters (#3531)

The speedup comes from multiple sources:
1. We now preallocate a byte slice, instead of appendi...

7023b52e13ff7d378c5c4459263bd3fabcebcf7e authored over 2 years ago by Marten Seemann <[email protected]>
introduce a separate code path for unpacking short header packets

4f3d3b36ac7ff2e3631d02b070fd58d245db04a7 authored over 2 years ago by Marten Seemann <[email protected]>
split the tracing function for received short and long header packets

ed15a947034a4ee57ef0a0f89a0c1769309b0188 authored over 2 years ago by Marten Seemann <[email protected]>
add a wire.ShortHeader, implement short header parsing

The new parsing function is vastly faster than the combination of header
and extended header par...

3a12a898a59e6ecd6e5c0fb82a56d8ee29e5a79d authored over 2 years ago by Marten Seemann <[email protected]>
extend ByteOrder interface to allow converting from a byte slice

42cec842215f42ad2aca5feca57c9d61e30ebae0 authored over 2 years ago by Marten Seemann <[email protected]>
move the check for empty payload to the unpacker

e3723a0ef162b38abd4cef7af8abf11ad056b128 authored over 2 years ago by Marten Seemann <[email protected]>
remove unneeded packet number field from the unpackedPacket

fd1b3a23c42ae69a63dd1dc9c45faecaaeaba4b8 authored over 2 years ago by Marten Seemann <[email protected]>
don't pass the header to connection.tryQueueingUndecryptablePacket

7d827d515e1c604cbea511bc6f1add37ff484ae7 authored over 2 years ago by Marten Seemann <[email protected]>
return an error when parsing a too long connection ID from a header

f41772c43cba37611be9bcb776039d69e8cc9fbf authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3529 from lucas-clemente/conn-id-array

use a struct containing an array to represent Connection IDs

3f1adfd822ff34fafc06d0aaf30e08233db7a8b8 authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3525 from lucas-clemente/ackhandler-linked-list-allocs

reduce allocations of ackhandler.Packet

15945e3190e7b87792761eae43b1b5071750f29b authored over 2 years ago by Marten Seemann <[email protected]>
use a sync.Pool to avoid allocations of ackhandler.Packet

a3b91cf683e77ebd2486947ac11429c63d0dab52 authored over 2 years ago by Marten Seemann <[email protected]>
remove ConnectionID.Equal function

Connection IDs can now be compared with ==.

4cbb4f81147e11f1f98a9a76b011f9a50b8b9625 authored over 2 years ago by Marten Seemann <[email protected]>
use an array instead of a byte slice for Connection IDs

1aced95d41db88d945cab4f3011f5e4938e2eae5 authored over 2 years ago by Marten Seemann <[email protected]>
parse arbitrary length Connection IDs in Version Negotiation packets

9e0f9e62ff257161edaf2e20032b376ffa7e8b58 authored over 2 years ago by Marten Seemann <[email protected]>
add a tracer function to trace sending of Version Negotiation packets

ecc8320c2c3ee848a0098833938385de10bd9e5c authored over 2 years ago by Marten Seemann <[email protected]>
add a type for arbitrary length Connection IDs, and parsing function

RFC 8999 allows Connection IDs of up to 255 bytes. Current QUIC versions
only use up to 20 bytes.

21b9ef03beb51db37a26119e319c96d03a7829d4 authored over 2 years ago by Marten Seemann <[email protected]>
trace arbitrary length Connection IDs for Version Negotiation packets

53412e9ba3e31be5b57f4cb01a292dfa6c5c22b9 authored over 2 years ago by Marten Seemann <[email protected]>
implement a function to parse the version number of a Long Header packet

d7097d74f0bcba5adfa17471529b79b1fa28ab7f authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3530 from lucas-clemente/frame-append-to-slice

serialize frames by appending to a byte slice, not to a bytes.Buffer

ec9c824d9802a4058baa0842fe0c9c86886562fb authored over 2 years ago by Marten Seemann <[email protected]>
fix datagram RFC number in documentation for quic.Config (#3523)

abb913d29cc388573221098307b1a83e49986731 authored over 2 years ago by Marten Seemann <[email protected]>
add DPLPMTUD (RFC 8899) to list of supported RFCs in README (#3520)

ff47a7e14e96f4b63621606c80e53befb51cb48e authored over 2 years ago by Marten Seemann <[email protected]>
use the null tracers in the tracer integration tests (#3528)

880dfc699c539aa4fa87e5cc4c681dfa976c189c authored over 2 years ago by Marten Seemann <[email protected]>
rename frame.Write to frame.Append

ab6d664b434472d6f168f191fe6ce1c1967fe824 authored over 2 years ago by Marten Seemann <[email protected]>
append to a byte slice instead of a bytes.Buffer when serializing frames

3ca1001951ca21ce3419d41d22ae91e5b6c6e757 authored over 2 years ago by Marten Seemann <[email protected]>
implement a quicvarint.Append method

65dd82ad9075059b62a945fb3121f55495a0c4e0 authored over 2 years ago by Marten Seemann <[email protected]>
avoid allocations when adding packets to the sent packet history

fd38fe4a9a896e62c01cb6a5fcbf78261286cfda authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3512 from lucas-clemente/null-connection-tracer

add a logging.NullTracer and logging.NullConnectionTracer

07412be8a02ef0e55580ebf8db9c38a759c0a0e5 authored over 2 years ago by Marten Seemann <[email protected]>
use the logging.Null{Connection}Tracer in integration tests

cd87a64e1e5b160b5b552e54b27efdb14678b2f6 authored over 2 years ago by Marten Seemann <[email protected]>
expose the Null{Connection}Tracer as types, not as variables

c29276ef67a33c76317fe452161f3a723ff88828 authored over 2 years ago by Marten Seemann <[email protected]>
add support for providing a custom Connection ID generator via Config (#3452)

* Add support for providing a custom ConnectionID generator via Config

This work makes it pos...

66f6fe0b711bcfed0e66f4690fb45f854eee59ec authored over 2 years ago by João Oliveirinha <[email protected]>
fix typo in README

034fc4e09a5993e734cd32362497d9c5409b1c91 authored over 2 years ago by Marten Seemann <[email protected]>
add a logging.NullTracer

48779d053f2ab3c0361a4e685ce7f429cac8f280 authored over 2 years ago by Marten Seemann <[email protected]>
add a logging.NullConnectionTracer

The NullConnectionTracer can be embedded, to make it easier to access just a
few of the calls.

118a7dba5ad7055262e5880ee779f6cf99aaa965 authored over 2 years ago by Marten Seemann <[email protected]>
fix datagram support detection (#3511)

* fix: datagram support detection

- treat zero MaxDatagramFrameSize as unsupported.
- avoid ...

a90135751bc74b2f4b0609b03ed8937c5c5287b1 authored over 2 years ago by KevinZønda <[email protected]>
Merge pull request #3514 from lucas-clemente/closed-session

use a single Go routine to send copies of CONNECTION_CLOSE packets

509616cbea15323d2d7e6feb2cbb06ff769f22b6 authored over 2 years ago by Marten Seemann <[email protected]>
add integration test for the retransmission of CONNECTION_CLOSE packets

263f728ea81512eab21f704cafa8f495cba1af6b authored over 2 years ago by Marten Seemann <[email protected]>
use a single Go routine to send copies of CONNECTION_CLOSE packets

b659414495c7fc4d02a0e089caea6734512f45f4 authored over 2 years ago by Marten Seemann <[email protected]>
replace all connection IDs at the same time when connection is closed

c3ab9c4ea986965631d7cb444f7109c8ab994949 authored over 2 years ago by Marten Seemann <[email protected]>
use bits.OnesCount to determine if a number is a power of two

This should be 3-4x faster than the current implementation.

635dc90475f1875a9aaba7544eb438dbe3c98714 authored over 2 years ago by Marten Seemann <[email protected]>
move the 0-RTT queue to a separate file

feb94286a5183e896b7361131eb3979df39ada3f authored over 2 years ago by Marten Seemann <[email protected]>
use type assertions to identify 0-RTT queues in packet handler map

19c6a1b252838f595cf3782765418a992c8e4090 authored over 2 years ago by Marten Seemann <[email protected]>
add YoMo to list of projects in README (#3513)

57650fca7a2345d01c2364033e40eb14b3ac9f34 authored over 2 years ago by fanweixiao <[email protected]>
http3: fix listening on both QUIC and TCP (#3465)

dd521c0573acb10da8840d993dc873c10df02c73 authored over 2 years ago by mojatter <[email protected]>
Disable anti-amplification limit by address validation token (#3326)

7da024da5a56a5b8c17ed764881c646608caa111 authored over 2 years ago by Benedikt Spies <[email protected]>
fix typo in README

8c0c481da1644f9934df399c50649d65967d7f22 authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3501 from lucas-clemente/new-address-validation-api

implement a new API to let servers control client address verification

9957668d43011801f725151b38667c8c579737fc authored over 2 years ago by Marten Seemann <[email protected]>
disable address validation by default

We should provide safe defaults. Since we implement the 3x amplification
limit, disabling addres...

bbfb7bd493d07aae833d5f1495de5769e71efac1 authored over 2 years ago by Marten Seemann <[email protected]>
make sure RunHandshake has returned before closing, improve MITM tests

7fde609eefab5544de2f0678db877f2e49a2cba2 authored over 2 years ago by Marten Seemann <[email protected]>
implement a more intuitive address validation API

f2fa98c0dd14c9cbe0f02bd19d724f5d9818a5fe authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3489 from lucas-clemente/generic-streams-map-incoming

use a generic streams map for incoming streams

556a6e2f99f70d34ba9c4a3d09040db3f969010a authored over 2 years ago by Marten Seemann <[email protected]>
fix unreachable code after log.Fatal in fuzzing corpus generator (#3496)

Signed-off-by: Abirdcfly <[email protected]>

Signed-off-by: Abirdcfly <fp544037857@gmail....

dbb7a215a0c02fb9b536025375d7f376600ea7d2 authored over 2 years ago by Abirdcfly <[email protected]>
remove genny dependency

b372d02ac4d3ba199edc054b78b446410b25eb03 authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3483 from lucas-clemente/generic-min-max

use generic Min and Max functions

bea5de0221ad460d7bc43ba1fccbe6ff5418fb82 authored over 2 years ago by Marten Seemann <[email protected]>
add QPACK (RFC 9204) to the list of supported RFCs (#3485)

5473b3ffd0305359c9de6cd12453ff1a6b1227c4 authored over 2 years ago by Marten Seemann <[email protected]>
add a function to distinguish between long and short header packets (#3498)

80fd1b57c8f89012657fc29a25bee83684a081b5 authored over 2 years ago by Marten Seemann <[email protected]>
use a generic streams map for incoming streams

621e9d4642b9ca3abf38c0d57f9dceb510449043 authored over 2 years ago by Marten Seemann <[email protected]>
use a generic streams map for outgoing streams (#3488)

bebff462c8a0550befaf30e05a42e08f3db2e89b authored over 2 years ago by Marten Seemann <[email protected]>
update the Go 1.19 qtls to v0.1.0 (#3490)

b6e2608c1593cc3416a5ab90de97409276fd527b authored over 2 years ago by Marten Seemann <[email protected]>
update golangci-lint action to v3, golangci-lint to v1.48.0 (#3499)

* run gofmt -s -w

* stop using the deprecated io/ioutil package

* update golangci-lint act...

498475fa60fcc5ff9b58d31abf87b3c7934ed8b5 authored over 2 years ago by Marten Seemann <[email protected]>
use a generic linked list (#3487)

7ebe1430efe2cf5352e8695d65f99674ebaef3ea authored over 2 years ago by Marten Seemann <[email protected]>
rename utils.Max to utils.MaxInt

2ea21b7b161b28c8b030c5c504244e699c89ce1b authored over 2 years ago by Marten Seemann <[email protected]>
rename utils.Min to utils.MinInt

424325af58e22bae2e065ca498185279e98c1276 authored over 2 years ago by Marten Seemann <[email protected]>
implement generic Min and Max functions

43bde14cf70ad3436590f57ce395d3dd53f58465 authored over 2 years ago by Marten Seemann <[email protected]>
drop support for Go 1.16 and 1.17 (#3482)

ea9de26ed5499336234b8a7dfc56e9516898a3db authored over 2 years ago by Marten Seemann <[email protected]>
optimize FirstOutstanding in the sent packet history (#3467)

* optimize FirstOutstanding

* fix variable naming

* bug fix

* minor code improvements
...

d5efd340c79e5a19ac69a2523527b56be4371715 authored over 2 years ago by Toby <[email protected]>
update supported RFCs in README (#3456)

56a24f3e4c93be1c944eb7006f8d36e35abeb2a5 authored over 2 years ago by Marten Seemann <[email protected]>
http3: ignore context after response when using DontCloseRequestStream (#3473)

61ca8e89feceac7dda367b5282ee47b4fb1ede78 authored over 2 years ago by Marten Seemann <[email protected]>
update for Go 1.19beta1 (#3460)

f29dd273b40d37b6ea8206350b2d96e8779161e5 authored over 2 years ago by Marten Seemann <[email protected]>
dedupe Alt-Svc header values (#3461)

98b25879e5b22f6246303b4243aa58a60537be7d authored over 2 years ago by Matt Robenolt <[email protected]>
only set DF for sockets that can handle it (#3448)

Fixes #3445

706a482340141f8edb26fefae993e96b1581b034 authored over 2 years ago by Nuno Diegues <[email protected]>
fix flaky HTTP/3 request body test (#3447)

6fbc6d951a4005d7d9d086118e1572b9e8ff9851 authored over 2 years ago by Marten Seemann <[email protected]>
make the keep alive interval configurable (#3444)

* Make keep alive configurable

* Fix unit tests

4c96cf75bf40484010cfc9ec024620b5f3880619 authored over 2 years ago by Nuno Diegues <[email protected]>
Merge pull request #3432 from lucas-clemente/quicv2

implement QUIC v2

619fa9fb44658eea468ef0fa958402979d249ed9 authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3437 from lucas-clemente/http-stream

allow HTTP clients and servers to take over the request stream

9e1dfff3f050affab1accfe4b3a5e78d19cca336 authored over 2 years ago by Marten Seemann <[email protected]>
remove the StreamID method on the HTTP/3 response writer

5fd6fa7caef0e477a341d864d1b3c92fe828305c authored over 2 years ago by Marten Seemann <[email protected]>
add a http3.HTTPStreamer, allowing users to take over the HTTP/3 stream

6fa7494c2f5aa5ec2dee99dcb05943c96cb2ad56 authored over 2 years ago by Marten Seemann <[email protected]>
refactor HTTP/3 stream handling to use a dedicated stream

Reading from and writing onto this stream applies HTTP/3 DATA framing.

04d46526c7097e37b1edb988b0c38c159f013604 authored over 2 years ago by Marten Seemann <[email protected]>
don't close the stream if it was hijacked

3eed9d11048e3f7fc14a982045a9895cd34ac228 authored over 2 years ago by Marten Seemann <[email protected]>
remove the http3.DataStreamer (#3435)

ccf897e519a2ecaa55d4f9e1423e271591a00323 authored over 2 years ago by Marten Seemann <[email protected]>
update qtls to include the recent session ticket changes to crypto/tls (#3443)

This includes the changes released in Go 1.18.3 and Go 1.17.11.

e27fa1c9cff8ac4e41ac2123e110ef2a168a89b2 authored over 2 years ago by Marten Seemann <[email protected]>
always reset header buffer, even when QPACK encoding fails (#3436)

9dfe9d51096fd42bdaa2529045e57eee805ac081 authored over 2 years ago by Marten Seemann <[email protected]>
Change "HTTP/3" to "HTTP/3.0". (#3439)

990b1fed38306915b78b4f627f039e1cfee40546 authored over 2 years ago by Aaron Riekenberg <[email protected]>
remove stray http3 connection file

This was accidentally commited in #3411.

b5ef99a32c250fc63f89cc686c13a008c5419d01 authored over 2 years ago by Marten Seemann <[email protected]>
Merge pull request #3429 from lucas-clemente/stream-hijacker-errors

pass frame / stream type parsing errors to the hijacker callbacks

708eb47cec1e103f1a4302f3c237191cbc04e3eb authored over 2 years ago by Marten Seemann <[email protected]>
pass frame / stream type parsing errors to the hijacker callbacks

When a stream is reset, we might not have received the frame / stream
type yet. The callback mig...

96c0daceca6224cdf70cff0755411a9dee18700a authored over 2 years ago by Marten Seemann <[email protected]>