Skip to content
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

[pull] main from mozilla:main #5

Open
wants to merge 393 commits into
base: main
Choose a base branch
from

Conversation

pull[bot]
Copy link

@pull pull bot commented May 7, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label May 7, 2024
larseggert and others added 29 commits August 13, 2024 12:33
* fix: Send ACKs during handshake after they are lost

This is not yet complete. It works for the first RTX of a lost server
Initial, which now contains the same data as the original
transmission. A third RTX only contains pings. Something is off about
our probe logic. Will continue investigating, but want to see what
the bench and QNS impacts of this change are.

* Improvements

* Remove debug output

* Suggestion from @mxinden

* doc comment

* Check if `L1`/`C1` improve if this is also done in the Handshake space

* Update comment

* ACK more aggressively during the handshake

* Undo

* Update neqo-transport/src/tracking.rs

Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/recovery/mod.rs

Signed-off-by: Lars Eggert <[email protected]>

---------

Signed-off-by: Lars Eggert <[email protected]>
* fix: qlog `reference_time` should be in msec

https://datatracker.ietf.org/doc/html/draft-ietf-quic-qlog-main-schema#section-7.1

* Update neqo-common/src/qlog.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Undo

---------

Signed-off-by: Lars Eggert <[email protected]>
Co-authored-by: Max Inden <[email protected]>
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.6.1 to 6.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@16ebe77...5cd11c3)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: Don't process timers during Closing or Draining

This doesn't seem to cause any packets to go out, but is a bit wasteful
(and also confused me when I saw timers fire in the logs...)

* Suggestion from @martinthomson
* test: Add a test case for 0-RTT loss

This currently fails, because we have a bug where the server does not
accept retransmitted 0-RTT packets when it should.

* Fixed

* Cleanup

* Keep the larger anti-replay window to just one test

* Update neqo-transport/src/connection/tests/zerortt.rs

Co-authored-by: Martin Thomson <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/connection/tests/zerortt.rs

Co-authored-by: Martin Thomson <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/connection/tests/zerortt.rs

Co-authored-by: Martin Thomson <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

---------

Signed-off-by: Lars Eggert <[email protected]>
Co-authored-by: Martin Thomson <[email protected]>
* refactor: drop time crate in favor of std::time::SystemTime

* use as_secs_f64

* don't panic, but return None
PMTUD probes inflate what we sent in 1-RTT, causing QNS to fail the
test.

See ptrd/kwik#46 (comment)
* fix: Lower log level for "Closing, not processing other timers"

It's too noisy.

* More
* test: Check for RTX of lost 0-RTT data on reject

This is currently failing.

* Fix merge

* Attempt to RTX requests when 0-RTT was rejected

Look OK, @mxinden?

Let's see what the CI says.

* Reinit on `ZeroRttRejected`

* Remove test

* Fix

* Reinit files

* Suggestions from @mxinden

---------

Signed-off-by: Lars Eggert <[email protected]>
s2n-quic doesn't send a resumption token for the second connection in
the QNS `resumption` test, and this caused us to fail.
* ci: Delete all QNS logs >10MB before artifact upload

Because these artifacts are huge and those logs are not useful
for debugging.

* 5M

* Leave a note
* chore: Switch to the `windows` crate

The `winapi` isn't being updated anymore, and the `windows` crate is a
more modern alternative maintained by Microsoft.

* Fix
)

Previously `send_something_paced_with_modifier` would only apply the `modifier` if
`sender.process_output` returned a `Output::Datagram` right away, but not when
`sender.process_ouput` returned a datagram after returning a `Output::Callback`.

With this commit, `modifier` is always applied.
It's been having weird failures.
* feat(transport): add ecn metrics to Stats

* clippy

* Document NotEct 0

* clippy

* fix doc links
…ns (#2084)

Bumps martenseemann/quic-network-simulator-endpoint from `5114afe` to `5177120`.

---
updated-dependencies:
- dependency-name: martenseemann/quic-network-simulator-endpoint
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 4.3.6 to 4.4.0

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@834a144...5076954)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add actions

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lars Eggert <[email protected]>
* fix: Handle migrating to a path that is an ECN blackhole

* Fix tests

* Update neqo-transport/src/connection/tests/ecn.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/path.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/connection/tests/ecn.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/path.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/connection/tests/ecn.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/connection/tests/ecn.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Update neqo-transport/src/connection/tests/ecn.rs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

