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

0.14.1 release preparation #490

Merged
merged 5 commits into from
Nov 22, 2024
Merged

0.14.1 release preparation #490

merged 5 commits into from
Nov 22, 2024

Conversation

cpu
Copy link
Member

@cpu cpu commented Nov 22, 2024

This release updates to Rustls 0.23.18 and increases the project MSRV from 1.64 to 1.71, matching the upstream Rustls MSRV.

Notably this brings in a fix for an availability issue for servers using the rustls_acceptor type and associated APIs. See the upstream 0.23.18 release notes for more information.

This branch targets rel-0.14, created from the 0.14.0 tag.

cpu added 4 commits November 22, 2024 13:38
Similar fixes were incrementally landed on main.
Nightly clippy's `clippy::zombie_processes` lint flagged the following:

```
error: spawned process is never `wait()`ed on
   --> tests/client_server.rs:285:26
    |
285 |         let mut server = self.server_opts.run_server();
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: consider calling `.wait()`
    = note: not doing so might leave behind zombie processes
    = note: see https://doc.rust-lang.org/stable/std/process/struct.Child.html#warning
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zombie_processes
```

While we _do_ call `kill()` on the process, we weren't `wait()`ing it.
The `Process::Child` docs have a warning:

  On some systems, calling wait or similar is necessary for the OS to
  release resources. A process that terminated but has not been waited on
  is still around as a “zombie”. Leaving too many zombies around may
  exhaust global resources (for example process IDs).

So it seems it may not be sufficient on all systems to `kill()` without
`wait()`.

Let's add a `wait()` just to be sure. Nobody likes zombies.
```
error: this `match` expression can be replaced with `?`
   --> src/crypto_provider.rs:466:20
    |
466 |       let provider = match provider_from_crate_features() {
    |  ____________________^
467 | |         Some(provider) => provider,
468 | |         None => return None,
469 | |     };
    | |_____^ help: try instead: `provider_from_crate_features()?`
```
This matches upstream rustls.
@cpu cpu self-assigned this Nov 22, 2024
@cpu cpu requested a review from ctz November 22, 2024 18:52
Cargo.toml Outdated Show resolved Hide resolved
build.rs Outdated Show resolved Hide resolved
Notably this brings in a fix for an availability issue for **servers**
using the `rustls_acceptor` type and associated APIs. See the upstream
0.23.18 release notes for more information.
@cpu cpu merged commit 2014e61 into rustls:rel-0.14 Nov 22, 2024
38 checks passed
@cpu cpu deleted the cpu-0.14.1 branch November 22, 2024 19:04
@cpu
Copy link
Member Author

cpu commented Nov 22, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants