-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(bin): enable Firefox to use quinn-udp through neqo-udp #1920
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1920 +/- ##
==========================================
- Coverage 94.79% 94.78% -0.02%
==========================================
Files 110 111 +1
Lines 35722 35896 +174
==========================================
+ Hits 33864 34024 +160
- Misses 1858 1872 +14 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
@martinthomson , @larseggert , could you also review this PR?
Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with nits.
mozilla#1568 introduced TTL information to datagrams. On the input path it would take the ttl information, but not act on it. On the output path it would set only "the default TTL on many OSes". https://github.com/mozilla/neqo/blob/66504908e5fa070a8a5fa67d8b5a201d2c9a5cc5/neqo-transport/src/path.rs#L576 This commit removes the ttl information from `Datagram`, thus reverting a subset of mozilla#1568. This is partially motivated by mozilla#1920, introducing `quinn-udp` as the IO library of choice, which does not support reading and writing TTL. See also discussion in mozilla#1920 (comment).
mozilla#1568 introduced TTL information to datagrams. On the input path it would take the ttl information, but not act on it. On the output path it would set only "the default TTL on many OSes". https://github.com/mozilla/neqo/blob/66504908e5fa070a8a5fa67d8b5a201d2c9a5cc5/neqo-transport/src/path.rs#L576 This commit removes the ttl information from `Datagram`, thus reverting a subset of mozilla#1568. This is partially motivated by mozilla#1920, introducing `quinn-udp` as the IO library of choice, which does not support reading and writing TTL. See also discussion in mozilla#1920 (comment).
#1568 introduced TTL information to datagrams. On the input path it would take the ttl information, but not act on it. On the output path it would set only "the default TTL on many OSes". https://github.com/mozilla/neqo/blob/66504908e5fa070a8a5fa67d8b5a201d2c9a5cc5/neqo-transport/src/path.rs#L576 This commit removes the ttl information from `Datagram`, thus reverting a subset of #1568. This is partially motivated by #1920, introducing `quinn-udp` as the IO library of choice, which does not support reading and writing TTL. See also discussion in #1920 (comment).
Head branch was pushed to by a user without write access
neqo-udp
crate. Firefox does not needneqo-server
,neqo-client
, nor any of its dependencies. A new crate enforces none of this leaking into Firefox.Socket
to be used both withtokio::net::UdpSocket
(forneqo-client
,neqo-server
, mozilla-central'shttp3server
) andstd::os::fd::BorrowedFd
(std::os::windows::io::BorrowedSocket
on Windows). The latter allowsneqo-glue
to useneqo-udp
with a UDP socket managed byNSPR
.