From fe6b466b49bd0f6bfbb021deb18ea3a6df10bacf Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Wed, 4 Dec 2024 19:07:54 +0000 Subject: [PATCH] build(deps-dev): bump linkerd/dev from v43 to v44 --- .devcontainer/Dockerfile | 2 ++ .devcontainer/devcontainer.json | 2 +- .github/workflows/beta.yml | 2 +- .github/workflows/coverage.yml | 2 +- .github/workflows/fuzzers.yml | 4 +-- .github/workflows/nightly.yml | 2 +- .github/workflows/pr.yml | 8 +++--- .github/workflows/release.yml | 2 +- .github/workflows/shellcheck.yml | 2 +- .github/workflows/toolchain.yml | 4 +-- Cargo.lock | 2 +- Dockerfile | 2 +- deny.toml | 28 ++----------------- linkerd/addr/Cargo.toml | 3 ++ linkerd/app/core/src/metrics.rs | 2 +- linkerd/app/core/src/transport/labels.rs | 4 +-- linkerd/app/inbound/Cargo.toml | 3 ++ linkerd/app/integration/src/lib.rs | 2 +- linkerd/app/integration/src/metrics.rs | 2 +- linkerd/app/outbound/Cargo.toml | 5 ++++ .../src/http/logical/policy/route/retry.rs | 4 --- linkerd/app/src/env/types.rs | 3 +- linkerd/app/test/src/resolver.rs | 6 ++-- .../app/test/src/resolver/client_policy.rs | 3 +- linkerd/conditional/src/lib.rs | 2 +- linkerd/dns/Cargo.toml | 3 ++ linkerd/dns/name/src/name.rs | 2 +- linkerd/http/access-log/src/lib.rs | 4 +-- linkerd/http/metrics/src/lib.rs | 2 +- linkerd/proxy/api-resolve/src/pb.rs | 8 ++---- linkerd/proxy/http/Cargo.toml | 9 ++++-- linkerd/proxy/http/src/lib.rs | 2 +- linkerd/service-profiles/src/http/proxy.rs | 1 + linkerd/system/src/lib.rs | 7 +---- linkerd/tls/Cargo.toml | 3 ++ linkerd/tls/src/server.rs | 8 ++---- linkerd/tracing/src/access_log.rs | 2 +- linkerd/tracing/src/stream.rs | 2 +- linkerd/transport-header/Cargo.toml | 3 ++ linkerd2-proxy/Cargo.toml | 3 ++ rust-toolchain.toml | 2 +- 41 files changed, 73 insertions(+), 89 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 51cf5d7629..8d78047ccd 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -4,6 +4,8 @@ FROM ghcr.io/linkerd/dev:${DEV_VERSION} RUN scurl https://run.linkerd.io/install-edge | sh && \ mkdir -p "$HOME/bin" && ln -s "$HOME/.linkerd2/bin/linkerd" "$HOME/bin/linkerd" +ENV RUSTFLAGS="--cfg tokio_unstable" + # XXX(ver) This doesn't currently work, because it puts # /usr/local/cargo/registry into a weird state with regard to permissions. #RUN rustup toolchain install --profile=minimal nightly diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7e48d22703..e9c0f3fc18 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,7 +3,7 @@ "build": { "dockerfile": "Dockerfile", "args": { - "DEV_VERSION": "v43", + "DEV_VERSION": "v44", "http_proxy": "${localEnv:http_proxy}", "https_proxy": "${localEnv:https_proxy}" } diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 35ae42c2f1..898651875f 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -23,7 +23,7 @@ permissions: jobs: build: runs-on: ubuntu-latest - container: ghcr.io/linkerd/dev:v43-rust + container: ghcr.io/linkerd/dev:v44-rust timeout-minutes: 20 continue-on-error: true steps: diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 18e423be32..f407b047b2 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -43,7 +43,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 container: - image: docker://ghcr.io/linkerd/dev:v43-rust + image: docker://ghcr.io/linkerd/dev:v44-rust options: --security-opt seccomp=unconfined # 🤷 env: CXX: "/usr/bin/clang++-14" diff --git a/.github/workflows/fuzzers.yml b/.github/workflows/fuzzers.yml index 91aa86007d..5c89117ef0 100644 --- a/.github/workflows/fuzzers.yml +++ b/.github/workflows/fuzzers.yml @@ -27,7 +27,7 @@ jobs: list-changed: timeout-minutes: 3 runs-on: ubuntu-latest - container: docker://rust:1.76.0 + container: docker://rust:1.83.0 steps: - run: apt update && apt install -y jo - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 @@ -48,7 +48,7 @@ jobs: needs: [list-changed] timeout-minutes: 40 runs-on: ubuntu-latest - container: docker://rust:1.76.0 + container: docker://rust:1.83.0 strategy: matrix: dir: ${{ fromJson(needs.list-changed.outputs.dirs) }} diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b199d37c77..e9fae90591 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -23,7 +23,7 @@ permissions: jobs: build: runs-on: ubuntu-latest - container: ghcr.io/linkerd/dev:v43-rust + container: ghcr.io/linkerd/dev:v44-rust timeout-minutes: 20 continue-on-error: true steps: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 69b9bf49ab..f9a4333d1c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -76,7 +76,7 @@ jobs: if: needs.meta.outputs.actions_changed == 'true' runs-on: ubuntu-latest steps: - - uses: linkerd/dev/actions/setup-tools@v43 + - uses: linkerd/dev/actions/setup-tools@v44 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - run: just action-lint - run: just action-dev-check @@ -85,7 +85,7 @@ jobs: needs: meta if: needs.meta.outputs.cargo_changed == 'true' || needs.meta.outputs.rust_changed == 'true' runs-on: ubuntu-latest - container: ghcr.io/linkerd/dev:v43-rust + container: ghcr.io/linkerd/dev:v44-rust permissions: contents: read timeout-minutes: 20 @@ -111,7 +111,7 @@ jobs: if: needs.meta.outputs.cargo_changed == 'true' timeout-minutes: 20 runs-on: ubuntu-latest - container: ghcr.io/linkerd/dev:v43-rust + container: ghcr.io/linkerd/dev:v44-rust strategy: matrix: crate: ${{ fromJson(needs.meta.outputs.cargo_crates) }} @@ -130,7 +130,7 @@ jobs: env: WAIT_TIMEOUT: 2m steps: - - uses: linkerd/dev/actions/setup-tools@v43 + - uses: linkerd/dev/actions/setup-tools@v44 - name: scurl https://run.linkerd.io/install-edge | sh run: | scurl https://run.linkerd.io/install-edge | sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91cedb0531..ac6c82bac0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -133,7 +133,7 @@ jobs: continue-on-error: ${{ needs.meta.outputs.publish != 'true' }} runs-on: ubuntu-latest timeout-minutes: 40 - container: docker://ghcr.io/linkerd/dev:v43-rust-musl + container: docker://ghcr.io/linkerd/dev:v44-rust-musl env: LINKERD2_PROXY_VENDOR: ${{ github.repository_owner }} LINKERD2_PROXY_VERSION: ${{ needs.meta.outputs.version }} diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index 11f899c065..b923fb76dd 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -15,6 +15,6 @@ jobs: timeout-minutes: 5 runs-on: ubuntu-latest steps: - - uses: linkerd/dev/actions/setup-tools@v43 + - uses: linkerd/dev/actions/setup-tools@v44 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - run: just sh-lint diff --git a/.github/workflows/toolchain.yml b/.github/workflows/toolchain.yml index c4408f1feb..3a1400bbda 100644 --- a/.github/workflows/toolchain.yml +++ b/.github/workflows/toolchain.yml @@ -14,7 +14,7 @@ permissions: jobs: devcontainer: runs-on: ubuntu-latest - container: ghcr.io/linkerd/dev:v43-rust + container: ghcr.io/linkerd/dev:v44-rust steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 @@ -37,7 +37,7 @@ jobs: workflows: runs-on: ubuntu-latest steps: - - uses: linkerd/dev/actions/setup-tools@v43 + - uses: linkerd/dev/actions/setup-tools@v44 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - shell: bash run: | diff --git a/Cargo.lock b/Cargo.lock index f33427902f..3af2f081a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" diff --git a/Dockerfile b/Dockerfile index 4d12b46156..a54ac2fd90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ # This is intended **DEVELOPMENT ONLY**, i.e. so that proxy developers can # easily test the proxy in the context of the larger `linkerd2` project. -ARG RUST_IMAGE=ghcr.io/linkerd/dev:v43-rust +ARG RUST_IMAGE=ghcr.io/linkerd/dev:v44-rust # Use an arbitrary ~recent edge release image to get the proxy # identity-initializing and linkerd-await wrappers. diff --git a/deny.toml b/deny.toml index f949d401d1..5f952b4297 100644 --- a/deny.toml +++ b/deny.toml @@ -1,3 +1,4 @@ +[graph] targets = [ { triple = "x86_64-unknown-linux-gnu" }, { triple = "aarch64-unknown-linux-gnu" }, @@ -7,10 +8,6 @@ targets = [ [advisories] db-path = "~/.cargo/advisory-db" db-urls = ["https://github.com/rustsec/advisory-db"] -vulnerability = "deny" -unmaintained = "warn" -yanked = "deny" -notice = "warn" ignore = [] [licenses] @@ -21,12 +18,7 @@ allow = [ "ISC", "MIT", "Unicode-3.0", - "Unicode-DFS-2016", ] -deny = [] -copyleft = "deny" -allow-osi-fsf-free = "neither" -default = "deny" # Ignore local workspace license values for unpublished crates. private = { ignore = true } confidence-threshold = 0.8 @@ -60,18 +52,10 @@ deny = [ { name = "webpki" }, ] skip = [ - # The proc-macro ecosystem is in the middle of a migration from `syn` v1 to - # `syn` v2. Allow both versions to coexist peacefully for now. - # - # Since `syn` is used by proc-macros (executed at compile time), duplicate - # versions won't have an impact on the final binary size. - { name = "syn" }, - # `tonic` v0.6 depends on `bitflags` v1.x, while `boring-sys` depends on - # `bitflags` v2.x. Allow both versions to coexist peacefully for now. - { name = "bitflags", version = "1" }, # `linkerd-trace-context`, `rustls-pemfile` and `tonic` depend on `base64` # v0.13.1 while `rcgen` depends on v0.21.5 { name = "base64" }, + { name = "bitflags", version = "1" }, # https://github.com/hawkw/matchers/pull/4 { name = "regex-automata", version = "0.1" }, { name = "regex-syntax", version = "0.6" }, @@ -82,17 +66,9 @@ skip = [ { name = "hashbrown", version = "0.12" }, ] skip-tree = [ - # right now we have a mix of versions of this crate in the ecosystem - # procfs uses 0.36.14, tempfile uses 0.37.4 - { name = "rustix" }, - # Hyper v0.14 depends on an older socket2 version. - { name = "socket2" }, ] [sources] unknown-registry = "deny" unknown-git = "deny" allow-registry = ["https://github.com/rust-lang/crates.io-index"] - -[sources.allow-org] -github = ["linkerd"] diff --git a/linkerd/addr/Cargo.toml b/linkerd/addr/Cargo.toml index 9642eb63ba..75b4587b8b 100644 --- a/linkerd/addr/Cargo.toml +++ b/linkerd/addr/Cargo.toml @@ -11,3 +11,6 @@ http = "0.2" ipnet = "2.10" linkerd-dns-name = { path = "../dns/name" } thiserror = "1" + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd/app/core/src/metrics.rs b/linkerd/app/core/src/metrics.rs index b6a8859ac0..8c3f99e7fe 100644 --- a/linkerd/app/core/src/metrics.rs +++ b/linkerd/app/core/src/metrics.rs @@ -423,7 +423,7 @@ impl FmtLabels for Direction { } } -impl<'a> FmtLabels for Authority<'a> { +impl FmtLabels for Authority<'_> { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "authority=\"{}\"", self.0) } diff --git a/linkerd/app/core/src/transport/labels.rs b/linkerd/app/core/src/transport/labels.rs index 0d03888709..908765375d 100644 --- a/linkerd/app/core/src/transport/labels.rs +++ b/linkerd/app/core/src/transport/labels.rs @@ -120,7 +120,7 @@ impl<'t> From<&'t tls::ConditionalServerTls> for TlsAccept<'t> { } } -impl<'t> FmtLabels for TlsAccept<'t> { +impl FmtLabels for TlsAccept<'_> { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self.0 { Conditional::None(tls::NoServerTls::Disabled) => { @@ -148,7 +148,7 @@ impl<'t> From<&'t tls::ConditionalClientTls> for TlsConnect<'t> { } } -impl<'t> FmtLabels for TlsConnect<'t> { +impl FmtLabels for TlsConnect<'_> { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self.0 { Conditional::None(tls::NoClientTls::Disabled) => { diff --git a/linkerd/app/inbound/Cargo.toml b/linkerd/app/inbound/Cargo.toml index 1b6b8d6d19..677b1fa901 100644 --- a/linkerd/app/inbound/Cargo.toml +++ b/linkerd/app/inbound/Cargo.toml @@ -66,3 +66,6 @@ linkerd-proxy-server-policy = { path = "../../proxy/server-policy", features = [ linkerd-tracing = { path = "../../tracing", features = ["ansi"] } tokio = { version = "1", features = ["full", "macros"] } tokio-test = "0.4" + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd/app/integration/src/lib.rs b/linkerd/app/integration/src/lib.rs index 671fa69e7e..75b590b1d7 100644 --- a/linkerd/app/integration/src/lib.rs +++ b/linkerd/app/integration/src/lib.rs @@ -73,7 +73,7 @@ pub type Error = Box; macro_rules! assert_eventually { ($cond:expr, retries: $retries:expr, $($arg:tt)+) => { { - use std::{env, u64}; + use std::{env}; use std::str::FromStr; use tokio::time::{Instant, Duration}; use tracing::Instrument as _; diff --git a/linkerd/app/integration/src/metrics.rs b/linkerd/app/integration/src/metrics.rs index 7faa8a4759..36ac497685 100644 --- a/linkerd/app/integration/src/metrics.rs +++ b/linkerd/app/integration/src/metrics.rs @@ -192,8 +192,8 @@ impl MetricMatch { } pub async fn assert_in(&self, client: &crate::client::Client) { + use std::env; use std::str::FromStr; - use std::{env, u64}; use tokio::time::{Duration, Instant}; use tracing::Instrument as _; const MAX_RETRIES: usize = 5; diff --git a/linkerd/app/outbound/Cargo.toml b/linkerd/app/outbound/Cargo.toml index 31c258d71a..53685e4247 100644 --- a/linkerd/app/outbound/Cargo.toml +++ b/linkerd/app/outbound/Cargo.toml @@ -15,6 +15,8 @@ allow-loopback = [] test-subscriber = [] test-util = ["linkerd-app-test", "linkerd-meshtls-rustls/test-util"] +prometheus-client-rust-242 = [] # TODO + [dependencies] ahash = "0.8" bytes = "1" @@ -67,3 +69,6 @@ linkerd-meshtls-rustls = { path = "../../meshtls/rustls", features = [ ] } linkerd-stack = { path = "../../stack", features = ["test-util"] } linkerd-tracing = { path = "../../tracing", features = ["ansi"] } + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd/app/outbound/src/http/logical/policy/route/retry.rs b/linkerd/app/outbound/src/http/logical/policy/route/retry.rs index fe54a08509..19ee23a541 100644 --- a/linkerd/app/outbound/src/http/logical/policy/route/retry.rs +++ b/linkerd/app/outbound/src/http/logical/policy/route/retry.rs @@ -15,10 +15,6 @@ use linkerd_http_retry::{self as retry, peek_trailers::PeekTrailersBody}; use linkerd_proxy_client_policy as policy; use tokio::time; -// A request extension that marks that a request is a retry. -#[derive(Copy, Clone, Debug)] -pub struct IsRetry(()); - pub type NewHttpRetry = retry::NewHttpRetry; diff --git a/linkerd/app/src/env/types.rs b/linkerd/app/src/env/types.rs index dad1a52ab5..5205249717 100644 --- a/linkerd/app/src/env/types.rs +++ b/linkerd/app/src/env/types.rs @@ -113,9 +113,8 @@ pub(super) fn parse_port_range_set(s: &str) -> Result, Pa let low = parse_number::(low)?; if let Some(high) = parts.next() { let high = high.trim(); - let high = parse_number::(high).map_err(|e| { + let high = parse_number::(high).inspect_err(|_| { error!("Not a valid port range: {part}"); - e })?; if high < low { error!("Not a valid port range: {part}; {high} is greater than {low}"); diff --git a/linkerd/app/test/src/resolver.rs b/linkerd/app/test/src/resolver.rs index 5b5ff17d36..239703ff91 100644 --- a/linkerd/app/test/src/resolver.rs +++ b/linkerd/app/test/src/resolver.rs @@ -136,9 +136,8 @@ impl, E> tower::Service for Dst { .endpoints .lock() .remove(&addr) - .map(|x| { + .inspect(|_| { tracing::trace!("found endpoint for target"); - x }) .unwrap_or_else(|| { tracing::debug!(?addr, "no endpoint configured for"); @@ -188,9 +187,8 @@ impl Profiles { .endpoints .lock() .remove(&addr) - .map(|x| { + .inspect(|_| { tracing::trace!("found endpoint for addr"); - x }) .unwrap_or_else(|| { tracing::debug!(?addr, "no endpoint configured for"); diff --git a/linkerd/app/test/src/resolver/client_policy.rs b/linkerd/app/test/src/resolver/client_policy.rs index d86141a816..f57d3f9ced 100644 --- a/linkerd/app/test/src/resolver/client_policy.rs +++ b/linkerd/app/test/src/resolver/client_policy.rs @@ -121,9 +121,8 @@ impl ClientPolicies { .endpoints .lock() .remove(&addr) - .map(|x| { + .inspect(|_| { tracing::trace!("found policy for addr"); - x }) .ok_or_else(|| { tracing::debug!(?addr, "no policy configured for"); diff --git a/linkerd/conditional/src/lib.rs b/linkerd/conditional/src/lib.rs index 15a13f9a48..da81040a94 100644 --- a/linkerd/conditional/src/lib.rs +++ b/linkerd/conditional/src/lib.rs @@ -86,7 +86,7 @@ impl Conditional { } } -impl<'a, C, R> Conditional<&'a C, R> +impl Conditional<&C, R> where C: Clone, { diff --git a/linkerd/dns/Cargo.toml b/linkerd/dns/Cargo.toml index 1d37bfb530..cbcd750ca3 100644 --- a/linkerd/dns/Cargo.toml +++ b/linkerd/dns/Cargo.toml @@ -14,3 +14,6 @@ thiserror = "1" tracing = "0.1" hickory-resolver = "0.24.1" tokio = { version = "1", features = ["rt", "sync", "time"] } + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd/dns/name/src/name.rs b/linkerd/dns/name/src/name.rs index ac86edadc6..0a4e3ca7b6 100644 --- a/linkerd/dns/name/src/name.rs +++ b/linkerd/dns/name/src/name.rs @@ -41,7 +41,7 @@ pub struct Name(Arc); /// allowed. /// /// [RFC 5280 Section 7.2]: https://tools.ietf.org/html/rfc5280#section-7.2 -#[derive(Clone, Copy, Debug, Eq, Hash)] +#[derive(Clone, Copy, Debug, Eq)] pub struct NameRef<'a>(&'a str); #[derive(Copy, Clone, Debug, Eq, PartialEq, Error)] diff --git a/linkerd/http/access-log/src/lib.rs b/linkerd/http/access-log/src/lib.rs index 1383fd8ebc..fb73cdd952 100644 --- a/linkerd/http/access-log/src/lib.rs +++ b/linkerd/http/access-log/src/lib.rs @@ -202,8 +202,8 @@ where .map(|x| span.record("response_bytes", x)); span.record("status", response.status().as_u16()); - span.record("total_ns", &field::display(total_ns)); - span.record("processing_ns", &field::display(processing_ns)); + span.record("total_ns", field::display(total_ns)); + span.record("processing_ns", field::display(processing_ns)); Poll::Ready(Ok(response)) } diff --git a/linkerd/http/metrics/src/lib.rs b/linkerd/http/metrics/src/lib.rs index c33922b845..cfadf887ab 100644 --- a/linkerd/http/metrics/src/lib.rs +++ b/linkerd/http/metrics/src/lib.rs @@ -93,7 +93,7 @@ where } } -impl<'p, N: fmt::Display> fmt::Display for Prefixed<'p, N> { +impl fmt::Display for Prefixed<'_, N> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { if self.prefix.is_empty() { return self.name.fmt(f); diff --git a/linkerd/proxy/api-resolve/src/pb.rs b/linkerd/proxy/api-resolve/src/pb.rs index 6e04ca6cd1..de38aba893 100644 --- a/linkerd/proxy/api-resolve/src/pb.rs +++ b/linkerd/proxy/api-resolve/src/pb.rs @@ -184,12 +184,8 @@ fn to_http2_client_params(pb: Http2ClientParams) -> linkerd_http_h2::ClientParam }) }), keep_alive: pb.keep_alive.and_then(|pb| { - let Some(interval) = pb.interval.and_then(|pb| Duration::try_from(pb).ok()) else { - return None; - }; - let Some(timeout) = pb.timeout.and_then(|pb| Duration::try_from(pb).ok()) else { - return None; - }; + let interval = pb.interval.and_then(|pb| Duration::try_from(pb).ok())?; + let timeout = pb.timeout.and_then(|pb| Duration::try_from(pb).ok())?; Some(h2::ClientKeepAlive { interval, timeout, diff --git a/linkerd/proxy/http/Cargo.toml b/linkerd/proxy/http/Cargo.toml index 1cf58a2faf..63f822daf5 100644 --- a/linkerd/proxy/http/Cargo.toml +++ b/linkerd/proxy/http/Cargo.toml @@ -56,10 +56,13 @@ linkerd-io = { path = "../../io" } linkerd-proxy-balance = { path = "../balance" } linkerd-stack = { path = "../../stack" } -[target.'cfg(fuzzing)'.dependencies] -tokio-test = "0.4" - [dev-dependencies] tokio-test = "0.4" tower-test = "0.4" linkerd-tracing = { path = "../../tracing", features = ["ansi"] } + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } + +[target.'cfg(fuzzing)'.dependencies] +tokio-test = "0.4" diff --git a/linkerd/proxy/http/src/lib.rs b/linkerd/proxy/http/src/lib.rs index 7973721a7b..009d2e210c 100644 --- a/linkerd/proxy/http/src/lib.rs +++ b/linkerd/proxy/http/src/lib.rs @@ -53,7 +53,7 @@ pub trait HasH2Reason { fn h2_reason(&self) -> Option<::h2::Reason>; } -impl<'a> HasH2Reason for &'a (dyn std::error::Error + 'static) { +impl HasH2Reason for &(dyn std::error::Error + 'static) { fn h2_reason(&self) -> Option<::h2::Reason> { if let Some(err) = self.downcast_ref::<::h2::Error>() { return err.h2_reason(); diff --git a/linkerd/service-profiles/src/http/proxy.rs b/linkerd/service-profiles/src/http/proxy.rs index 09ed44db7c..5f30c32894 100644 --- a/linkerd/service-profiles/src/http/proxy.rs +++ b/linkerd/service-profiles/src/http/proxy.rs @@ -94,6 +94,7 @@ where // If the routes have been updated, update the cache. if let Poll::Ready(Some(Profile { http_routes, .. })) = self.rx.poll_next_unpin(cx) { debug!(routes = %http_routes.len(), "Updating HTTP routes"); + #[allow(clippy::mutable_key_type)] let routes = http_routes .iter() .map(|(_, r)| r.clone()) diff --git a/linkerd/system/src/lib.rs b/linkerd/system/src/lib.rs index 8f1a26908c..19e0950939 100644 --- a/linkerd/system/src/lib.rs +++ b/linkerd/system/src/lib.rs @@ -1,11 +1,6 @@ //! Unsafe code for accessing system-level counters for memory & CPU usage. -#![deny( - rust_2018_idioms, - rust_2018_idioms, - clippy::disallowed_methods, - unsafe_code -)] +#![deny(rust_2018_idioms, clippy::disallowed_methods, unsafe_code)] #[cfg(target_os = "linux")] mod linux; diff --git a/linkerd/tls/Cargo.toml b/linkerd/tls/Cargo.toml index 3600ef2c69..0940a50904 100644 --- a/linkerd/tls/Cargo.toml +++ b/linkerd/tls/Cargo.toml @@ -26,3 +26,6 @@ untrusted = "0.9" [dev-dependencies] linkerd-tracing = { path = "../tracing", features = ["ansi"] } tokio = { version = "1", features = ["rt-multi-thread"] } + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd/tls/src/server.rs b/linkerd/tls/src/server.rs index 44bb498a35..dfe2b4fb04 100644 --- a/linkerd/tls/src/server.rs +++ b/linkerd/tls/src/server.rs @@ -211,12 +211,8 @@ where debug!(sz, "Peeked bytes from TCP stream"); // Peek may return 0 bytes if the socket is not peekable. if sz > 0 { - match client_hello::parse_sni(buf.as_ref()) { - Ok(sni) => { - return Ok((sni, EitherIo::Left(io))); - } - - Err(client_hello::Incomplete) => {} + if let Ok(sni) = client_hello::parse_sni(buf.as_ref()) { + return Ok((sni, EitherIo::Left(io))); } } diff --git a/linkerd/tracing/src/access_log.rs b/linkerd/tracing/src/access_log.rs index 6a115857c7..59436ffe39 100644 --- a/linkerd/tracing/src/access_log.rs +++ b/linkerd/tracing/src/access_log.rs @@ -114,7 +114,7 @@ impl ApacheCommon { ]; } -impl<'writer> FormatFields<'writer> for ApacheCommon { +impl FormatFields<'_> for ApacheCommon { fn format_fields(&self, writer: format::Writer<'_>, fields: R) -> fmt::Result { let mut visitor = ApacheCommonVisitor { writer, diff --git a/linkerd/tracing/src/stream.rs b/linkerd/tracing/src/stream.rs index dd8fa7ec8c..d43b00d927 100644 --- a/linkerd/tracing/src/stream.rs +++ b/linkerd/tracing/src/stream.rs @@ -251,7 +251,7 @@ where // === impl Line === -impl<'a> io::Write for Line<'a> { +impl io::Write for Line<'_> { fn write(&mut self, buf: &[u8]) -> io::Result { if let Some(ref mut line) = self.0 { line.extend_from_slice(buf) diff --git a/linkerd/transport-header/Cargo.toml b/linkerd/transport-header/Cargo.toml index 35e221f90a..3f5d45384f 100644 --- a/linkerd/transport-header/Cargo.toml +++ b/linkerd/transport-header/Cargo.toml @@ -26,3 +26,6 @@ libfuzzer-sys = { version = "0.4", features = ["arbitrary-derive"] } prost-build = { version = "0.12", default-features = false } tokio = { version = "1", features = ["macros"] } tokio-test = "0.4" + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd2-proxy/Cargo.toml b/linkerd2-proxy/Cargo.toml index 4276e62aba..a66a9f928c 100644 --- a/linkerd2-proxy/Cargo.toml +++ b/linkerd2-proxy/Cargo.toml @@ -31,3 +31,6 @@ tracing = "0.1" [target.x86_64-unknown-linux-gnu.dependencies] jemallocator = { version = "0.5" } + +[lints.rust] +unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 624eb0ea63..0193dee360 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.76.0" +channel = "1.83.0"