diff --git a/Cargo.lock b/Cargo.lock index d31cf40aa..7671bc0f8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -124,7 +124,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 2.0.14", + "thiserror 2.0.16", "time", ] @@ -136,7 +136,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] @@ -148,7 +148,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -170,18 +170,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -263,7 +263,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cexpr", "clang-sys", "itertools 0.12.1", @@ -276,7 +276,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.105", + "syn 2.0.106", "which", ] @@ -286,7 +286,7 @@ version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cexpr", "clang-sys", "itertools 0.13.0", @@ -295,7 +295,7 @@ dependencies = [ "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -306,9 +306,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" [[package]] name = "boring" @@ -316,7 +316,7 @@ version = "4.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f4ea552f8764e7235bb0b6aaec33b891e5b178c77d8c96cfad6c10f057c64a6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "boring-sys", "foreign-types 0.5.0", "libc", @@ -403,9 +403,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.32" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -423,9 +423,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -487,18 +487,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.45" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" +checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.44" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" +checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" dependencies = [ "anstyle", "clap_lex", @@ -769,7 +769,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -808,7 +808,7 @@ dependencies = [ "chrono", "rust_decimal", "serde", - "thiserror 2.0.14", + "thiserror 2.0.16", "time", "winnow", ] @@ -822,7 +822,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -846,7 +846,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -866,7 +866,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -886,7 +886,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -990,7 +990,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1007,9 +1007,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1086,7 +1086,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -1121,9 +1121,9 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" +checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" dependencies = [ "cc", "cfg-if", @@ -1174,7 +1174,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.3+wasi-0.2.4", ] [[package]] @@ -1265,7 +1265,7 @@ dependencies = [ "once_cell", "radix_trie", "rand 0.9.2", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -1289,7 +1289,7 @@ dependencies = [ "rand 0.9.2", "ring", "serde", - "thiserror 2.0.14", + "thiserror 2.0.16", "tinyvec", "tokio", "tracing", @@ -1313,7 +1313,7 @@ dependencies = [ "resolv-conf", "serde", "smallvec", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -1335,7 +1335,7 @@ dependencies = [ "ipnet", "prefix-trie", "serde", - "thiserror 2.0.14", + "thiserror 2.0.16", "time", "tokio", "tokio-util", @@ -1399,13 +1399,14 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", + "futures-core", "h2", "http", "http-body", @@ -1413,6 +1414,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -1573,9 +1575,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -1594,9 +1596,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "equivalent", "hashbrown", @@ -1613,11 +1615,11 @@ dependencies = [ [[package]] name = "io-uring" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cfg-if", "libc", ] @@ -1715,9 +1717,9 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -1796,7 +1798,7 @@ checksum = "656b3b27f8893f7bbf9485148ff9a65f019e3f33bd5cdc87c83cab16b3fd9ec8" dependencies = [ "libc", "neli", - "thiserror 2.0.14", + "thiserror 2.0.16", "windows-sys 0.59.0", ] @@ -1831,9 +1833,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.16.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ea4e65087ff52f3862caff188d489f1fab49a0cb09e01b2e3f1a617b10aaed" +checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" dependencies = [ "hashbrown", ] @@ -1874,9 +1876,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28" +checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" dependencies = [ "libc", ] @@ -2020,11 +2022,11 @@ dependencies = [ [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cfg-if", "cfg_aliases", "libc", @@ -2180,7 +2182,7 @@ version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cfg-if", "foreign-types 0.3.2", "libc", @@ -2197,7 +2199,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2265,9 +2267,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "petgraph" @@ -2296,7 +2298,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2313,9 +2315,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pingora-pool" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bacdd5dbdec690d468856d988b170c8bb4ab62e0edefc0f432ba5e326489f421" +checksum = "996c574f30a6e1ad10b47ac1626a86e0e47d5075953dd049d60df16ba5f7076e" dependencies = [ "crossbeam-queue", "log", @@ -2328,9 +2330,9 @@ dependencies = [ [[package]] name = "pingora-timeout" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685bb8808cc1919c63a06ab14fdac9b84a4887ced49259a5c0adc8bfb2ffe558" +checksum = "548cd21d41611c725827677937e68f2cd008bbfa09f3416d3fbad07e1e42f6d7" dependencies = [ "once_cell", "parking_lot", @@ -2381,9 +2383,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ "zerovec", ] @@ -2424,7 +2426,7 @@ dependencies = [ "spin", "symbolic-demangle", "tempfile", - "thiserror 2.0.14", + "thiserror 2.0.16", ] [[package]] @@ -2462,28 +2464,28 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.36" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "proc-macro2" -version = "1.0.97" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus-client" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf41c1a7c32ed72abe5082fb19505b969095c12da9f5732a4bc9878757fd087c" +checksum = "e4500adecd7af8e0e9f4dbce15cfee07ce913fbf6ad605cc468b83f2d531ee94" dependencies = [ "dtoa", "itoa", @@ -2493,13 +2495,13 @@ dependencies = [ [[package]] name = "prometheus-client-derive-encode" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" +checksum = "9adf1691c04c0a5ff46ff8f262b58beb07b0dbb61f96f9f54f6cbd82106ed87f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2540,7 +2542,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.105", + "syn 2.0.106", "tempfile", ] @@ -2554,7 +2556,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -2783,19 +2785,19 @@ version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata 0.4.10", + "regex-syntax 0.8.6", ] [[package]] @@ -2809,13 +2811,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax 0.8.6", ] [[package]] @@ -2826,9 +2828,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "resolv-conf" @@ -2902,7 +2904,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "errno", "libc", "linux-raw-sys 0.4.15", @@ -2915,7 +2917,7 @@ version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "errno", "libc", "linux-raw-sys 0.9.4", @@ -3053,7 +3055,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -3099,14 +3101,14 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.142" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -3255,9 +3257,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.105" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -3278,7 +3280,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3287,7 +3289,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -3310,15 +3312,15 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" [[package]] name = "tempfile" -version = "3.20.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", "rustix 1.0.8", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3339,7 +3341,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3350,7 +3352,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "test-case-core", ] @@ -3375,11 +3377,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.14", + "thiserror-impl 2.0.16", ] [[package]] @@ -3390,18 +3392,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3506,9 +3508,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -3527,7 +3529,7 @@ checksum = "ab41256c16d6fc2b3021545f20bf77a73200b18bd54040ac656dddfca6205bfa" dependencies = [ "futures-util", "pin-project-lite", - "thiserror 2.0.14", + "thiserror 2.0.16", "tokio", ] @@ -3559,7 +3561,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3628,7 +3630,7 @@ dependencies = [ "prost-build", "prost-types", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3694,7 +3696,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -3781,9 +3783,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", @@ -3859,11 +3861,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.3+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] @@ -3888,7 +3890,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "wasm-bindgen-shared", ] @@ -3910,7 +3912,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3970,11 +3972,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4037,7 +4039,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4048,7 +4050,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4329,9 +4331,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -4347,13 +4349,10 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] name = "writeable" @@ -4375,7 +4374,7 @@ dependencies = [ "oid-registry", "ring", "rusticata-macros", - "thiserror 2.0.14", + "thiserror 2.0.16", "time", ] @@ -4408,7 +4407,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] @@ -4429,7 +4428,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4449,7 +4448,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", "synstructure", ] @@ -4489,7 +4488,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.105", + "syn 2.0.106", ] [[package]] @@ -4538,7 +4537,7 @@ dependencies = [ "log", "matches", "netns-rs", - "nix 0.29.0", + "nix 0.30.1", "num_cpus", "oid-registry", "once_cell", @@ -4567,7 +4566,7 @@ dependencies = [ "split-iter", "test-case", "textnonce", - "thiserror 2.0.14", + "thiserror 2.0.16", "tikv-jemallocator", "tls-listener", "tokio", diff --git a/Cargo.toml b/Cargo.toml index c179fb8d7..3c0122464 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "ztunnel" version = "0.0.0" edition = "2024" -rust-version = "1.85" +rust-version = "1.90" [features] default = ["tls-aws-lc"] @@ -61,7 +61,7 @@ hickory-client = "0.25" hickory-proto = "0.25" hickory-resolver = "0.25" hickory-server = { version = "0.25", features = [ "resolver" ]} -http-body = { package = "http-body", version = "1" } +http-body = { version = "1" } http-body-util = "0.1" hyper = { version = "1.6", features = ["full"] } hyper-rustls = { version = "0.27.0", default-features = false, features = ["logging", "http1", "http2"] } @@ -71,11 +71,11 @@ itertools = "0.14" keyed_priority_queue = "0.4" libc = "0.2" log = "0.4" -nix = { version = "0.29", features = ["socket", "sched", "uio", "fs", "ioctl", "user", "net", "mount", "resource" ] } +nix = { version = "0.30", features = ["socket", "sched", "uio", "fs", "ioctl", "user", "net", "mount", "resource" ] } once_cell = "1.21" num_cpus = "1.16" ppp = "2.3" -prometheus-client = { version = "0.23" } +prometheus-client = { version = "0.24" } prometheus-parse = "0.2" prost = "0.13" prost-types = "0.13" @@ -103,7 +103,7 @@ x509-parser = { version = "0.17", default-features = false } tracing-log = "0.2" backoff = "0.4" pin-project-lite = "0.2" -pingora-pool = "0.4" +pingora-pool = "0.6" flurry = "0.5" h2 = "0.4" http = "1.3" diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index bd01594e0..8342caf69 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -1600,9 +1600,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" dependencies = [ "hashbrown", ] @@ -1751,9 +1751,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.29.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ "bitflags 2.8.0", "cfg-if", @@ -1961,9 +1961,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pingora-pool" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bacdd5dbdec690d468856d988b170c8bb4ab62e0edefc0f432ba5e326489f421" +checksum = "996c574f30a6e1ad10b47ac1626a86e0e47d5075953dd049d60df16ba5f7076e" dependencies = [ "crossbeam-queue", "log", @@ -1976,9 +1976,9 @@ dependencies = [ [[package]] name = "pingora-timeout" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685bb8808cc1919c63a06ab14fdac9b84a4887ced49259a5c0adc8bfb2ffe558" +checksum = "548cd21d41611c725827677937e68f2cd008bbfa09f3416d3fbad07e1e42f6d7" dependencies = [ "once_cell", "parking_lot", @@ -2100,9 +2100,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf41c1a7c32ed72abe5082fb19505b969095c12da9f5732a4bc9878757fd087c" +checksum = "e4500adecd7af8e0e9f4dbce15cfee07ce913fbf6ad605cc468b83f2d531ee94" dependencies = [ "dtoa", "itoa", @@ -2112,9 +2112,9 @@ dependencies = [ [[package]] name = "prometheus-client-derive-encode" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" +checksum = "9adf1691c04c0a5ff46ff8f262b58beb07b0dbb61f96f9f54f6cbd82106ed87f" dependencies = [ "proc-macro2", "quote", @@ -3887,7 +3887,7 @@ dependencies = [ "libc", "log", "netns-rs", - "nix 0.29.0", + "nix 0.30.1", "num_cpus", "once_cell", "pin-project-lite", diff --git a/src/admin.rs b/src/admin.rs index 77da15fb8..c6e5890de 100644 --- a/src/admin.rs +++ b/src/admin.rs @@ -385,15 +385,15 @@ fn change_log_level(reset: bool, level: &str) -> Response> { if !reset && level.is_empty() { return list_loggers(); } - if !level.is_empty() { - if let Err(_e) = validate_log_level(level) { - // Invalid level provided - return plaintext_response( - hyper::StatusCode::BAD_REQUEST, - format!("Invalid level provided: {level}\n{HELP_STRING}"), - ); - }; - } + if !level.is_empty() + && let Err(_e) = validate_log_level(level) + { + // Invalid level provided + return plaintext_response( + hyper::StatusCode::BAD_REQUEST, + format!("Invalid level provided: {level}\n{HELP_STRING}"), + ); + }; match telemetry::set_level(reset, level) { Ok(_) => list_loggers(), Err(e) => plaintext_response( diff --git a/src/cert_fetcher.rs b/src/cert_fetcher.rs index df2a53a6c..b659d5720 100644 --- a/src/cert_fetcher.rs +++ b/src/cert_fetcher.rs @@ -102,10 +102,10 @@ impl CertFetcherImpl { impl CertFetcher for CertFetcherImpl { fn prefetch_cert(&self, w: &Workload) { - if self.should_prefetch_certificate(w) { - if let Err(e) = self.tx.try_send(Request::Fetch(w.identity(), Warmup)) { - info!("couldn't prefetch: {:?}", e) - } + if self.should_prefetch_certificate(w) + && let Err(e) = self.tx.try_send(Request::Fetch(w.identity(), Warmup)) + { + info!("couldn't prefetch: {:?}", e) } } diff --git a/src/config.rs b/src/config.rs index dd552540c..afdbd5c2e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -982,10 +982,10 @@ fn construct_proxy_config(mc_path: &str, pc_env: Option<&str>) -> anyhow::Result } pub fn empty_to_none>(inp: Option) -> Option { - if let Some(inner) = &inp { - if inner.as_ref().is_empty() { - return None; - } + if let Some(inner) = &inp + && inner.as_ref().is_empty() + { + return None; } inp } diff --git a/src/dns/forwarder.rs b/src/dns/forwarder.rs index 4995c7a98..fcd2e4c5f 100644 --- a/src/dns/forwarder.rs +++ b/src/dns/forwarder.rs @@ -180,12 +180,12 @@ mod tests { .expect("expected resolve error"); // Expect NoRecordsFound with a NXDomain response code. - if let ResolveErrorKind::Proto(proto) = err.kind() { - if let ProtoErrorKind::NoRecordsFound { response_code, .. } = proto.kind() { - // Respond with the error code. - assert_eq!(&ResponseCode::NXDomain, response_code); - return; - } + if let ResolveErrorKind::Proto(proto) = err.kind() + && let ProtoErrorKind::NoRecordsFound { response_code, .. } = proto.kind() + { + // Respond with the error code. + assert_eq!(&ResponseCode::NXDomain, response_code); + return; } panic!("unexpected error kind {}", err.kind()) } diff --git a/src/dns/handler.rs b/src/dns/handler.rs index 1091e0c58..438e4834b 100644 --- a/src/dns/handler.rs +++ b/src/dns/handler.rs @@ -118,11 +118,11 @@ async fn send_lookup_error( } LookupError::ResponseCode(code) => send_error(request, response_handle, code).await, LookupError::ResolveError(e) => { - if let ResolveErrorKind::Proto(proto) = e.kind() { - if let ProtoErrorKind::NoRecordsFound { response_code, .. } = proto.kind() { - // Respond with the error code. - return send_error(request, response_handle, *response_code).await; - } + if let ResolveErrorKind::Proto(proto) = e.kind() + && let ProtoErrorKind::NoRecordsFound { response_code, .. } = proto.kind() + { + // Respond with the error code. + return send_error(request, response_handle, *response_code).await; } // TODO(nmittler): log? send_error(request, response_handle, ResponseCode::ServFail).await diff --git a/src/identity/manager.rs b/src/identity/manager.rs index cd4c64ee1..a619e7d8b 100644 --- a/src/identity/manager.rs +++ b/src/identity/manager.rs @@ -609,10 +609,10 @@ impl SecretManager { let rx = st.rx.clone(); drop(certs); - if let Some(existing_pri) = init_pri(&rx) { - if pri > existing_pri { - self.post(Request::Fetch(id.clone(), pri)).await; - } + if let Some(existing_pri) = init_pri(&rx) + && pri > existing_pri + { + self.post(Request::Fetch(id.clone(), pri)).await; } Ok(rx) } diff --git a/src/inpod/netns.rs b/src/inpod/netns.rs index c7dc4d17a..b6ab2d296 100644 --- a/src/inpod/netns.rs +++ b/src/inpod/netns.rs @@ -13,8 +13,7 @@ // limitations under the License. use nix::sched::{CloneFlags, setns}; -use std::os::fd::OwnedFd; -use std::os::unix::io::AsRawFd; +use std::os::fd::{AsFd, OwnedFd}; use std::sync::Arc; #[derive(Debug, Clone, Copy, Eq, Hash, PartialEq)] @@ -53,7 +52,7 @@ impl InpodNetns { } pub fn new(cur_netns: Arc, workload_netns: OwnedFd) -> std::io::Result { - let res = nix::sys::stat::fstat(workload_netns.as_raw_fd()) + let res = nix::sys::stat::fstat(workload_netns.as_fd()) .map_err(|e| std::io::Error::from_raw_os_error(e as i32))?; let inode = res.st_ino; let dev = res.st_dev; @@ -110,6 +109,7 @@ mod tests { use nix::sched::unshare; use nix::unistd::gettid; use std::assert; + use std::os::fd::AsRawFd; use std::os::fd::OwnedFd; use std::process::Command; diff --git a/src/proxy/connection_manager.rs b/src/proxy/connection_manager.rs index a02cfa032..cd7a1009c 100644 --- a/src/proxy/connection_manager.rs +++ b/src/proxy/connection_manager.rs @@ -231,12 +231,12 @@ impl ConnectionManager { // uses a counter to determine if there are other tracked connections or not so it may retain the tx/rx channels when necessary pub fn release(&self, c: &InboundConnection) { let mut drains = self.drains.write().expect("mutex"); - if let Some((k, mut v)) = drains.remove_entry(c) { - if v.count > 1 { - // something else is tracking this connection, decrement count but retain - v.count -= 1; - drains.insert(k, v); - } + if let Some((k, mut v)) = drains.remove_entry(c) + && v.count > 1 + { + // something else is tracking this connection, decrement count but retain + v.count -= 1; + drains.insert(k, v); } } diff --git a/src/proxy/metrics.rs b/src/proxy/metrics.rs index 46d77c787..5c0f0ab03 100644 --- a/src/proxy/metrics.rs +++ b/src/proxy/metrics.rs @@ -242,7 +242,7 @@ pub struct CommonTrafficLabels { #[derive(Clone, Hash, Default, Debug, PartialEq, Eq)] struct OptionallyEncode(Option); impl EncodeLabelSet for OptionallyEncode { - fn encode(&self, encoder: LabelSetEncoder) -> Result<(), std::fmt::Error> { + fn encode(&self, encoder: &mut LabelSetEncoder) -> Result<(), std::fmt::Error> { match &self.0 { None => Ok(()), Some(ll) => ll.encode(encoder), diff --git a/src/proxy/outbound.rs b/src/proxy/outbound.rs index c241f6137..e468ed7f6 100644 --- a/src/proxy/outbound.rs +++ b/src/proxy/outbound.rs @@ -517,17 +517,16 @@ impl OutboundConnection { ) .await? else { - if let Some(service) = service { - if service. + if let Some(service) = service + && service. load_balancer. as_ref(). // If we are not a passthrough service, we should have an upstream map(|lb| lb.mode != LoadBalancerMode::Passthrough). // If the service had no lb, we should have an upstream unwrap_or(true) - { - return Err(Error::NoHealthyUpstream(target)); - } + { + return Err(Error::NoHealthyUpstream(target)); } debug!("built request as passthrough; no upstream found"); return Ok(Request { diff --git a/src/state.rs b/src/state.rs index 8611d3510..979c1085c 100644 --- a/src/state.rs +++ b/src/state.rs @@ -299,10 +299,10 @@ impl ProxyState { .services .get_by_vip(&network_addr(network.clone(), addr.ip())) { - if let Some(lb) = &svc.load_balancer { - if lb.mode == LoadBalancerMode::Passthrough { - return Some(UpstreamDestination::OriginalDestination); - } + if let Some(lb) = &svc.load_balancer + && lb.mode == LoadBalancerMode::Passthrough + { + return Some(UpstreamDestination::OriginalDestination); } return self.find_upstream_from_service( source_workload, diff --git a/src/state/policy.rs b/src/state/policy.rs index a759ffa9e..201ca4231 100644 --- a/src/state/policy.rs +++ b/src/state/policy.rs @@ -84,12 +84,11 @@ impl PolicyStore { RbacScope::Global => Some(strng::EMPTY), RbacScope::Namespace => Some(rbac.namespace), RbacScope::WorkloadSelector => None, - } { - if let Some(pl) = self.by_namespace.get_mut(&key) { - pl.remove(&xds_name); - if pl.is_empty() { - self.by_namespace.remove(&key); - } + } && let Some(pl) = self.by_namespace.get_mut(&key) + { + pl.remove(&xds_name); + if pl.is_empty() { + self.by_namespace.remove(&key); } } } diff --git a/src/state/workload.rs b/src/state/workload.rs index ab249bab2..509f20bc0 100644 --- a/src/state/workload.rs +++ b/src/state/workload.rs @@ -825,10 +825,9 @@ impl WorkloadStore { for wip in prev.workload_ips.iter() { if let Entry::Occupied(mut o) = self.by_addr.entry(network_addr(prev.network.clone(), *wip)) + && o.get_mut().remove_uid(prev.uid.clone()) { - if o.get_mut().remove_uid(prev.uid.clone()) { - o.remove(); - } + o.remove(); } } } diff --git a/src/telemetry.rs b/src/telemetry.rs index ad485007d..0adcd9967 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -241,10 +241,10 @@ where for span in scope.from_root() { write!(writer, ":{}", span.metadata().name())?; let ext = span.extensions(); - if let Some(fields) = &ext.get::>() { - if !fields.is_empty() { - write!(writer, "{{{fields}}}")?; - } + if let Some(fields) = &ext.get::>() + && !fields.is_empty() + { + write!(writer, "{{{fields}}}")?; } } }; diff --git a/src/xds.rs b/src/xds.rs index fc5fc1cb4..dfc3a1e78 100644 --- a/src/xds.rs +++ b/src/xds.rs @@ -62,10 +62,10 @@ impl fmt::Display for DisplayStatus<'_> { " (hint: check the control plane logs for more information)" )?; } - if !s.details().is_empty() { - if let Ok(st) = std::str::from_utf8(s.details()) { - write!(f, ", details: {st}")?; - } + if !s.details().is_empty() + && let Ok(st) = std::str::from_utf8(s.details()) + { + write!(f, ", details: {st}")?; } if let Some(src) = s.source().and_then(|s| s.source()) { write!(f, ", source: {src}")?; diff --git a/src/xds/client.rs b/src/xds/client.rs index 0cb42eafe..b2590fe62 100644 --- a/src/xds/client.rs +++ b/src/xds/client.rs @@ -666,14 +666,13 @@ impl AdsClient { if !self.types_to_expect.is_empty() { received_type = Some(msg.type_url.clone()) } - if let XdsSignal::Ack = self.handle_stream_event(msg, &discovery_req_tx).await? { - if let Some(received_type) = received_type { + if let XdsSignal::Ack = self.handle_stream_event(msg, &discovery_req_tx).await? + && let Some(received_type) = received_type { self.types_to_expect.remove(&received_type); if self.types_to_expect.is_empty() { mem::drop(mem::take(&mut self.block_ready)); } - } - }; + }; } } }