From 9fb4fb4fbdeba0a14acf0e1325464dd68ebfc076 Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Sun, 3 Dec 2023 16:39:08 +0000 Subject: [PATCH 1/5] deps: Update tokio, tonic, and prost * tokio 1.34 * tonic 0.10 * prost 0.12 * linkerd2-proxy-api 0.12 (linkerd/linkerd2-proxy-api#269) --- Cargo.lock | 190 ++++++------------ Cargo.toml | 3 + deny.toml | 8 +- linkerd/app/Cargo.toml | 2 +- linkerd/app/core/Cargo.toml | 2 +- linkerd/app/gateway/Cargo.toml | 2 +- linkerd/app/inbound/Cargo.toml | 4 +- linkerd/app/integration/Cargo.toml | 4 +- linkerd/app/outbound/Cargo.toml | 4 +- linkerd/app/test/Cargo.toml | 2 +- linkerd/exp-backoff/Cargo.toml | 1 - linkerd/http-route/Cargo.toml | 2 +- linkerd/opencensus/Cargo.toml | 5 +- linkerd/proxy/api-resolve/Cargo.toml | 6 +- linkerd/proxy/client-policy/Cargo.toml | 6 +- linkerd/proxy/identity-client/Cargo.toml | 4 +- linkerd/proxy/server-policy/Cargo.toml | 4 +- linkerd/proxy/tap/Cargo.toml | 8 +- linkerd/service-profiles/Cargo.toml | 8 +- linkerd/tonic-watch/Cargo.toml | 2 +- linkerd/transport-header/Cargo.toml | 4 +- opencensus-proto/Cargo.toml | 8 +- .../gen/opencensus.proto.agent.trace.v1.rs | 40 +++- .../src/gen/opencensus.proto.trace.v1.rs | 8 +- tools/Cargo.toml | 4 +- 25 files changed, 146 insertions(+), 185 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 00d52cc7a9..8ee91804bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -835,9 +835,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.25" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -850,7 +850,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -929,7 +929,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "723519edce41262b05d4143ceb95050e4c614f483e78e9fd9e39a8275a84ad98" dependencies = [ - "socket2", + "socket2 0.4.9", "widestring", "winapi", "winreg", @@ -1236,7 +1236,7 @@ dependencies = [ "regex", "rustls-pemfile", "serde_json", - "socket2", + "socket2 0.4.9", "tokio", "tokio-rustls", "tokio-stream", @@ -1659,7 +1659,7 @@ dependencies = [ "linkerd-tls", "linkerd2-proxy-api", "pin-project", - "prost 0.11.8", + "prost", "tonic", "tower", "tracing", @@ -1701,7 +1701,7 @@ dependencies = [ "linkerd2-proxy-api", "maplit", "once_cell", - "prost-types 0.11.8", + "prost-types", "quickcheck", "thiserror", "tonic", @@ -1828,7 +1828,7 @@ dependencies = [ "linkerd-http-route", "linkerd2-proxy-api", "maplit", - "prost-types 0.11.8", + "prost-types", "quickcheck", "thiserror", ] @@ -1851,7 +1851,7 @@ dependencies = [ "linkerd2-proxy-api", "parking_lot", "pin-project", - "prost-types 0.11.8", + "prost-types", "quickcheck", "rand", "thiserror", @@ -1885,7 +1885,7 @@ dependencies = [ "linkerd-error", "linkerd-io", "linkerd-stack", - "socket2", + "socket2 0.4.9", "thiserror", "tokio", "tokio-stream", @@ -1950,7 +1950,7 @@ dependencies = [ "linkerd-tonic-watch", "linkerd2-proxy-api", "once_cell", - "prost-types 0.11.8", + "prost-types", "quickcheck", "regex", "thiserror", @@ -2104,8 +2104,8 @@ dependencies = [ "linkerd-error", "linkerd-io", "linkerd-stack", - "prost 0.11.8", - "prost-build 0.11.8", + "prost", + "prost-build", "tokio", "tokio-test", "tracing", @@ -2142,15 +2142,14 @@ dependencies = [ [[package]] name = "linkerd2-proxy-api" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2348745f909668e6de2dbd175eeeac374887ffb33989a0e09766f1807b27cdfe" +version = "0.12.0" +source = "git+https://github.com/linkerd/linkerd2-proxy-api?branch=ver/deps#fc183001219fc1b682a43fa19ad2f4fa76226b8b" dependencies = [ "h2", "http", "ipnet", - "prost 0.11.8", - "prost-types 0.11.8", + "prost", + "prost-types", "quickcheck", "thiserror", "tonic", @@ -2276,14 +2275,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", - "log", "wasi", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -2393,8 +2391,8 @@ name = "opencensus-proto" version = "0.1.0" dependencies = [ "bytes", - "prost 0.11.8", - "prost-types 0.11.8", + "prost", + "prost-types", "tonic", "tonic-build", ] @@ -2482,9 +2480,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2512,9 +2510,9 @@ dependencies = [ "nix", "once_cell", "parking_lot", - "prost 0.12.1", - "prost-build 0.12.1", - "prost-derive 0.12.1", + "prost", + "prost-build", + "prost-derive", "sha2", "smallvec", "symbolic-demangle", @@ -2528,16 +2526,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2", - "syn 1.0.109", -] - [[package]] name = "prettyplease" version = "0.2.15" @@ -2570,16 +2558,6 @@ dependencies = [ "rustix 0.36.16", ] -[[package]] -name = "prost" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" -dependencies = [ - "bytes", - "prost-derive 0.11.8", -] - [[package]] name = "prost" version = "0.12.1" @@ -2587,29 +2565,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" dependencies = [ "bytes", - "prost-derive 0.12.1", -] - -[[package]] -name = "prost-build" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" -dependencies = [ - "bytes", - "heck", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prettyplease 0.1.25", - "prost 0.11.8", - "prost-types 0.11.8", - "regex", - "syn 1.0.109", - "tempfile", - "which", + "prost-derive", ] [[package]] @@ -2625,28 +2581,15 @@ dependencies = [ "multimap", "once_cell", "petgraph", - "prettyplease 0.2.15", - "prost 0.12.1", - "prost-types 0.12.1", + "prettyplease", + "prost", + "prost-types", "regex", "syn 2.0.39", "tempfile", "which", ] -[[package]] -name = "prost-derive" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "prost-derive" version = "0.12.1" @@ -2660,22 +2603,13 @@ dependencies = [ "syn 2.0.39", ] -[[package]] -name = "prost-types" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" -dependencies = [ - "prost 0.11.8", -] - [[package]] name = "prost-types" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost 0.12.1", + "prost", ] [[package]] @@ -3028,6 +2962,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "spin" version = "0.5.2" @@ -3202,22 +3146,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.26.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.5", "tokio-macros", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -3243,13 +3186,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] @@ -3303,17 +3246,15 @@ dependencies = [ [[package]] name = "tonic" -version = "0.8.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.13.1", + "base64 0.21.5", "bytes", - "futures-core", - "futures-util", "h2", "http", "http-body", @@ -3321,29 +3262,26 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.11.8", - "prost-derive 0.11.8", + "prost", "tokio", "tokio-stream", - "tokio-util", "tower", "tower-layer", "tower-service", "tracing", - "tracing-futures", ] [[package]] name = "tonic-build" -version = "0.8.4" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" +checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" dependencies = [ - "prettyplease 0.1.25", + "prettyplease", "proc-macro2", - "prost-build 0.11.8", + "prost-build", "quote", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] @@ -3433,16 +3371,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index a00b13f1f8..5d51f5fa17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,3 +75,6 @@ members = [ [profile.release] debug = 1 lto = true + +[patch.crates-io] +linkerd2-proxy-api = { git = "https://github.com/linkerd/linkerd2-proxy-api", branch = "ver/deps" } diff --git a/deny.toml b/deny.toml index f059ea1a66..382f819ef3 100644 --- a/deny.toml +++ b/deny.toml @@ -79,17 +79,13 @@ skip = [ # https://github.com/hawkw/matchers/pull/4 { name = "regex-automata", version = "0.1" }, { name = "regex-syntax", version = "0.6" }, - # linkerd2-proxy-api needs to upgrade tonic to upgrade prost... - { name = "prost", version = "0.11" }, - { name = "prost-build", version = "0.11" }, - { name = "prost-derive", version = "0.11" }, - { name = "prost-types", version = "0.11" }, - { name = "prettyplease", version = "0.1" }, ] 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] diff --git a/linkerd/app/Cargo.toml b/linkerd/app/Cargo.toml index 2221e5a1ca..d5a9f64700 100644 --- a/linkerd/app/Cargo.toml +++ b/linkerd/app/Cargo.toml @@ -30,6 +30,6 @@ regex = "1" thiserror = "1" tokio = { version = "1", features = ["rt"] } tokio-stream = { version = "0.1", features = ["time", "sync"] } -tonic = { version = "0.8", default-features = false, features = ["prost"] } +tonic = { version = "0.10", default-features = false, features = ["prost"] } tower = "0.4" tracing = "0.1" diff --git a/linkerd/app/core/Cargo.toml b/linkerd/app/core/Cargo.toml index 1a98d081fe..f620e18c52 100644 --- a/linkerd/app/core/Cargo.toml +++ b/linkerd/app/core/Cargo.toml @@ -63,7 +63,7 @@ serde_json = "1" thiserror = "1" tokio = { version = "1", features = ["macros", "sync", "parking_lot"] } tokio-stream = { version = "0.1", features = ["time"] } -tonic = { version = "0.8", default-features = false, features = ["prost"] } +tonic = { version = "0.10", default-features = false, features = ["prost"] } tracing = "0.1" parking_lot = "0.12" pin-project = "1" diff --git a/linkerd/app/gateway/Cargo.toml b/linkerd/app/gateway/Cargo.toml index 01c85aace5..86603399ab 100644 --- a/linkerd/app/gateway/Cargo.toml +++ b/linkerd/app/gateway/Cargo.toml @@ -16,7 +16,7 @@ linkerd-proxy-client-policy = { path = "../../proxy/client-policy" } once_cell = "1" thiserror = "1" tokio = { version = "1", features = ["sync"] } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tower = { version = "0.4", default-features = false } tracing = "0.1" diff --git a/linkerd/app/inbound/Cargo.toml b/linkerd/app/inbound/Cargo.toml index c76c1b229d..64b5651eef 100644 --- a/linkerd/app/inbound/Cargo.toml +++ b/linkerd/app/inbound/Cargo.toml @@ -29,13 +29,13 @@ linkerd-meshtls = { path = "../../meshtls", optional = true } linkerd-meshtls-rustls = { path = "../../meshtls/rustls", optional = true } linkerd-proxy-client-policy = { path = "../../proxy/client-policy" } linkerd-tonic-watch = { path = "../../tonic-watch" } -linkerd2-proxy-api = { version = "0.11", features = ["inbound"] } +linkerd2-proxy-api = { version = "0.12", features = ["inbound"] } once_cell = "1" parking_lot = "0.12" rangemap = "1" thiserror = "1" tokio = { version = "1", features = ["sync"] } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tower = { version = "0.4", features = ["util"] } tracing = "0.1" diff --git a/linkerd/app/integration/Cargo.toml b/linkerd/app/integration/Cargo.toml index 20e8960c5a..f6b54a9bc6 100644 --- a/linkerd/app/integration/Cargo.toml +++ b/linkerd/app/integration/Cargo.toml @@ -33,7 +33,7 @@ ipnet = "2" linkerd-app = { path = "..", features = ["allow-loopback"] } linkerd-app-core = { path = "../core" } linkerd-metrics = { path = "../../metrics", features = ["test_util"] } -linkerd2-proxy-api = { version = "0.11", features = [ +linkerd2-proxy-api = { version = "0.12", features = [ "destination", "arbitrary", ] } @@ -48,7 +48,7 @@ tokio-stream = { version = "0.1", features = ["sync"] } tokio-rustls = "0.24" rustls-pemfile = "1.0" tower = { version = "0.4", default-features = false } -tonic = { version = "0.8", features = ["transport"], default-features = false } +tonic = { version = "0.10", features = ["transport"], default-features = false } tracing = "0.1" tracing-subscriber = { version = "0.3", default-features = false, features = [ "fmt", diff --git a/linkerd/app/outbound/Cargo.toml b/linkerd/app/outbound/Cargo.toml index d39fa32527..1d4ff23db8 100644 --- a/linkerd/app/outbound/Cargo.toml +++ b/linkerd/app/outbound/Cargo.toml @@ -20,7 +20,7 @@ ahash = "0.8" bytes = "1" http = "0.2" futures = { version = "0.3", default-features = false } -linkerd2-proxy-api = { version = "0.11", features = ["outbound"] } +linkerd2-proxy-api = { version = "0.12", features = ["outbound"] } linkerd-app-core = { path = "../core" } linkerd-app-test = { path = "../test", optional = true } linkerd-distribute = { path = "../../distribute" } @@ -38,7 +38,7 @@ once_cell = "1" parking_lot = "0.12" thiserror = "1" tokio = { version = "1", features = ["sync"] } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tower = { version = "0.4", features = ["util"] } tracing = "0.1" pin-project = "1" diff --git a/linkerd/app/test/Cargo.toml b/linkerd/app/test/Cargo.toml index 1d2c5b6446..64829d7ec4 100644 --- a/linkerd/app/test/Cargo.toml +++ b/linkerd/app/test/Cargo.toml @@ -29,7 +29,7 @@ regex = "1" tokio = { version = "1", features = ["io-util", "net", "rt", "sync"] } tokio-test = "0.4" tokio-stream = { version = "0.1", features = ["sync"] } -tonic = { version = "0.8", default-features = false, optional = true } +tonic = { version = "0.10", default-features = false, optional = true } tower = { version = "0.4", default-features = false } tracing = "0.1" thiserror = "1" diff --git a/linkerd/exp-backoff/Cargo.toml b/linkerd/exp-backoff/Cargo.toml index 2e37e492bb..c221ca9111 100644 --- a/linkerd/exp-backoff/Cargo.toml +++ b/linkerd/exp-backoff/Cargo.toml @@ -6,7 +6,6 @@ license = "Apache-2.0" edition = "2021" publish = false - [dependencies] futures = { version = "0.3", default-features = false } rand = { version = "0.8", features = ["small_rng"] } diff --git a/linkerd/http-route/Cargo.toml b/linkerd/http-route/Cargo.toml index 3361146e5d..de843f10c5 100644 --- a/linkerd/http-route/Cargo.toml +++ b/linkerd/http-route/Cargo.toml @@ -17,7 +17,7 @@ tracing = "0.1" url = "2" [dependencies.linkerd2-proxy-api] -version = "0.11" +version = "0.12" features = ["http-route", "grpc-route"] optional = true diff --git a/linkerd/opencensus/Cargo.toml b/linkerd/opencensus/Cargo.toml index 04f4909c40..65d1b45eed 100644 --- a/linkerd/opencensus/Cargo.toml +++ b/linkerd/opencensus/Cargo.toml @@ -13,7 +13,10 @@ http-body = "0.4" linkerd-error = { path = "../error" } linkerd-metrics = { path = "../metrics" } opencensus-proto = { path = "../../opencensus-proto" } -tonic = { version = "0.8", default-features = false, features = ["prost", "codegen"] } +tonic = { version = "0.10", default-features = false, features = [ + "prost", + "codegen", +] } tokio = { version = "1", features = ["macros", "sync", "time"] } tokio-stream = { version = "0.1", features = ["sync"] } tracing = "0.1" diff --git a/linkerd/proxy/api-resolve/Cargo.toml b/linkerd/proxy/api-resolve/Cargo.toml index 4045c8bec1..29012a30fa 100644 --- a/linkerd/proxy/api-resolve/Cargo.toml +++ b/linkerd/proxy/api-resolve/Cargo.toml @@ -14,14 +14,14 @@ async-stream = "0.3" futures = { version = "0.3", default-features = false } linkerd-addr = { path = "../../addr" } linkerd-error = { path = "../../error" } -linkerd2-proxy-api = { version = "0.11", features = ["destination"] } +linkerd2-proxy-api = { version = "0.12", features = ["destination"] } linkerd-proxy-core = { path = "../core" } linkerd-stack = { path = "../../stack" } linkerd-tls = { path = "../../tls" } http = "0.2" http-body = "0.4" pin-project = "1" -prost = "0.11" -tonic = { version = "0.8", default-features = false } +prost = "0.12" +tonic = { version = "0.10", default-features = false } tower = { version = "0.4", default-features = false } tracing = "0.1" diff --git a/linkerd/proxy/client-policy/Cargo.toml b/linkerd/proxy/client-policy/Cargo.toml index 28b4a95bf8..1d1ac1e4e8 100644 --- a/linkerd/proxy/client-policy/Cargo.toml +++ b/linkerd/proxy/client-policy/Cargo.toml @@ -18,7 +18,7 @@ proto = [ ahash = "0.8" ipnet = "2" http = "0.2" -linkerd2-proxy-api = { version = "0.11", optional = true, features = [ +linkerd2-proxy-api = { version = "0.12", optional = true, features = [ "outbound", ] } linkerd-error = { path = "../../error" } @@ -27,8 +27,8 @@ linkerd-http-route = { path = "../../http-route" } linkerd-proxy-api-resolve = { path = "../api-resolve" } linkerd-proxy-core = { path = "../core" } once_cell = { version = "1" } -prost-types = { version = "0.11", optional = true } -tonic = { version = "0.8", default-features = false } +prost-types = { version = "0.12", optional = true } +tonic = { version = "0.10", default-features = false } thiserror = { version = "1", optional = true } [dev-dependencies] diff --git a/linkerd/proxy/identity-client/Cargo.toml b/linkerd/proxy/identity-client/Cargo.toml index e46ee0b4b8..8e68cc3f18 100644 --- a/linkerd/proxy/identity-client/Cargo.toml +++ b/linkerd/proxy/identity-client/Cargo.toml @@ -8,7 +8,7 @@ publish = false [dependencies] futures = { version = "0.3", default-features = false } -linkerd2-proxy-api = { version = "0.11", features = ["identity"] } +linkerd2-proxy-api = { version = "0.12", features = ["identity"] } linkerd-dns-name = { path = "../../dns/name" } linkerd-error = { path = "../../error" } linkerd-identity = { path = "../../identity" } @@ -18,6 +18,6 @@ parking_lot = "0.12" pin-project = "1" thiserror = "1" tokio = { version = "1", features = ["time", "sync"] } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tracing = "0.1" http-body = "0.4" diff --git a/linkerd/proxy/server-policy/Cargo.toml b/linkerd/proxy/server-policy/Cargo.toml index d19a7fc65d..158d802244 100644 --- a/linkerd/proxy/server-policy/Cargo.toml +++ b/linkerd/proxy/server-policy/Cargo.toml @@ -13,11 +13,11 @@ proto = ["linkerd-http-route/proto", "linkerd2-proxy-api", "prost-types"] ipnet = "2" http = "0.2" linkerd-http-route = { path = "../../http-route" } -prost-types = { version = "0.11", optional = true } +prost-types = { version = "0.12", optional = true } thiserror = "1" [dependencies.linkerd2-proxy-api] -version = "0.11" +version = "0.12" features = ["inbound"] optional = true diff --git a/linkerd/proxy/tap/Cargo.toml b/linkerd/proxy/tap/Cargo.toml index bedaec7813..163b165942 100644 --- a/linkerd/proxy/tap/Cargo.toml +++ b/linkerd/proxy/tap/Cargo.toml @@ -11,7 +11,7 @@ http = "0.2" hyper = { version = "0.14", features = ["http1", "http2"] } futures = { version = "0.3", default-features = false } ipnet = "2.7" -linkerd2-proxy-api = { version = "0.11", features = ["tap"] } +linkerd2-proxy-api = { version = "0.12", features = ["tap"] } linkerd-conditional = { path = "../../conditional" } linkerd-error = { path = "../../error" } linkerd-meshtls = { path = "../../meshtls" } @@ -20,15 +20,15 @@ linkerd-proxy-http = { path = "../http" } linkerd-stack = { path = "../../stack" } linkerd-tls = { path = "../../tls" } parking_lot = "0.12" -prost-types = "0.11" +prost-types = "0.12" rand = { version = "0.8" } thiserror = "1" tokio = { version = "1", features = ["time"] } tower = { version = "0.4", default-features = false } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tracing = "0.1" pin-project = "1" [dev-dependencies] -linkerd2-proxy-api = { version = "0.11", features = ["arbitrary"] } +linkerd2-proxy-api = { version = "0.12", features = ["arbitrary"] } quickcheck = { version = "1", default-features = false } diff --git a/linkerd/service-profiles/Cargo.toml b/linkerd/service-profiles/Cargo.toml index 3a81849d89..6c6b6d84d6 100644 --- a/linkerd/service-profiles/Cargo.toml +++ b/linkerd/service-profiles/Cargo.toml @@ -21,17 +21,17 @@ linkerd-http-box = { path = "../http-box" } linkerd-proxy-api-resolve = { path = "../proxy/api-resolve" } linkerd-stack = { path = "../stack" } linkerd-tonic-watch = { path = "../tonic-watch" } -linkerd2-proxy-api = { version = "0.11", features = ["destination"] } +linkerd2-proxy-api = { version = "0.12", features = ["destination"] } once_cell = "1.17" -prost-types = "0.11" +prost-types = "0.12" regex = "1" tokio = { version = "1", features = ["macros", "rt", "sync", "time"] } tokio-stream = { version = "0.1", features = ["sync"] } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tower = { version = "0.4.13", features = ["retry", "util"] } thiserror = "1" tracing = "0.1" [dev-dependencies] -linkerd2-proxy-api = { version = "0.11", features = ["arbitrary"] } +linkerd2-proxy-api = { version = "0.12", features = ["arbitrary"] } quickcheck = { version = "1", default-features = false } diff --git a/linkerd/tonic-watch/Cargo.toml b/linkerd/tonic-watch/Cargo.toml index 0e9cdad0d5..1f3ecfe527 100644 --- a/linkerd/tonic-watch/Cargo.toml +++ b/linkerd/tonic-watch/Cargo.toml @@ -13,7 +13,7 @@ Provides a utility for creating robust watches from a service that returns a str futures = { version = "0.3", default-features = false } linkerd-error = { path = "../error" } linkerd-stack = { path = "../stack" } -tonic = { version = "0.8", default-features = false } +tonic = { version = "0.10", default-features = false } tokio = { version = "1", features = ["macros", "rt", "sync", "time"] } tracing = "0.1" diff --git a/linkerd/transport-header/Cargo.toml b/linkerd/transport-header/Cargo.toml index 363655937c..35e221f90a 100644 --- a/linkerd/transport-header/Cargo.toml +++ b/linkerd/transport-header/Cargo.toml @@ -14,7 +14,7 @@ linkerd-dns-name = { path = "../dns/name" } linkerd-error = { path = "../error" } linkerd-io = { path = "../io" } linkerd-stack = { path = "../stack" } -prost = "0.11" +prost = "0.12" tokio = { version = "1", features = ["time"] } tracing = "0.1" @@ -23,6 +23,6 @@ arbitrary = { version = "1", features = ["derive"] } libfuzzer-sys = { version = "0.4", features = ["arbitrary-derive"] } [dev-dependencies] -prost-build = { version = "0.11", default-features = false } +prost-build = { version = "0.12", default-features = false } tokio = { version = "1", features = ["macros"] } tokio-test = "0.4" diff --git a/opencensus-proto/Cargo.toml b/opencensus-proto/Cargo.toml index 2465dc73b4..c339c66335 100644 --- a/opencensus-proto/Cargo.toml +++ b/opencensus-proto/Cargo.toml @@ -13,16 +13,16 @@ Vendored from https://github.com/census-instrumentation/opencensus-proto/. [dependencies] bytes = "1" -prost = "0.11" -prost-types = "0.11" +prost = "0.12" +prost-types = "0.12" [dependencies.tonic] -version = "0.8" +version = "0.10" default-features = false features = ["prost", "codegen"] [dev-dependencies.tonic-build] -version = "0.8" +version = "0.10" default-features = false features = ["prost"] diff --git a/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs b/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs index 8e0c3ff28c..0436cb7bfb 100644 --- a/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs +++ b/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs @@ -105,6 +105,22 @@ pub mod trace_service_client { self.inner = self.inner.accept_compressed(encoding); self } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } /// After initialization, this RPC must be kept alive for the entire life of /// the application. The agent pushes configs down to applications via a /// stream. @@ -113,7 +129,7 @@ pub mod trace_service_client { request: impl tonic::IntoStreamingRequest< Message = super::CurrentLibraryConfig, >, - ) -> Result< + ) -> std::result::Result< tonic::Response>, tonic::Status, > { @@ -130,7 +146,15 @@ pub mod trace_service_client { let path = http::uri::PathAndQuery::from_static( "/opencensus.proto.agent.trace.v1.TraceService/Config", ); - self.inner.streaming(request.into_streaming_request(), path, codec).await + let mut req = request.into_streaming_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "opencensus.proto.agent.trace.v1.TraceService", + "Config", + ), + ); + self.inner.streaming(req, path, codec).await } /// For performance reasons, it is recommended to keep this RPC /// alive for the entire life of the application. @@ -139,7 +163,7 @@ pub mod trace_service_client { request: impl tonic::IntoStreamingRequest< Message = super::ExportTraceServiceRequest, >, - ) -> Result< + ) -> std::result::Result< tonic::Response>, tonic::Status, > { @@ -156,7 +180,15 @@ pub mod trace_service_client { let path = http::uri::PathAndQuery::from_static( "/opencensus.proto.agent.trace.v1.TraceService/Export", ); - self.inner.streaming(request.into_streaming_request(), path, codec).await + let mut req = request.into_streaming_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "opencensus.proto.agent.trace.v1.TraceService", + "Export", + ), + ); + self.inner.streaming(req, path, codec).await } } } diff --git a/opencensus-proto/src/gen/opencensus.proto.trace.v1.rs b/opencensus-proto/src/gen/opencensus.proto.trace.v1.rs index 3afa5901fa..8b08c6ac16 100644 --- a/opencensus-proto/src/gen/opencensus.proto.trace.v1.rs +++ b/opencensus-proto/src/gen/opencensus.proto.trace.v1.rs @@ -427,8 +427,8 @@ pub mod span { /// The `Status` type defines a logical error model that is suitable for different /// programming environments, including REST APIs and RPC APIs. This proto's fields /// are a subset of those of -/// \[google.rpc.Status\](), -/// which is used by \[gRPC\](). +/// [google.rpc.Status](), +/// which is used by [gRPC](). #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Status { @@ -501,7 +501,7 @@ pub mod stack_trace { #[prost(message, optional, tag = "1")] pub function_name: ::core::option::Option, /// An un-mangled function name, if `function_name` is - /// \[mangled\](). The name can + /// [mangled](). The name can /// be fully qualified. #[prost(message, optional, tag = "2")] pub original_function_name: ::core::option::Option, @@ -607,7 +607,7 @@ pub mod trace_config { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ProbabilitySampler { - /// The desired probability of sampling. Must be within [0.0, 1.0]. + /// The desired probability of sampling. Must be within \[0.0, 1.0\]. #[prost(double, tag = "1")] pub sampling_probability: f64, } diff --git a/tools/Cargo.toml b/tools/Cargo.toml index 3cb81e251b..e32cb390ca 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -6,6 +6,6 @@ license = "Apache-2.0" publish = false [dependencies.tonic-build] -version = "0.8" +version = "0.10" default-features = false -features = ["prost"] \ No newline at end of file +features = ["prost"] From 1a243be6dbd740a00d4562499fcf983276aea552 Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Sun, 3 Dec 2023 19:31:56 +0000 Subject: [PATCH 2/5] fixup coverage ignore --- .codecov.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.codecov.yml b/.codecov.yml index 38facf2e17..80779752c8 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,10 +1,9 @@ -codecov: +coverage: ignore: - "linkerd/app/integration/src/**" - "**/src/gen/**" - "tools/**" -coverage: precision: 2 round: down range: "70...100" From dcb7218e3f5de5d611fe4a0487f96389079183f9 Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Sun, 3 Dec 2023 19:35:44 +0000 Subject: [PATCH 3/5] fixup deny --- Cargo.lock | 17 ++++------------- deny.toml | 3 +++ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8ee91804bb..81083774a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -193,7 +193,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide 0.7.1", + "miniz_oxide", "object", "rustc-demangle", ] @@ -533,12 +533,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", - "miniz_oxide 0.6.2", + "miniz_oxide", ] [[package]] @@ -2255,15 +2255,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.7.1" diff --git a/deny.toml b/deny.toml index 382f819ef3..5278e9114e 100644 --- a/deny.toml +++ b/deny.toml @@ -92,3 +92,6 @@ skip-tree = [ unknown-registry = "deny" unknown-git = "deny" allow-registry = ["https://github.com/rust-lang/crates.io-index"] + +[sources.allow-org] +github = ["linkerd"] From 6c9b2087afef83a517a9d7882a28e07e2e013430 Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Sun, 3 Dec 2023 20:42:28 +0000 Subject: [PATCH 4/5] patch proxy-api in fuzzer --- linkerd/app/inbound/fuzz/Cargo.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/linkerd/app/inbound/fuzz/Cargo.toml b/linkerd/app/inbound/fuzz/Cargo.toml index 6e42a83ef8..01a4664867 100644 --- a/linkerd/app/inbound/fuzz/Cargo.toml +++ b/linkerd/app/inbound/fuzz/Cargo.toml @@ -36,3 +36,6 @@ name = "fuzz_target_1" path = "fuzz_targets/fuzz_target_1.rs" test = true doc = false + +[patch.crates-io] +linkerd2-proxy-api = { git = "https://github.com/linkerd/linkerd2-proxy-api", branch = "ver/deps" } From 3d50cb97bd52135119292a381b24049d82e3c03d Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Mon, 4 Dec 2023 20:29:10 +0000 Subject: [PATCH 5/5] Use released proxy-api --- Cargo.lock | 3 ++- Cargo.toml | 4 ++-- linkerd/app/inbound/fuzz/Cargo.toml | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 81083774a2..ed4ed939c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2143,7 +2143,8 @@ dependencies = [ [[package]] name = "linkerd2-proxy-api" version = "0.12.0" -source = "git+https://github.com/linkerd/linkerd2-proxy-api?branch=ver/deps#fc183001219fc1b682a43fa19ad2f4fa76226b8b" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ad088d0a89f71b0a32a719c082e34fc9ba5c11c670dceab759b5700e3fa914" dependencies = [ "h2", "http", diff --git a/Cargo.toml b/Cargo.toml index 5d51f5fa17..5b23ede593 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,5 +76,5 @@ members = [ debug = 1 lto = true -[patch.crates-io] -linkerd2-proxy-api = { git = "https://github.com/linkerd/linkerd2-proxy-api", branch = "ver/deps" } +# [patch.crates-io] +# linkerd2-proxy-api = { git = "https://github.com/linkerd/linkerd2-proxy-api", branch = "ver/deps" } diff --git a/linkerd/app/inbound/fuzz/Cargo.toml b/linkerd/app/inbound/fuzz/Cargo.toml index 01a4664867..af7e226c92 100644 --- a/linkerd/app/inbound/fuzz/Cargo.toml +++ b/linkerd/app/inbound/fuzz/Cargo.toml @@ -37,5 +37,5 @@ path = "fuzz_targets/fuzz_target_1.rs" test = true doc = false -[patch.crates-io] -linkerd2-proxy-api = { git = "https://github.com/linkerd/linkerd2-proxy-api", branch = "ver/deps" } +# [patch.crates-io] +# linkerd2-proxy-api = { git = "https://github.com/linkerd/linkerd2-proxy-api", branch = "ver/deps" }