* Fixes

---------

Signed-off-by: Lars Eggert <[email protected]>
Co-authored-by: Max Inden <[email protected]>
* ci: Try and speed up QNS docker build

Via https://github.com/LukeMathWalker/cargo-chef

* Update qns/Dockerfile

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>

---------

Signed-off-by: Lars Eggert <[email protected]>
Co-authored-by: Max Inden <[email protected]>
* chore: Trim unused features

Courtesy of https://github.com/ToBinio/cargo-features-manager.

* More

* Again

* More

* Fixes

* Needed?

* Again

* Do not encode long RTT guesses in resumption tokens

* Oops
larseggert and others added 30 commits January 13, 2025 13:59
* ci: Remove some things from `env`

1. `CARGO_TERM_COLOR: always` is always set by `dtolnay/rust-toolchain`
2. `RUST_BACKTRACE` is better set where needed, rather than everywhere.

* Set `RUST_BACKTRACE: 1` on test steps
I keep finding that I need to flip a PR from
"draft" to "ready for review" prematurely, just
to get the CI to run benchmarks.
Bumps lukemathwalker/cargo-chef from `ee4eb4c` to `d14930e`.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 4.5.0 to 4.6.0

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@6f51ac0...65c4c4a)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add actions

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lars Eggert <[email protected]>
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.1.5 to 1.1.8.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](vmactions/freebsd-vm@debf37c...848dac7)

---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
There is no single-packet version of `on_packets_acked`.

Signed-off-by: Max Inden <[email protected]>
Co-authored-by: Lars Eggert <[email protected]>
Bumps [vmactions/solaris-vm](https://github.com/vmactions/solaris-vm) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/vmactions/solaris-vm/releases)
- [Commits](vmactions/solaris-vm@a89b943...cc8f82f)

---
updated-dependencies:
- dependency-name: vmactions/solaris-vm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
From 20 to 30 min. With the latest Ubuntu runner, the C compile takes longer :-(
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@49b3bc8...53851d1)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vmactions/openbsd-vm](https://github.com/vmactions/openbsd-vm) from 1.1.4 to 1.1.6.
- [Release notes](https://github.com/vmactions/openbsd-vm/releases)
- [Commits](vmactions/openbsd-vm@0cfe06e...7ac70b6)

---
updated-dependencies:
- dependency-name: vmactions/openbsd-vm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: `cargo clippy --fix`

For new nightly lints.

* fmt
On the new `ubuntu-latest` runner, the C compiler is slower.
* docs(transport/cubic): add references to RFC 8312

* Use htmlized

* Clippy

* Clippy
* ci: Revamp the QNS CI action timeout

It seems that the `TIMEOUT` env variable applies to all steps?

* Simpler
#2269 made a "stream control or data frame for a stream that is ours to initiate but we haven't yet" illegal.

``` rust
       let existed = !stream_id.is_remote_initiated(self.role)
            && self.local_stream_limits[stream_id.stream_type()].used() > stream_id.index();
```

Problem is, when `is_remote_initiated` is `true`, then `existed` is `false`, which leads to a false positive for remote initiated streams.
* ci: pin nightly

* Trigger CI
Bumps lukemathwalker/cargo-chef from `d14930e` to `9d68a1b`.

---
updated-dependencies:
- dependency-name: lukemathwalker/cargo-chef
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.10.0 to 6.12.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@48aba3b...67a2d40)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.7 to 5.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v5.0.7...1e68e06)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vmactions/netbsd-vm](https://github.com/vmactions/netbsd-vm) from 1.1.4 to 1.1.8.
- [Release notes](https://github.com/vmactions/netbsd-vm/releases)
- [Commits](vmactions/netbsd-vm@7c9086f...46a58bb)

---
updated-dependencies:
- dependency-name: vmactions/netbsd-vm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

* deps(common/log): drop env_logger's auto-color and regex features

#2291 added additional formatting to our log
output via `env_logger`'s `auto-color` feature. The `auto-color` feature adds
the `is-terminal` crate dependency. `is-terminal` depends on `hermit-abi`
`v0.4`.

Pulling latest Neqo `v0.12.0` into mozilla-central adds `is-terminal` and
`hermit-abi` `v0.4.0` to the Firefox dependency tree.

In order to keep our dependency footprint low, I suggest not enabling the two
`env-logger` features.

* chore: bump version to v0.12.1
Until we address the `FIXME`s.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants