From a3b3a00e66761e0b57c35076bbdd4919dd5a1ff1 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 25 Jun 2025 21:12:57 +0300 Subject: [PATCH 01/12] feat(devolutions-gateway): RDP proxy server-side Kerberos support; --- Cargo.lock | 2629 ++++++++++++--------- devolutions-gateway/Cargo.toml | 6 +- devolutions-gateway/src/config.rs | 19 + devolutions-gateway/src/credential.rs | 6 +- devolutions-gateway/src/generic_client.rs | 1 + devolutions-gateway/src/rdp_proxy.rs | 216 +- 6 files changed, 1732 insertions(+), 1145 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 23b6e7d77..fc658fdb1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,15 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - [[package]] name = "adler2" version = "2.0.1" @@ -19,12 +10,12 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" -version = "0.5.2" +version = "0.6.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +checksum = "ac8202ab55fcbf46ca829833f347a82a2a4ce0596f0304ac322c2d100030cd56" dependencies = [ - "crypto-common", - "generic-array", + "crypto-common 0.2.0-rc.4", + "inout 0.2.0-rc.6", ] [[package]] @@ -34,19 +25,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.4", + "cpufeatures", +] + +[[package]] +name = "aes" +version = "0.9.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e713c57c2a2b19159e7be83b9194600d7e8eb3b7c2cd67e671adf47ce189a05" +dependencies = [ + "cfg-if", + "cipher 0.5.0-rc.1", "cpufeatures", ] [[package]] name = "aes-gcm" -version = "0.10.3" +version = "0.11.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +checksum = "0686ba04dc80c816104c96cd7782b748f6ad58c5dd4ee619ff3258cf68e83d54" dependencies = [ "aead", - "aes", - "cipher", + "aes 0.9.0-rc.1", + "cipher 0.5.0-rc.1", "ctr", "ghash", "subtle", @@ -54,11 +56,12 @@ dependencies = [ [[package]] name = "aes-kw" -version = "0.2.1" +version = "0.3.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69fa2b352dcefb5f7f3a5fb840e02665d311d878955380515e4fd50095dd3d8c" +checksum = "02eaa2d54d0fad0116e4b1efb65803ea0bf059ce970a67cd49718d87e807cb51" dependencies = [ - "aes", + "aes 0.9.0-rc.1", + "const-oid 0.10.1", ] [[package]] @@ -70,14 +73,14 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy 0.8.26", + "zerocopy 0.8.30", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -88,12 +91,12 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2477554ebf38aea815a9c4729100cfc32f766876c45b9c9c38ef221b9d1a703" dependencies = [ - "axum 0.8.6", + "axum 0.8.7", "axum-extra", - "bytes 1.10.1", + "bytes 1.11.0", "cfg-if", - "http 1.3.1", - "indexmap 2.10.0", + "http 1.4.0", + "indexmap 2.12.1", "schemars", "serde", "serde_json", @@ -121,9 +124,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anyhow" @@ -176,9 +179,9 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", "synstructure", ] @@ -188,20 +191,19 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "assert_cmd" -version = "2.0.17" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" +checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85" dependencies = [ "anstyle", "bstr", - "doc-comment", "libc", "predicates", "predicates-core", @@ -224,7 +226,7 @@ dependencies = [ "log", "pin-utils", "pkg-config", - "tokio 1.46.1", + "tokio 1.48.0", "winapi", ] @@ -234,9 +236,9 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -267,9 +269,9 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -278,9 +280,9 @@ version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -309,9 +311,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.14.1" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879b6c89592deb404ba4dc0ae6b58ffd1795c78991cbb5b8bc441c48a070440d" +checksum = "6b5ce75405893cd713f9ab8e297d8e438f624dde7d706108285f7e17a25a180f" dependencies = [ "aws-lc-sys", "untrusted 0.7.1", @@ -320,16 +322,14 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.32.2" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2b715a6010afb9e457ca2b7c9d2b9c344baa8baed7b38dc476034c171b32575" +checksum = "179c3777a8b5e70e90ea426114ffc565b2c1a9f82f6c4a0c5a34aa6ef5e781b6" dependencies = [ - "bindgen 0.72.1", "cc", "cmake", "dunce", "fs_extra", - "libloading", ] [[package]] @@ -341,7 +341,7 @@ dependencies = [ "async-trait", "axum-core 0.3.4", "bitflags 1.3.2", - "bytes 1.10.1", + "bytes 1.11.0", "futures-util", "http 0.2.12", "http-body 0.4.6", @@ -362,19 +362,19 @@ dependencies = [ [[package]] name = "axum" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" +checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" dependencies = [ "axum-core 0.5.5", "base64 0.22.1", - "bytes 1.10.1", + "bytes 1.11.0", "form_urlencoded", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "itoa", "matchit 0.8.4", @@ -386,9 +386,9 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sha1", + "sha1 0.10.6", "sync_wrapper 1.0.2", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-tungstenite 0.28.0", "tower 0.5.2", "tower-layer", @@ -403,7 +403,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" dependencies = [ "async-trait", - "bytes 1.10.1", + "bytes 1.11.0", "futures-util", "http 0.2.12", "http-body 0.4.6", @@ -419,9 +419,9 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", @@ -438,13 +438,13 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96" dependencies = [ - "axum 0.8.6", + "axum 0.8.7", "axum-core 0.5.5", - "bytes 1.10.1", + "bytes 1.11.0", "form_urlencoded", "futures-util", "headers", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", @@ -453,7 +453,7 @@ dependencies = [ "serde_core", "serde_html_form", "serde_path_to_error", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tower-layer", "tower-service", @@ -471,21 +471,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "backtrace" -version = "0.3.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - [[package]] name = "base-x" version = "0.2.11" @@ -498,6 +483,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base16ct" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b59d472eab27ade8d770dcb11da7201c11234bef9f82ce7aa517be028d462b" + [[package]] name = "base256emoji" version = "1.0.2" @@ -544,13 +535,14 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bb8" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d8b8e1a22743d9241575c6ba822cf9c8fef34771c86ab7e477a4fbfd254e5" +checksum = "457d7ed3f888dfd2c7af56d4975cade43c622f74bdcddfed6d4352f57acc6310" dependencies = [ "futures-util", "parking_lot", - "tokio 1.46.1", + "portable-atomic", + "tokio 1.48.0", ] [[package]] @@ -560,7 +552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e570e6557cd0f88d28d32afa76644873271a70dc22656df565b2021c4036aa9c" dependencies = [ "bb8", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-postgres", ] @@ -579,7 +571,7 @@ version = "0.66.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cexpr", "clang-sys", "lazy_static", @@ -587,35 +579,15 @@ dependencies = [ "log", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.111", "which", ] -[[package]] -name = "bindgen" -version = "0.72.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" -dependencies = [ - "bitflags 2.9.4", - "cexpr", - "clang-sys", - "itertools", - "log", - "prettyplease", - "proc-macro2 1.0.95", - "quote 1.0.40", - "regex", - "rustc-hash 2.1.1", - "shlex", - "syn 2.0.104", -] - [[package]] name = "bit-set" version = "0.8.0" @@ -633,9 +605,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bit_field" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" [[package]] name = "bitflags" @@ -645,9 +617,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" [[package]] name = "bitvec" @@ -667,7 +639,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -679,6 +651,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.11.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9ef36a6fcdb072aa548f3da057640ec10859eb4e91ddf526ee648d50c76a949" +dependencies = [ + "hybrid-array", +] + [[package]] name = "block-padding" version = "0.3.3" @@ -688,20 +669,38 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-padding" +version = "0.4.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e59c1aab3e6c5e56afe1b7e8650be9b5a791cb997bdea449194ae62e4bf8c73" +dependencies = [ + "hybrid-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "borsh" -version = "1.5.7" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" dependencies = [ "cfg_aliases", ] [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "regex-automata", @@ -737,9 +736,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" dependencies = [ "serde", ] @@ -755,11 +754,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.10" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -768,15 +767,25 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" dependencies = [ - "cipher", + "cipher 0.4.4", +] + +[[package]] +name = "cbc" +version = "0.2.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dbf9e5b071e9de872e32b73f485e8f644ff47c7011d95476733e7482ee3e5c3" +dependencies = [ + "cipher 0.5.0-rc.1", ] [[package]] name = "cc" -version = "1.2.29" +version = "1.2.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" +checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -833,7 +842,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -842,8 +851,19 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common", - "inout", + "crypto-common 0.1.7", + "inout 0.1.4", +] + +[[package]] +name = "cipher" +version = "0.5.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e12a13eb01ded5d32ee9658d94f553a19e804204f2dc811df69ab4d9e0cb8c7" +dependencies = [ + "block-buffer 0.11.0-rc.5", + "crypto-common 0.2.0-rc.4", + "inout 0.2.0-rc.6", ] [[package]] @@ -881,6 +901,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-oid" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dabb6555f92fb9ee4140454eb5dcd14c7960e1225c6d1a6cc361f032947713e" + [[package]] name = "const-str" version = "0.4.3" @@ -924,9 +950,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -993,32 +1019,43 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf1e6e5492f8f0830c37f301f6349e0dac8b2466e4fe89eef90e9eef906cd046" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", ] [[package]] name = "crypto-bigint" -version = "0.5.5" +version = "0.7.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "4113edbc9f68c0a64d5b911f803eb245d04bb812680fd56776411f69c670f3e0" dependencies = [ - "generic-array", - "rand_core 0.6.4", + "hybrid-array", + "num-traits", + "rand_core 0.9.3", + "serdect", "subtle", "zeroize", ] [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", - "rand_core 0.6.4", "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8235645834fbc6832939736ce2f2d08192652269e11010a6240f61b908a1c6" +dependencies = [ + "hybrid-array", + "rand_core 0.9.3", +] + [[package]] name = "crypto-mac" version = "0.11.0" @@ -1029,35 +1066,47 @@ dependencies = [ "subtle", ] +[[package]] +name = "crypto-primes" +version = "0.7.0-pre.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25f2523fbb68811c8710829417ad488086720a6349e337c38d12fa81e09e50bf" +dependencies = [ + "crypto-bigint", + "libm", + "rand_core 0.9.3", +] + [[package]] name = "ctr" -version = "0.9.2" +version = "0.10.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +checksum = "27e41d01c6f73b9330177f5cf782ae5b581b5f2c7840e298e0275ceee5001434" dependencies = [ - "cipher", + "cipher 0.5.0-rc.1", ] [[package]] name = "ctrlc" -version = "3.4.7" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" +checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" dependencies = [ + "dispatch2", "nix 0.30.1", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "curve25519-dalek" -version = "4.2.0" +version = "5.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373b7c5dbd637569a2cca66e8d66b8c446a1e7bf064ea321d265d7b3dfe7c97e" +checksum = "6f9200d1d13637f15a6acb71e758f64624048d85b31a5fdbfd8eca1e2687d0b7" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest", + "digest 0.11.0-rc.3", "fiat-crypto", "rustc_version", "subtle", @@ -1070,9 +1119,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -1098,7 +1147,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.104", + "syn 2.0.111", ] [[package]] @@ -1107,9 +1156,19 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid", + "const-oid 0.9.6", "der_derive", "flagset", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.0-rc.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9d8dd2f26c86b27a2a8ea2767ec7f9df7a89516e4794e54ac01ee618dda3aa4" +dependencies = [ + "const-oid 0.10.1", "pem-rfc7468", "zeroize", ] @@ -1133,19 +1192,19 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "deranged" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", - "serde", + "serde_core", ] [[package]] @@ -1154,8 +1213,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c9d94d81e3819a7b06a8638f448bc6339371ca9b6076a99d4a43eece3c4c923" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "syn 1.0.109", ] @@ -1165,7 +1224,16 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e" dependencies = [ - "cipher", + "cipher 0.4.4", +] + +[[package]] +name = "des" +version = "0.9.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f51594a70805988feb1c85495ddec0c2052e4fbe59d9c0bb7f94bfc164f4f90" +dependencies = [ + "cipher 0.5.0-rc.1", ] [[package]] @@ -1193,10 +1261,10 @@ dependencies = [ "rustls-pemfile 2.2.0", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "tap", "thiserror 2.0.17", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-rustls", "tracing", "uuid", @@ -1214,8 +1282,8 @@ dependencies = [ "serde_json", "thiserror 2.0.17", "uuid", - "windows-registry", - "windows-result", + "windows-registry 0.5.3", + "windows-result 0.3.4", ] [[package]] @@ -1225,11 +1293,11 @@ dependencies = [ "anyhow", "argon2", "async-trait", - "axum 0.8.6", + "axum 0.8.7", "axum-extra", "backoff", - "bitflags 2.9.4", - "bytes 1.10.1", + "bitflags 2.10.0", + "bytes 1.11.0", "cadeau", "camino", "ceviche", @@ -1248,14 +1316,14 @@ dependencies = [ "hex", "hostname 0.4.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", - "ironrdp-acceptor 0.5.0", - "ironrdp-connector 0.5.1", + "ironrdp-acceptor 0.6.0", + "ironrdp-connector 0.6.0", "ironrdp-core", "ironrdp-pdu 0.5.0", "ironrdp-rdcleanpath", - "ironrdp-tokio 0.5.1", + "ironrdp-tokio 0.6.0", "jmux-proxy", "job-queue", "job-queue-libsql", @@ -1267,7 +1335,7 @@ dependencies = [ "parking_lot", "pcap-file", "picky", - "picky-krb 0.11.0", + "picky-krb 0.11.3", "pin-project-lite 0.2.16", "portpicker", "proptest", @@ -1279,7 +1347,7 @@ dependencies = [ "serde-querystring", "serde_json", "serde_urlencoded", - "sha2", + "sha2 0.10.9", "smol_str", "sysevent", "sysevent-codes", @@ -1290,7 +1358,7 @@ dependencies = [ "terminal-streamer", "thiserror 2.0.17", "time", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-rustls", "tokio-test", "tokio-tungstenite 0.26.2", @@ -1327,7 +1395,7 @@ name = "devolutions-gateway-task" version = "0.0.0" dependencies = [ "async-trait", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -1338,7 +1406,7 @@ dependencies = [ "async-trait", "camino", "devolutions-gateway-task", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "tracing-appender", "tracing-subscriber", @@ -1351,8 +1419,8 @@ dependencies = [ "aide", "anyhow", "async-trait", - "axum 0.8.6", - "base16ct", + "axum 0.8.7", + "base16ct 0.2.0", "base64 0.22.1", "bb8", "bb8-postgres", @@ -1362,19 +1430,19 @@ dependencies = [ "devolutions-agent-shared", "devolutions-gateway-task", "devolutions-pedm-shared", - "digest", + "digest 0.10.7", "dunce", "futures-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "libsql", "parking_lot", "schemars", "serde", "serde_json", - "sha1", - "sha2", - "tokio 1.46.1", + "sha1 0.10.6", + "sha2 0.10.9", + "tokio 1.48.0", "tokio-postgres", "tower 0.5.2", "tower-http 0.5.2", @@ -1425,11 +1493,11 @@ dependencies = [ "schemars", "serde", "serde_json", - "tokio 1.46.1", + "tokio 1.48.0", "tower 0.3.1", "uuid", "win-api-wrappers", - "windows-registry", + "windows-registry 0.5.3", ] [[package]] @@ -1440,7 +1508,7 @@ dependencies = [ "embed-resource", "fs_extra", "parking_lot", - "tokio 1.46.1", + "tokio 1.48.0", "win-api-wrappers", "windows-core 0.61.2", ] @@ -1465,7 +1533,7 @@ dependencies = [ "tap", "tempfile", "thiserror 2.0.17", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "win-api-wrappers", "windows 0.61.3", @@ -1483,9 +1551,21 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", + "block-buffer 0.10.4", + "const-oid 0.9.6", + "crypto-common 0.1.7", + "subtle", +] + +[[package]] +name = "digest" +version = "0.11.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac89f8a64533a9b0eaa73a68e424db0fb1fd6271c74cc0125336a05f090568d" +dependencies = [ + "block-buffer 0.11.0-rc.5", + "const-oid 0.10.1", + "crypto-common 0.2.0-rc.4", "subtle", ] @@ -1510,15 +1590,27 @@ dependencies = [ "winapi", ] +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.10.0", + "block2", + "libc", + "objc2", +] + [[package]] name = "displaydoc" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -1561,22 +1653,16 @@ dependencies = [ [[package]] name = "dns-lookup" -version = "2.0.4" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc" +checksum = "cf5597a4b7fe5275fc9dcf88ce26326bc8e4cb87d0130f33752d4c5f717793cf" dependencies = [ "cfg-if", "libc", - "socket2 0.5.10", - "windows-sys 0.48.0", + "socket2 0.6.1", + "windows-sys 0.60.2", ] -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - [[package]] name = "dunce" version = "1.0.5" @@ -1585,9 +1671,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "dynosaur" @@ -1604,9 +1690,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b0713d5c1d52e774c5cd7bb8b043d7c0fc4f921abfb678556140bfbe6ab2364" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -1633,46 +1719,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b066b81018300fdce40f71c4db355a102699324af96fad28f25ab1b5f87de066" dependencies = [ "ebml-iterable-specification", - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "syn 1.0.109", ] [[package]] name = "ecdsa" -version = "0.16.9" +version = "0.17.0-rc.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +checksum = "b4ab355ec063f7a110eb627471058093aba00eb7f4e70afbd15e696b79d1077b" dependencies = [ - "der", - "digest", + "der 0.8.0-rc.9", + "digest 0.11.0-rc.3", "elliptic-curve", "rfc6979", - "signature", - "spki", + "signature 3.0.0-rc.4", + "spki 0.8.0-rc.4", + "zeroize", ] [[package]] name = "ed25519" -version = "2.2.3" +version = "3.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +checksum = "9ef49c0b20c0ad088893ad2a790a29c06a012b3f05bcfc66661fd22a94b32129" dependencies = [ - "pkcs8", - "signature", + "pkcs8 0.11.0-rc.7", + "signature 3.0.0-rc.4", ] [[package]] name = "ed25519-dalek" -version = "2.2.0" +version = "3.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +checksum = "ad207ed88a133091f83224265eac21109930db09bedcad05d5252f2af2de20a1" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core 0.6.4", - "serde", - "sha2", + "rand_core 0.9.3", + "sha2 0.11.0-rc.2", "subtle", "zeroize", ] @@ -1685,20 +1771,21 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" -version = "0.13.8" +version = "0.14.0-rc.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "2e3be87c458d756141f3b6ee188828132743bf90c7d14843e2835d6443e5fb03" dependencies = [ - "base16ct", + "base16ct 0.3.0", "crypto-bigint", - "digest", + "digest 0.11.0-rc.3", "ff", - "generic-array", "group", "hkdf", + "hybrid-array", + "once_cell", "pem-rfc7468", - "pkcs8", - "rand_core 0.6.4", + "pkcs8 0.11.0-rc.7", + "rand_core 0.9.3", "sec1", "subtle", "zeroize", @@ -1718,6 +1805,18 @@ dependencies = [ "winreg 0.55.0", ] +[[package]] +name = "enum-as-inner" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" +dependencies = [ + "heck", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -1726,12 +1825,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -1790,11 +1889,11 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "ff" -version = "0.13.1" +version = "0.14.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +checksum = "d42dd26f5790eda47c1a2158ea4120e32c35ddc9a7743c98a292accc01b54ef3" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.3", "subtle", ] @@ -1804,6 +1903,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" +[[package]] +name = "find-msvc-tools" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" + [[package]] name = "flagset" version = "0.4.7" @@ -1812,9 +1917,9 @@ checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" [[package]] name = "flate2" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "miniz_oxide", @@ -1936,9 +2041,9 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -1998,9 +2103,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", @@ -2018,7 +2123,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -2030,40 +2134,33 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "js-sys", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasip2", "wasm-bindgen", ] [[package]] name = "ghash" -version = "0.5.1" +version = "0.6.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +checksum = "4f88107cb02ed63adcc4282942e60c4d09d80208d33b360ce7c729ce6dae1739" dependencies = [ - "opaque-debug", "polyval", ] -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - [[package]] name = "glob" version = "0.3.3" @@ -2072,49 +2169,49 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "group" -version = "0.13.0" +version = "0.14.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +checksum = "1ff6a0b2dd4b981b1ae9e3e6830ab146771f3660d31d57bafd9018805a91b0f1" dependencies = [ "ff", - "rand_core 0.6.4", + "rand_core 0.9.3", "subtle", ] [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "fnv", "futures-core", "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.10.0", + "indexmap 2.12.1", "slab", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tracing", ] [[package]] name = "h2" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", - "bytes 1.10.1", + "bytes 1.11.0", "fnv", "futures-core", "futures-sink", - "http 1.3.1", - "indexmap 2.10.0", + "http 1.4.0", + "indexmap 2.12.1", "slab", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tracing", ] @@ -2137,9 +2234,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" [[package]] name = "hashlink" @@ -2157,12 +2254,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" dependencies = [ "base64 0.22.1", - "bytes 1.10.1", + "bytes 1.11.0", "headers-core", - "http 1.3.1", + "http 1.4.0", "httpdate", "mime", - "sha1", + "sha1 0.10.6", ] [[package]] @@ -2171,9 +2268,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http 1.3.1", + "http 1.4.0", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.5.2" @@ -2188,17 +2291,62 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-literal" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" +checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" + +[[package]] +name = "hickory-proto" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna", + "ipnet", + "once_cell", + "rand 0.8.5", + "thiserror 1.0.69", + "tinyvec", + "tokio 1.48.0", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot", + "rand 0.8.5", + "resolv-conf", + "smallvec", + "thiserror 1.0.69", + "tokio 1.48.0", + "tracing", +] [[package]] name = "hkdf" -version = "0.12.4" +version = "0.13.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "d8ef30358b03ca095a5b910547f4f8d4b9f163e4057669c5233ef595b1ecf008" dependencies = [ - "hmac", + "hmac 0.13.0-rc.2", ] [[package]] @@ -2207,16 +2355,25 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", +] + +[[package]] +name = "hmac" +version = "0.13.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3fd4dc94c318c1ede8a2a48341c250d6ddecd3ba793da2820301a9f92417ad9" +dependencies = [ + "digest 0.11.0-rc.3", ] [[package]] name = "home" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2247,19 +2404,18 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "fnv", "itoa", ] [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ - "bytes 1.10.1", - "fnv", + "bytes 1.11.0", "itoa", ] @@ -2269,7 +2425,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "http 0.2.12", "pin-project-lite 0.2.16", ] @@ -2280,8 +2436,8 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ - "bytes 1.10.1", - "http 1.3.1", + "bytes 1.11.0", + "http 1.4.0", ] [[package]] @@ -2290,9 +2446,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "pin-project-lite 0.2.16", ] @@ -2323,9 +2479,20 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.2.0" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "hybrid-array" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0" +dependencies = [ + "subtle", + "typenum", + "zeroize", +] [[package]] name = "hyper" @@ -2333,11 +2500,11 @@ version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "futures-channel", "futures-core", "futures-util", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -2345,7 +2512,7 @@ dependencies = [ "itoa", "pin-project-lite 0.2.16", "socket2 0.5.10", - "tokio 1.46.1", + "tokio 1.48.0", "tower-service", "tracing", "want", @@ -2353,22 +2520,24 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ - "bytes 1.10.1", + "atomic-waker", + "bytes 1.11.0", "futures-channel", - "futures-util", - "h2 0.4.11", - "http 1.3.1", + "futures-core", + "h2 0.4.12", + "http 1.4.0", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite 0.2.16", + "pin-utils", "smallvec", - "tokio 1.46.1", + "tokio 1.48.0", "want", ] @@ -2378,13 +2547,13 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.3.1", - "hyper 1.6.0", + "http 1.4.0", + "hyper 1.8.1", "hyper-util", - "rustls 0.23.33", + "rustls 0.23.35", "rustls-native-certs", "rustls-pki-types", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-rustls", "tower-service", ] @@ -2397,7 +2566,7 @@ checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ "hyper 0.14.32", "pin-project-lite 0.2.16", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-io-timeout", ] @@ -2407,44 +2576,44 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "hyper 0.14.32", "native-tls", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-native-tls", ] [[package]] name = "hyper-util" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" +checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" dependencies = [ "base64 0.22.1", - "bytes 1.10.1", + "bytes 1.11.0", "futures-channel", "futures-core", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.8.1", "ipnet", "libc", "percent-encoding", "pin-project-lite 0.2.16", - "socket2 0.6.0", + "socket2 0.6.1", "system-configuration", - "tokio 1.46.1", + "tokio 1.48.0", "tower-service", "tracing", - "windows-registry", + "windows-registry 0.6.1", ] [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2452,7 +2621,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.2", + "windows-core 0.62.2", ] [[package]] @@ -2475,9 +2644,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", @@ -2488,9 +2657,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -2501,11 +2670,10 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -2516,42 +2684,38 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", - "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -2602,13 +2766,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown 0.16.1", "serde", + "serde_core", ] [[package]] @@ -2617,7 +2782,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "inotify-sys", "libc", ] @@ -2637,28 +2802,27 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ - "block-padding", + "block-padding 0.3.3", "generic-array", ] [[package]] -name = "instant" -version = "0.1.13" +name = "inout" +version = "0.2.0-rc.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +checksum = "1603f76010ff924b616c8f44815a42eb10fb0b93d308b41deaa8da6d4251fd4b" dependencies = [ - "cfg-if", + "block-padding 0.4.0-rc.4", + "hybrid-array", ] [[package]] -name = "io-uring" -version = "0.7.8" +name = "instant" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ - "bitflags 2.9.4", "cfg-if", - "libc", ] [[package]] @@ -2681,9 +2845,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" dependencies = [ "memchr", "serde", @@ -2712,12 +2876,12 @@ dependencies = [ [[package]] name = "ironrdp-acceptor" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad348cb50d990c23b7c6f4f8f4c42b6678d5d0c6d7acd57f14685b41d77d9ff7" +checksum = "a7bbe1fd9a54d5e9669e4006f4840ea89339cebff2a7fb345dc925b17547925b" dependencies = [ - "ironrdp-async 0.5.0", - "ironrdp-connector 0.5.1", + "ironrdp-async 0.6.0", + "ironrdp-connector 0.6.0", "ironrdp-core", "ironrdp-pdu 0.5.0", "ironrdp-svc 0.4.1", @@ -2729,7 +2893,7 @@ name = "ironrdp-ainput" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "ironrdp-dvc", "ironrdp-pdu 0.1.0", "num-derive", @@ -2741,7 +2905,7 @@ name = "ironrdp-async" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "ironrdp-connector 0.1.0", "ironrdp-pdu 0.1.0", "tracing", @@ -2749,12 +2913,12 @@ dependencies = [ [[package]] name = "ironrdp-async" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb8b3d345988b6791fd780befc08df35c81a030603e4588c6fb9bf4b14dd3ab" +checksum = "724ce488772b7850f6307b4d82559d87dadb7afdf816a35f6cf6e5a989a716f0" dependencies = [ - "bytes 1.10.1", - "ironrdp-connector 0.5.1", + "bytes 1.11.0", + "ironrdp-connector 0.6.0", "ironrdp-core", "ironrdp-pdu 0.5.0", "tracing", @@ -2765,7 +2929,7 @@ name = "ironrdp-cliprdr" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "ironrdp-pdu 0.1.0", "ironrdp-svc 0.1.0", "thiserror 1.0.69", @@ -2789,19 +2953,19 @@ dependencies = [ [[package]] name = "ironrdp-connector" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131d5060ff071a244f69e43d3efa19704b2930a41700e0288685d2f3c91d2e28" +checksum = "0cb98a29bdd7ef95b490050ddabe4ddd816e527ea0df9f25cc7a9a30d2584dc1" dependencies = [ "ironrdp-core", "ironrdp-error 0.1.3", "ironrdp-pdu 0.5.0", "ironrdp-svc 0.4.1", "picky", - "picky-asn1-der 0.5.2", - "picky-asn1-x509 0.14.4", + "picky-asn1-der 0.5.4", + "picky-asn1-x509 0.14.6", "rand_core 0.6.4", - "sspi 0.15.14", + "sspi 0.16.1", "tracing", "url", ] @@ -2854,7 +3018,7 @@ version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ "bit_field", - "bitflags 2.9.4", + "bitflags 2.10.0", "bitvec", "byteorder", "ironrdp-error 0.1.0", @@ -2871,17 +3035,17 @@ version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ "bit_field", - "bitflags 2.9.4", + "bitflags 2.10.0", "byteorder", "der-parser", "ironrdp-error 0.1.0", - "md-5", + "md-5 0.10.6", "num-bigint", "num-derive", "num-integer", "num-traits", - "pkcs1", - "sha1", + "pkcs1 0.7.5", + "sha1 0.10.6", "tap", "thiserror 1.0.69", "x509-cert", @@ -2894,18 +3058,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc69c5d6ad3399965e0d3762886857f5861d4d854efe8d2bfc3462eb2b2b555a" dependencies = [ "bit_field", - "bitflags 2.9.4", + "bitflags 2.10.0", "byteorder", "der-parser", "ironrdp-core", "ironrdp-error 0.1.3", - "md-5", + "md-5 0.10.6", "num-bigint", "num-derive", "num-integer", "num-traits", - "pkcs1", - "sha1", + "pkcs1 0.7.5", + "sha1 0.10.6", "tap", "thiserror 1.0.69", "x509-cert", @@ -2917,7 +3081,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3f5401de43e86384ac0f7f356af8c0bdc321671853f76095da5d480d6998e0" dependencies = [ - "der", + "der 0.7.10", ] [[package]] @@ -2925,7 +3089,7 @@ name = "ironrdp-rdpsnd" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "ironrdp-pdu 0.1.0", "ironrdp-svc 0.1.0", "tracing", @@ -2948,7 +3112,7 @@ dependencies = [ "ironrdp-rdpsnd", "ironrdp-svc 0.1.0", "ironrdp-tokio 0.1.0", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-rustls", "tracing", ] @@ -2958,7 +3122,7 @@ name = "ironrdp-svc" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "ironrdp-pdu 0.1.0", ] @@ -2968,7 +3132,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98959b1f0f4e9ae705880c73d604ad8f8ebf99feb2e33507092773c4b091c76c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "ironrdp-core", "ironrdp-pdu 0.5.0", ] @@ -2978,20 +3142,24 @@ name = "ironrdp-tokio" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "ironrdp-async 0.1.0", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] name = "ironrdp-tokio" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95af93439e7322763477bafd4b153ab64fe29b138f87fe80c188fcfa04634584" +checksum = "6a5815ae4dd7866a6730efb653281406a77fd1f5426d77dd959fc04e3512410f" dependencies = [ - "bytes 1.10.1", - "ironrdp-async 0.5.0", - "tokio 1.46.1", + "bytes 1.11.0", + "ironrdp-async 0.6.0", + "ironrdp-connector 0.6.0", + "reqwest", + "sspi 0.16.1", + "tokio 1.48.0", + "url", ] [[package]] @@ -3015,7 +3183,7 @@ version = "0.0.0" dependencies = [ "byteorder", "hex-literal", - "http 1.3.1", + "http 1.4.0", "httparse", "log", "uuid", @@ -3042,14 +3210,14 @@ dependencies = [ "proxy-socks", "proxy-types", "proxy_cfg", - "rustls 0.23.33", + "rustls 0.23.35", "rustls-native-certs", "rustls-pemfile 2.2.0", "seahorse", "sysinfo", "test-utils", "tinyjson", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-tungstenite 0.26.2", "tracing", "tracing-appender", @@ -3071,7 +3239,7 @@ dependencies = [ name = "jmux-proto" version = "0.0.0" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "jmux-generators", "proptest", "smol_str", @@ -3083,11 +3251,11 @@ version = "0.0.0" dependencies = [ "anyhow", "bitvec", - "bytes 1.10.1", + "bytes 1.11.0", "futures-util", "jmux-proto", "socket2 0.5.10", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tracing", ] @@ -3121,19 +3289,19 @@ 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", + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" dependencies = [ "once_cell", "wasm-bindgen", @@ -3141,9 +3309,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.2.0-rc.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "3d546793a04a1d3049bd192856f804cfe96356e2cf36b54b4e575155babe9f41" dependencies = [ "cpufeatures", ] @@ -3185,18 +3353,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "lexical" -version = "7.0.4" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ed980ff02623721dc334b9105150b66d0e1f246a92ab5a2eca0335d54c48f6" +checksum = "1bc8a009b2ff1f419ccc62706f04fe0ca6e67b37460513964a3dfdb919bb37d6" dependencies = [ "lexical-core", ] [[package]] name = "lexical-core" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b765c31809609075565a70b4b71402281283aeda7ecaf4818ac14a7b2ade8958" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" dependencies = [ "lexical-parse-float", "lexical-parse-integer", @@ -3207,53 +3375,46 @@ dependencies = [ [[package]] name = "lexical-parse-float" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" dependencies = [ "lexical-parse-integer", "lexical-util", - "static_assertions", ] [[package]] name = "lexical-parse-integer" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72207aae22fc0a121ba7b6d479e42cbfea549af1479c3f3a4f12c70dd66df12e" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] name = "lexical-util" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3" -dependencies = [ - "static_assertions", -] +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" [[package]] name = "lexical-write-float" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5afc668a27f460fb45a81a757b6bf2f43c2d7e30cb5a2dcd3abf294c78d62bd" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" dependencies = [ "lexical-util", "lexical-write-integer", - "static_assertions", ] [[package]] name = "lexical-write-integer" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629ddff1a914a836fb245616a7888b62903aae58fa771e1d83943035efa0f978" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] @@ -3264,12 +3425,12 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-targets 0.53.2", + "windows-link 0.2.1", ] [[package]] @@ -3280,27 +3441,28 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.4" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "libc", + "redox_syscall", ] [[package]] name = "libsql" -version = "0.9.24" +version = "0.9.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76ffc6aaaac50c1362ebd22f7db457336ab4ee72ee115aaea11f47edf9d7720" +checksum = "2329faffc510cc3c6b4f00169a39177cc7099d3ed7647fc92f7cf26e53a8d976" dependencies = [ "anyhow", "async-stream", "async-trait", "base64 0.21.7", "bincode", - "bitflags 2.9.4", - "bytes 1.10.1", + "bitflags 2.10.0", + "bytes 1.11.0", "chrono", "crc32fast", "fallible-iterator 0.3.0", @@ -3315,7 +3477,7 @@ dependencies = [ "serde", "serde_json", "thiserror 1.0.69", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-stream", "tokio-util", "tonic", @@ -3329,11 +3491,11 @@ dependencies = [ [[package]] name = "libsql-ffi" -version = "0.9.24" +version = "0.9.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaaa869a3c33a125231e8963f7890dae9c6de1ce4133e68121467203896203a0" +checksum = "6cd1c1662822495393327856774f6803be25d85bfdcd5b9d4af35458f5daaf75" dependencies = [ - "bindgen 0.66.1", + "bindgen", "cc", "cmake", "glob", @@ -3341,23 +3503,23 @@ dependencies = [ [[package]] name = "libsql-hrana" -version = "0.9.24" +version = "0.9.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d0a122bc4af29ffe51a4bb27f7d1b61cf2a4ef5131dad3fecdf1f5fbc6329a" +checksum = "646d0aa75e412769018422f0da798f72e93bd51964f0b2ddad4317aa779ae444" dependencies = [ "base64 0.21.7", - "bytes 1.10.1", + "bytes 1.11.0", "prost", "serde", ] [[package]] name = "libsql-rusqlite" -version = "0.9.24" +version = "0.9.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2e7739b3828a547d21834779ea699a3b46c3dcfafba75da103d36adcb7c0ab" +checksum = "5a4ce3a78c6e3c2b23b02ab6272df8340e1c53380497979d456882254f348d5f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "fallible-iterator 0.2.0", "fallible-streaming-iterator", "hashlink", @@ -3371,10 +3533,10 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15a90128c708356af8f7d767c9ac2946692c9112b4f74f07b99a01a60680e413" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cc", "fallible-iterator 0.3.0", - "indexmap 2.10.0", + "indexmap 2.12.1", "log", "memchr", "phf 0.11.3", @@ -3385,11 +3547,11 @@ dependencies = [ [[package]] name = "libsql-sys" -version = "0.9.24" +version = "0.9.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b075329f2ea5a8dc2c61b0d92ec095f823505954e1413c0a5220b40b0e4b0083" +checksum = "2a3c326fcfc36fe7578238d5ee6b58c529f8c76372acd61ec50267529cdaff95" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "libsql-ffi", "libsql-rusqlite", "once_cell", @@ -3399,22 +3561,22 @@ dependencies = [ [[package]] name = "libsql_replication" -version = "0.9.24" +version = "0.9.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47841eedbf05399c552048a11529dcf1fe3d43c1ccc77de55209ba2769d44b" +checksum = "1d9a2e469ac8400659bd31f81a745908bcc5cb6b40be2f2ff8de90b15bec5501" dependencies = [ - "aes", + "aes 0.8.4", "async-stream", "async-trait", - "bytes 1.10.1", - "cbc", + "bytes 1.11.0", + "cbc 0.1.2", "libsql-rusqlite", "libsql-sys", "parking_lot", "prost", "serde", "thiserror 1.0.69", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-stream", "tokio-util", "tonic", @@ -3423,6 +3585,12 @@ dependencies = [ "zerocopy 0.7.35", ] +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3431,15 +3599,15 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" @@ -3472,6 +3640,15 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + [[package]] name = "lru-slab" version = "0.1.2" @@ -3493,8 +3670,8 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "syn 1.0.109", ] @@ -3531,7 +3708,7 @@ version = "0.0.0" dependencies = [ "anyhow", "tinyjson", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "ureq", ] @@ -3543,7 +3720,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest", + "digest 0.10.7", +] + +[[package]] +name = "md-5" +version = "0.11.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9ec86664728010f574d67ef01aec964e6f1299241a3402857c1a8a390a62478" +dependencies = [ + "cfg-if", + "digest 0.11.0-rc.3", ] [[package]] @@ -3552,7 +3739,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da5ac363534dce5fabf69949225e174fbf111a498bf0ff794c8ea1fba9f3dda" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -3570,9 +3757,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.5" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "mime" @@ -3603,18 +3790,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] name = "mio" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", "log", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] @@ -3632,7 +3820,7 @@ name = "mock-net" version = "0.0.0" dependencies = [ "loom", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -3656,12 +3844,12 @@ dependencies = [ "async-trait", "awaitdrop", "bitflags 1.3.2", - "bytes 1.10.1", + "bytes 1.11.0", "futures", "pin-project 1.1.10", "rand 0.8.5", "thiserror 1.0.69", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tracing", ] @@ -3726,7 +3914,7 @@ version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "futures", "log", "netlink-packet-core", @@ -3740,11 +3928,11 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "futures", "libc", "log", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -3768,7 +3956,7 @@ dependencies = [ "network-scanner-net", "thiserror 2.0.17", "time", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tracing", ] @@ -3791,7 +3979,7 @@ dependencies = [ "rtnetlink", "socket2 0.5.10", "thiserror 2.0.17", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "tracing-subscriber", "typed-builder", @@ -3804,10 +3992,10 @@ dependencies = [ "anyhow", "crossbeam", "parking_lot", - "polling 3.8.0", + "polling 3.11.0", "socket2 0.5.10", "thiserror 2.0.17", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "tracing-cov-mark", "tracing-subscriber", @@ -3831,7 +4019,7 @@ dependencies = [ "async-trait", "awaitdrop", "base64 0.13.1", - "bytes 1.10.1", + "bytes 1.11.0", "futures", "hostname 0.3.1", "muxado", @@ -3842,7 +4030,7 @@ dependencies = [ "serde", "serde_json", "thiserror 1.0.69", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-retry", "tokio-util", "tracing", @@ -3855,7 +4043,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "libc", ] @@ -3866,7 +4054,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "cfg_aliases", "libc", @@ -3890,11 +4078,11 @@ checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" [[package]] name = "notify" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3163f59cd3fa0e9ef8c32f242966a7b9994fd7378366099593e0e73077cd8c97" +checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "fsevent-sys", "inotify", "kqueue", @@ -3930,7 +4118,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00ac734dd7c77bf952b96f9755ffbc72b888e5d860d35575729f1ee4822887d0" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "ironrdp-core", "ironrdp-error 0.1.3", "uuid", @@ -3947,11 +4135,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3966,11 +4154,10 @@ dependencies = [ [[package]] name = "num-bigint-dig" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" dependencies = [ - "byteorder", "lazy_static", "libm", "num-integer", @@ -3994,9 +4181,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -4049,31 +4236,37 @@ dependencies = [ ] [[package]] -name = "objc2-core-foundation" -version = "0.3.1" +name = "objc2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" dependencies = [ - "bitflags 2.9.4", + "objc2-encode", ] [[package]] -name = "objc2-io-kit" -version = "0.3.1" +name = "objc2-core-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71c1c64d6120e51cd86033f67176b1cb66780c2efe34dec55176f77befd93c0a" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "libc", - "objc2-core-foundation", + "bitflags 2.10.0", ] [[package]] -name = "object" -version = "0.36.7" +name = "objc2-encode" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" dependencies = [ - "memchr", + "libc", + "objc2-core-foundation", ] [[package]] @@ -4091,19 +4284,13 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - [[package]] name = "openssl" -version = "0.10.74" +version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "foreign-types", "libc", @@ -4118,9 +4305,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -4131,9 +4318,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.110" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -4143,40 +4330,44 @@ dependencies = [ [[package]] name = "p256" -version = "0.13.2" +version = "0.14.0-pre.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +checksum = "81b374901df34ee468167a58e2a49e468cb059868479cafebeb804f6b855423d" dependencies = [ "ecdsa", "elliptic-curve", + "primefield", "primeorder", - "sha2", + "sha2 0.11.0-rc.2", ] [[package]] name = "p384" -version = "0.13.1" +version = "0.14.0-pre.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +checksum = "701032b3730df6b882496d6cee8221de0ce4bc11ddc64e6d89784aa5b8a6de30" dependencies = [ "ecdsa", "elliptic-curve", + "fiat-crypto", + "primefield", "primeorder", - "sha2", + "sha2 0.11.0-rc.2", ] [[package]] name = "p521" -version = "0.13.3" +version = "0.14.0-pre.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2" +checksum = "40ba29c2906eb5c89a8c411c4f11243ee4e5517ee7d71d9a13fedc877a6057b1" dependencies = [ - "base16ct", + "base16ct 0.3.0", "ecdsa", "elliptic-curve", + "primefield", "primeorder", - "rand_core 0.6.4", - "sha2", + "rand_core 0.9.3", + "sha2 0.11.0-rc.2", ] [[package]] @@ -4199,7 +4390,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -4225,9 +4416,20 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest", - "hmac", - "sha1", + "digest 0.10.7", + "hmac 0.12.1", + "sha1 0.10.6", +] + +[[package]] +name = "pbkdf2" +version = "0.13.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3fc18bb4460ac250ba6b75dfa7cf9d0b2273e3e623f660bd6ce2c3e902342e" +dependencies = [ + "digest 0.11.0-rc.3", + "hmac 0.13.0-rc.2", + "sha1 0.11.0-rc.2", ] [[package]] @@ -4257,9 +4459,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem-rfc7468" -version = "0.7.0" +version = "1.0.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "a8e58fab693c712c0d4e88f8eb3087b6521d060bcaf76aeb20cb192d809115ba" dependencies = [ "base64ct", ] @@ -4330,41 +4532,70 @@ dependencies = [ [[package]] name = "picky" -version = "7.0.0-rc.15" +version = "7.0.0-rc.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83be360ca0cc8659abfbda932098e606fe52fa129508b92f0ce2998c00679170" +checksum = "4cdc52be663aebd70d7006ae305c87eb32a2b836d6c2f26f7e384f845d80b621" dependencies = [ - "aes", + "aead", + "aes 0.9.0-rc.1", "aes-gcm", "aes-kw", "base64 0.22.1", - "cbc", - "des", - "digest", + "block-buffer 0.11.0-rc.5", + "block-padding 0.4.0-rc.4", + "cbc 0.2.0-rc.1", + "cipher 0.5.0-rc.1", + "crypto-bigint", + "crypto-common 0.2.0-rc.4", + "crypto-primes", + "ctr", + "curve25519-dalek", + "der 0.8.0-rc.9", + "des 0.9.0-rc.1", + "digest 0.11.0-rc.3", + "ecdsa", + "ed25519", "ed25519-dalek", + "elliptic-curve", + "ff", + "ghash", + "group", "hex", - "hmac", - "http 1.3.1", - "md-5", - "num-bigint-dig", + "hkdf", + "hmac 0.13.0-rc.2", + "http 1.4.0", + "inout 0.2.0-rc.6", + "keccak", + "md-5 0.11.0-rc.2", "p256", "p384", "p521", - "pbkdf2", + "pbkdf2 0.13.0-rc.1", + "pem-rfc7468", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.2", - "picky-asn1-x509 0.14.4", - "rand 0.8.5", - "rand_core 0.6.4", + "picky-asn1-der 0.5.4", + "picky-asn1-x509 0.15.2", + "pkcs1 0.8.0-rc.4", + "pkcs8 0.11.0-rc.7", + "polyval", + "primefield", + "primeorder", + "rand 0.9.2", + "rand_core 0.9.3", "rc2", - "rsa", + "rfc6979", + "rsa 0.10.0-rc.9", + "sec1", "serde", "serde_json", - "sha1", - "sha2", + "sha1 0.11.0-rc.2", + "sha2 0.11.0-rc.2", "sha3", - "thiserror 1.0.69", + "signature 3.0.0-rc.4", + "spki 0.8.0-rc.4", + "thiserror 2.0.17", "time", + "universal-hash", "x25519-dalek", "zeroize", ] @@ -4407,9 +4638,9 @@ dependencies = [ [[package]] name = "picky-asn1-der" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dccb53c26f70c082e008818f524bd45d057069517b047bd0c0ee062d6d7d7f2" +checksum = "b491eb61603cba1ad5c6be0269883538f8d74136c35e3641a840fb0fbcd41efc" dependencies = [ "picky-asn1 0.10.1", "serde", @@ -4424,25 +4655,38 @@ checksum = "2c5f20f71a68499ff32310f418a6fad8816eac1a2859ed3f0c5c741389dd6208" dependencies = [ "base64 0.21.7", "oid", - "picky-asn1 0.8.0", - "picky-asn1-der 0.4.1", + "picky-asn1 0.8.0", + "picky-asn1-der 0.4.1", + "serde", + "widestring 1.2.1", +] + +[[package]] +name = "picky-asn1-x509" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d493f73cf052073ca1fe38666f74c2396987aa6ea660e77dd624cc6c8f60389e" +dependencies = [ + "base64 0.22.1", + "oid", + "picky-asn1 0.10.1", + "picky-asn1-der 0.5.4", "serde", "widestring 1.2.1", ] [[package]] name = "picky-asn1-x509" -version = "0.14.4" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f974c1b3348705c23887c4f3b90947b9f23566db8b032e48af59c91f888f6f" +checksum = "c97cd14d567a17755910fa8718277baf39d08682a980b1b1a4b4da7d0bc61a04" dependencies = [ "base64 0.22.1", - "num-bigint-dig", + "crypto-bigint", "oid", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.2", + "picky-asn1-der 0.5.4", "serde", - "widestring 1.2.1", "zeroize", ] @@ -4452,47 +4696,52 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f71cf61ebe6e657a81bcac31f9d61d52c23a1fd517b0dad77b915a7d3d15d2e8" dependencies = [ - "aes", + "aes 0.8.4", "byteorder", - "cbc", + "cbc 0.1.2", "crypto", - "des", - "hmac", + "des 0.8.1", + "hmac 0.12.1", "num-bigint-dig", "oid", - "pbkdf2", + "pbkdf2 0.12.2", "picky-asn1 0.8.0", "picky-asn1-der 0.4.1", "picky-asn1-x509 0.12.0", "rand 0.8.5", "serde", - "sha1", + "sha1 0.10.6", "thiserror 1.0.69", "uuid", ] [[package]] name = "picky-krb" -version = "0.11.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45ffe5f2122cdda5e9059ab837a65ba1b77729db43fc1500f2fce6b27070eab" +checksum = "14b13eb1a97b2293277b475f07d0c36c33579e2e71f852557015addcd95f8892" dependencies = [ - "aes", + "aes 0.9.0-rc.1", + "block-buffer 0.11.0-rc.5", + "block-padding 0.4.0-rc.4", "byteorder", - "cbc", - "crypto", - "des", - "hmac", - "num-bigint-dig", + "cbc 0.2.0-rc.1", + "cipher 0.5.0-rc.1", + "crypto-bigint", + "crypto-common 0.2.0-rc.4", + "des 0.9.0-rc.1", + "digest 0.11.0-rc.3", + "hmac 0.13.0-rc.2", + "inout 0.2.0-rc.6", "oid", - "pbkdf2", + "pbkdf2 0.13.0-rc.1", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.2", - "picky-asn1-x509 0.14.4", - "rand 0.8.5", + "picky-asn1-der 0.5.4", + "picky-asn1-x509 0.15.2", + "rand 0.9.2", "serde", - "sha1", - "thiserror 1.0.69", + "sha1 0.11.0-rc.2", + "thiserror 2.0.17", "uuid", ] @@ -4520,8 +4769,8 @@ version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "syn 1.0.109", ] @@ -4531,9 +4780,9 @@ version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -4560,9 +4809,19 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "der", - "pkcs8", - "spki", + "der 0.7.10", + "pkcs8 0.10.2", + "spki 0.7.3", +] + +[[package]] +name = "pkcs1" +version = "0.8.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" +dependencies = [ + "der 0.8.0-rc.9", + "spki 0.8.0-rc.4", ] [[package]] @@ -4571,8 +4830,18 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der", - "spki", + "der 0.7.10", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.11.0-rc.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93eac55f10aceed84769df670ea4a32d2ffad7399400d41ee1c13b1cd8e1b478" +dependencies = [ + "der 0.8.0-rc.9", + "spki 0.8.0-rc.4", ] [[package]] @@ -4599,31 +4868,35 @@ dependencies = [ [[package]] name = "polling" -version = "3.8.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi", "pin-project-lite 0.2.16", - "rustix 1.0.7", - "tracing", - "windows-sys 0.59.0", + "rustix 1.1.2", + "windows-sys 0.61.2", ] [[package]] name = "polyval" -version = "0.6.2" +version = "0.7.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +checksum = "1ffd40cc99d0fbb02b4b3771346b811df94194bc103983efa0203c8893755085" dependencies = [ "cfg-if", "cpufeatures", - "opaque-debug", "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + [[package]] name = "portpicker" version = "0.1.1" @@ -4641,23 +4914,23 @@ checksum = "fbef655056b916eb868048276cfd5d6a7dea4f81560dfd047f97c8c6fe3fcfd4" dependencies = [ "base64 0.22.1", "byteorder", - "bytes 1.10.1", + "bytes 1.11.0", "fallible-iterator 0.2.0", - "hmac", - "md-5", + "hmac 0.12.1", + "md-5 0.10.6", "memchr", - "rand 0.9.1", - "sha2", + "rand 0.9.2", + "sha2 0.10.9", "stringprep", ] [[package]] name = "postgres-types" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a120daaabfcb0e324d5bf6e411e9222994cb3795c79943a0ef28ed27ea76e4" +checksum = "ef4605b7c057056dd35baeb6ac0c0338e4975b1f2bef0f65da953285eb007095" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "chrono", "fallible-iterator 0.2.0", "postgres-protocol", @@ -4665,9 +4938,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] @@ -4684,7 +4957,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.26", + "zerocopy 0.8.30", ] [[package]] @@ -4716,28 +4989,41 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.35" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2 1.0.103", + "syn 2.0.111", +] + +[[package]] +name = "primefield" +version = "0.14.0-pre.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" +checksum = "d7fcd4a163053332fd93f39b81c133e96a98567660981654579c90a99062fbf5" dependencies = [ - "proc-macro2 1.0.95", - "syn 2.0.104", + "crypto-bigint", + "ff", + "rand_core 0.9.3", + "subtle", + "zeroize", ] [[package]] name = "primeorder" -version = "0.13.6" +version = "0.14.0-pre.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +checksum = "1c36e8766fcd270fa9c665b9dc364f570695f5a59240949441b077a397f15b74" dependencies = [ "elliptic-curve", ] [[package]] name = "proc-macro-crate" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ "toml_edit", ] @@ -4749,8 +5035,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "syn 1.0.109", "version_check", ] @@ -4761,8 +5047,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "version_check", ] @@ -4777,25 +5063,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] [[package]] name = "proptest" -version = "1.7.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.9.4", - "lazy_static", + "bitflags 2.10.0", "num-traits", - "rand 0.9.1", + "rand 0.9.2", "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", @@ -4810,7 +5095,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "prost-derive", ] @@ -4822,9 +5107,9 @@ checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -4839,12 +5124,12 @@ dependencies = [ name = "proxy-http" version = "0.0.0" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "pin-project-lite 0.2.16", "proptest", "proxy-generators", "proxy-types", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -4854,7 +5139,7 @@ dependencies = [ "proxy-http", "proxy-socks", "proxy-types", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -4864,7 +5149,7 @@ dependencies = [ "proptest", "proxy-generators", "proxy-types", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-test", ] @@ -4874,7 +5159,7 @@ version = "0.0.0" dependencies = [ "proxy-http", "proxy-socks", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -4902,37 +5187,37 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "cfg_aliases", "pin-project-lite 0.2.16", "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.33", - "socket2 0.5.10", + "rustls 0.23.35", + "socket2 0.6.1", "thiserror 2.0.17", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ - "bytes 1.10.1", - "getrandom 0.3.3", + "bytes 1.11.0", + "getrandom 0.3.4", "lru-slab", - "rand 0.9.1", + "rand 0.9.2", "ring 0.17.14", "rustc-hash 2.1.1", - "rustls 0.23.33", + "rustls 0.23.35", "rustls-pki-types", "slab", "thiserror 2.0.17", @@ -4943,16 +5228,16 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.1", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4966,11 +5251,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.40" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.103", ] [[package]] @@ -4998,9 +5283,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -5041,7 +5326,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", ] [[package]] @@ -5055,20 +5340,20 @@ dependencies = [ [[package]] name = "rc2" -version = "0.8.1" +version = "0.9.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62c64daa8e9438b84aaae55010a93f396f8e60e3911590fcba770d04643fc1dd" +checksum = "b03621ac292cc723def9e0fd0eb9573b1df8d6a9ee7ad637fe94dfc153705f3c" dependencies = [ - "cipher", + "cipher 0.5.0-rc.1", ] [[package]] name = "redox_syscall" -version = "0.5.13" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", ] [[package]] @@ -5084,9 +5369,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.3" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -5096,9 +5381,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -5107,9 +5392,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "region" @@ -5131,19 +5416,20 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.12.22" +version = "0.12.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" +checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" dependencies = [ "base64 0.22.1", - "bytes 1.10.1", + "bytes 1.11.0", + "futures-channel", "futures-core", "futures-util", - "h2 0.4.11", - "http 1.3.1", + "h2 0.4.12", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-rustls", "hyper-util", "js-sys", @@ -5151,18 +5437,18 @@ dependencies = [ "percent-encoding", "pin-project-lite 0.2.16", "quinn", - "rustls 0.23.33", + "rustls 0.23.35", "rustls-native-certs", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-rustls", "tokio-util", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.7", "tower-service", "url", "wasm-bindgen", @@ -5171,6 +5457,12 @@ dependencies = [ "web-sys", ] +[[package]] +name = "resolv-conf" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" + [[package]] name = "retour" version = "0.4.0-alpha.4" @@ -5189,11 +5481,11 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.4.0" +version = "0.5.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +checksum = "d369f9c4f79388704648e7bcb92749c0d6cf4397039293a9b747694fa4fb4bae" dependencies = [ - "hmac", + "hmac 0.13.0-rc.2", "subtle", ] @@ -5228,21 +5520,40 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" dependencies = [ - "const-oid", - "digest", + "const-oid 0.9.6", + "digest 0.10.7", "num-bigint-dig", "num-integer", "num-traits", - "pkcs1", - "pkcs8", + "pkcs1 0.7.5", + "pkcs8 0.10.2", "rand_core 0.6.4", - "sha1", - "signature", - "spki", + "sha1 0.10.6", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", +] + +[[package]] +name = "rsa" +version = "0.10.0-rc.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf8955ab399f6426998fde6b76ae27233cce950705e758a6c17afd2f6d0e5d52" +dependencies = [ + "const-oid 0.10.1", + "crypto-bigint", + "crypto-primes", + "digest 0.11.0-rc.3", + "pkcs1 0.8.0-rc.4", + "pkcs8 0.11.0-rc.7", + "rand_core 0.9.3", + "signature 3.0.0-rc.4", + "spki 0.8.0-rc.4", "subtle", "zeroize", ] @@ -5268,12 +5579,12 @@ dependencies = [ "cfg-if", "glob", "proc-macro-crate", - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "regex", "relative-path", "rustc_version", - "syn 2.0.104", + "syn 2.0.111", "unicode-ident", ] @@ -5292,15 +5603,9 @@ dependencies = [ "netlink-sys", "nix 0.27.1", "thiserror 1.0.69", - "tokio 1.46.1", + "tokio 1.48.0", ] -[[package]] -name = "rustc-demangle" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -5337,7 +5642,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -5346,15 +5651,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.7" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", - "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "linux-raw-sys 0.11.0", + "windows-sys 0.61.2", ] [[package]] @@ -5371,9 +5676,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.33" +version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751e04a496ca00bb97a5e043158d23d66b5aabf2e1d5aa2a0aaebb1aafe6f82c" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ "aws-lc-rs", "log", @@ -5391,8 +5696,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c742cb7d8e43daae2dd9ca4b1da442b4500a461ce1c84249e6ac99b4bc12562e" dependencies = [ - "rustls 0.23.33", - "sha2", + "rustls 0.23.35", + "sha2 0.10.9", "windows-sys 0.59.0", ] @@ -5405,7 +5710,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", + "security-framework 3.5.1", ] [[package]] @@ -5428,9 +5733,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" dependencies = [ "web-time", "zeroize", @@ -5438,9 +5743,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.6" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "aws-lc-rs", "ring 0.17.14", @@ -5450,15 +5755,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" dependencies = [ "fnv", "quick-error", @@ -5489,11 +5794,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5504,7 +5809,7 @@ checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" dependencies = [ "chrono", "dyn-clone", - "indexmap 2.10.0", + "indexmap 2.12.1", "schemars_derive", "serde", "serde_json", @@ -5517,10 +5822,10 @@ version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "serde_derive_internals", - "syn 2.0.104", + "syn 2.0.111", ] [[package]] @@ -5553,14 +5858,13 @@ checksum = "d25679a62f678e7485f21abdea76f91a15322a0fe51efea791fd9d124f1c473c" [[package]] name = "sec1" -version = "0.7.3" +version = "0.8.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +checksum = "1dff52f6118bc9f0ac974a54a639d499ac26a6cad7a6e39bc0990c19625e793b" dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", + "base16ct 0.3.0", + "der 0.8.0-rc.9", + "hybrid-array", "subtle", "zeroize", ] @@ -5571,7 +5875,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -5580,11 +5884,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -5593,9 +5897,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -5603,9 +5907,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" [[package]] name = "serde" @@ -5629,11 +5933,12 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.17" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", ] [[package]] @@ -5651,9 +5956,9 @@ version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -5662,22 +5967,22 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "serde_html_form" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" +checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" dependencies = [ "form_urlencoded", - "indexmap 2.10.0", + "indexmap 2.12.1", "itoa", "ryu", - "serde", + "serde_core", ] [[package]] @@ -5695,12 +6000,13 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] @@ -5709,7 +6015,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b417bedc008acbdf6d6b4bc482d29859924114bbe2650b7921fb68a261d0aa6" dependencies = [ - "axum 0.8.6", + "axum 0.8.7", "futures", "percent-encoding", "serde", @@ -5718,11 +6024,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -5743,13 +6049,23 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.12.1", "itoa", "ryu", "serde", "unsafe-libyaml", ] +[[package]] +name = "serdect" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3ef0e35b322ddfaecbc60f34ab448e157e48531288ee49fafbb053696b8ffe2" +dependencies = [ + "base16ct 0.3.0", + "serde", +] + [[package]] name = "sha1" version = "0.10.6" @@ -5758,7 +6074,18 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", +] + +[[package]] +name = "sha1" +version = "0.11.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e046edf639aa2e7afb285589e5405de2ef7e61d4b0ac1e30256e3eab911af9" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.11.0-rc.3", ] [[package]] @@ -5769,16 +6096,27 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1e3878ab0f98e35b2df35fe53201d088299b41a6bb63e3e34dada2ac4abd924" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.11.0-rc.3", ] [[package]] name = "sha3" -version = "0.10.8" +version = "0.11.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "2103ca0e6f4e9505eae906de5e5883e06fc3b2232fb5d6914890c7bbcb62f478" dependencies = [ - "digest", + "digest 0.11.0-rc.3", "keccak", ] @@ -5799,9 +6137,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" dependencies = [ "libc", ] @@ -5812,10 +6150,26 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest", + "digest 0.10.7", "rand_core 0.6.4", ] +[[package]] +name = "signature" +version = "3.0.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc280a6ff65c79fbd6622f64d7127f32b85563bca8c53cd2e9141d6744a9056d" +dependencies = [ + "digest 0.11.0-rc.3", + "rand_core 0.9.3", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "siphasher" version = "1.0.1" @@ -5824,9 +6178,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "slice-pool2" @@ -5851,12 +6205,12 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smol_str" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" +checksum = "3498b0a27f93ef1402f20eefacfaa1691272ac4eca1cdc8c596cb0a245d6cbf5" dependencies = [ "borsh", - "serde", + "serde_core", ] [[package]] @@ -5871,12 +6225,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5901,7 +6255,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der", + "der 0.7.10", +] + +[[package]] +name = "spki" +version = "0.8.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" +dependencies = [ + "base64ct", + "der 0.8.0-rc.9", ] [[package]] @@ -5912,14 +6276,14 @@ checksum = "18d31fab47d9290be28a8d027c8428756826f1d4fe1e5ba0f51d24f52c568e21" dependencies = [ "async-dnssd", "async-recursion", - "bitflags 2.9.4", + "bitflags 2.10.0", "byteorder", "cfg-if", "crypto-mac", "futures", - "hmac", + "hmac 0.12.1", "lazy_static", - "md-5", + "md-5 0.10.6", "md4", "num-bigint-dig", "num-derive", @@ -5933,10 +6297,10 @@ dependencies = [ "rand 0.8.5", "serde", "serde_derive", - "sha1", - "sha2", + "sha1 0.10.6", + "sha2 0.10.9", "time", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "url", "uuid", @@ -5949,20 +6313,21 @@ dependencies = [ [[package]] name = "sspi" -version = "0.15.14" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "214ee905dcdd4b7ab11404b616e58dc6944d80fe8592fbdc13abc87d7e2bff0a" +checksum = "523f6a99e26c1e6476a424d54bbda5354a01ee7f18b9d93dc48a8fd45ae8189b" dependencies = [ "async-dnssd", "async-recursion", - "bitflags 2.9.4", + "bitflags 2.10.0", "byteorder", "cfg-if", "crypto-mac", "futures", - "hmac", + "hickory-resolver", + "hmac 0.12.1", "lazy_static", - "md-5", + "md-5 0.10.6", "md4", "num-bigint-dig", "num-derive", @@ -5970,38 +6335,35 @@ dependencies = [ "oid", "picky", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.2", - "picky-asn1-x509 0.14.4", - "picky-krb 0.11.0", + "picky-asn1-der 0.5.4", + "picky-asn1-x509 0.14.6", + "picky-krb 0.11.3", + "portpicker", "rand 0.8.5", - "rsa", - "rustls 0.23.33", + "reqwest", + "rsa 0.9.9", + "rustls 0.23.35", + "rustls-native-certs", "serde", "serde_derive", - "sha1", - "sha2", + "sha1 0.10.6", + "sha2 0.10.9", "time", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "url", "uuid", "windows 0.61.3", - "windows-registry", + "windows-registry 0.5.3", "windows-sys 0.60.2", "zeroize", ] [[package]] name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "stringprep" @@ -6037,19 +6399,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.104" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", + "proc-macro2 1.0.103", + "quote 1.0.42", "unicode-ident", ] @@ -6074,9 +6436,9 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -6127,7 +6489,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -6160,15 +6522,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.20.0" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", - "rustix 1.0.7", - "windows-sys 0.59.0", + "rustix 1.1.2", + "windows-sys 0.61.2", ] [[package]] @@ -6176,7 +6538,7 @@ name = "terminal-streamer" version = "0.1.0" dependencies = [ "anyhow", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", ] @@ -6194,7 +6556,7 @@ dependencies = [ "futures-util", "portpicker", "proptest", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-tungstenite 0.26.2", "transport", ] @@ -6219,7 +6581,7 @@ dependencies = [ "sysevent-winevent", "tempfile", "test-utils", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-rustls", "tokio-tungstenite 0.26.2", "typed-builder", @@ -6249,9 +6611,9 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -6260,9 +6622,9 @@ version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -6324,9 +6686,9 @@ checksum = "9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a" [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -6334,9 +6696,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", ] @@ -6363,9 +6725,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -6382,44 +6744,41 @@ dependencies = [ [[package]] name = "tokio" -version = "1.46.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "backtrace", - "bytes 1.10.1", - "io-uring", + "bytes 1.11.0", "libc", "mio", "parking_lot", "pin-project-lite 0.2.16", "signal-hook-registry", - "slab", - "socket2 0.5.10", + "socket2 0.6.1", "tokio-macros", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-io-timeout" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +checksum = "0bd86198d9ee903fedd2f9a2e72014287c0d9167e4ae43b5853007205dda1b76" dependencies = [ "pin-project-lite 0.2.16", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -6429,7 +6788,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ "native-tls", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -6440,7 +6799,7 @@ checksum = "2b40d66d9b2cfe04b628173409368e58247e8eddbbd3b0e6c6ba1d09f20f6c9e" dependencies = [ "async-trait", "byteorder", - "bytes 1.10.1", + "bytes 1.11.0", "fallible-iterator 0.2.0", "futures-channel", "futures-util", @@ -6451,9 +6810,9 @@ dependencies = [ "pin-project-lite 0.2.16", "postgres-protocol", "postgres-types", - "rand 0.9.1", - "socket2 0.6.0", - "tokio 1.46.1", + "rand 0.9.2", + "socket2 0.6.1", + "tokio 1.48.0", "tokio-util", "whoami", ] @@ -6466,7 +6825,7 @@ checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" dependencies = [ "pin-project 1.1.10", "rand 0.8.5", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -6475,8 +6834,8 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.23.33", - "tokio 1.46.1", + "rustls 0.23.35", + "tokio 1.48.0", ] [[package]] @@ -6487,7 +6846,7 @@ checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite 0.2.16", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] @@ -6497,9 +6856,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7" dependencies = [ "async-stream", - "bytes 1.10.1", + "bytes 1.11.0", "futures-core", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-stream", ] @@ -6512,10 +6871,10 @@ dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.23.33", + "rustls 0.23.35", "rustls-native-certs", "rustls-pki-types", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-native-tls", "tokio-rustls", "tungstenite 0.26.2", @@ -6529,34 +6888,34 @@ checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", "log", - "tokio 1.46.1", + "tokio 1.48.0", "tungstenite 0.28.0", ] [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "futures-core", "futures-io", "futures-sink", "pin-project-lite 0.2.16", - "tokio 1.46.1", + "tokio 1.48.0", ] [[package]] name = "toml" -version = "0.9.0" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f271e09bde39ab52250160a67e88577e0559ad77e9085de6e9051a2c4353f8f8" +checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" dependencies = [ - "indexmap 2.10.0", - "serde", + "indexmap 2.12.1", + "serde_core", "serde_spanned", - "toml_datetime 0.7.0", + "toml_datetime", "toml_parser", "toml_writer", "winnow", @@ -6564,44 +6923,39 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" - -[[package]] -name = "toml_datetime" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" dependencies = [ - "serde", + "serde_core", ] [[package]] name = "toml_edit" -version = "0.22.27" +version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ - "indexmap 2.10.0", - "toml_datetime 0.6.11", + "indexmap 2.12.1", + "toml_datetime", + "toml_parser", "winnow", ] [[package]] name = "toml_parser" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c1c469eda89749d2230d8156a5969a69ffe0d6d01200581cdc6110674d293e" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b679217f2848de74cabd3e8fc5e6d66f40b7da40f8e1954d92054d9010690fd5" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" [[package]] name = "tonic" @@ -6613,8 +6967,8 @@ dependencies = [ "async-trait", "axum 0.6.20", "base64 0.21.7", - "bytes 1.10.1", - "h2 0.3.26", + "bytes 1.11.0", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -6622,7 +6976,7 @@ dependencies = [ "percent-encoding", "pin-project 1.1.10", "prost", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-stream", "tower 0.4.13", "tower-layer", @@ -6637,7 +6991,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc3b0e1cedbf19fdfb78ef3d672cb9928e0a91a9cb4629cc0c916e8cff8aaaa1" dependencies = [ "base64 0.21.7", - "bytes 1.10.1", + "bytes 1.11.0", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -6681,7 +7035,7 @@ dependencies = [ "pin-project-lite 0.2.16", "rand 0.8.5", "slab", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tower-layer", "tower-service", @@ -6698,7 +7052,7 @@ dependencies = [ "futures-util", "pin-project-lite 0.2.16", "sync_wrapper 1.0.2", - "tokio 1.46.1", + "tokio 1.48.0", "tower-layer", "tower-service", "tracing", @@ -6735,8 +7089,8 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.9.4", - "bytes 1.10.1", + "bitflags 2.10.0", + "bytes 1.11.0", "futures-core", "futures-util", "http 0.2.12", @@ -6755,10 +7109,10 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.9.4", - "bytes 1.10.1", + "bitflags 2.10.0", + "bytes 1.11.0", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "http-range-header 0.4.2", @@ -6767,7 +7121,7 @@ dependencies = [ "mime_guess", "percent-encoding", "pin-project-lite 0.2.16", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-util", "tower-layer", "tower-service", @@ -6776,14 +7130,14 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456" dependencies = [ - "bitflags 2.9.4", - "bytes 1.10.1", + "bitflags 2.10.0", + "bytes 1.11.0", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "iri-string", "pin-project-lite 0.2.16", @@ -6906,20 +7260,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" dependencies = [ "once_cell", "valuable", @@ -6980,7 +7334,7 @@ dependencies = [ "async-trait", "libsql", "tempfile", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", "traffic-audit", "uuid", @@ -6991,7 +7345,7 @@ name = "transport" version = "0.0.0" dependencies = [ "anyhow", - "bytes 1.10.1", + "bytes 1.11.0", "futures-core", "futures-sink", "futures-util", @@ -6999,7 +7353,7 @@ dependencies = [ "pin-project-lite 0.2.16", "proptest", "test-utils", - "tokio 1.46.1", + "tokio 1.48.0", "tracing", ] @@ -7015,16 +7369,16 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "data-encoding", - "http 1.3.1", + "http 1.4.0", "httparse", "log", "native-tls", - "rand 0.9.1", - "rustls 0.23.33", + "rand 0.9.2", + "rustls 0.23.35", "rustls-pki-types", - "sha1", + "sha1 0.10.6", "thiserror 2.0.17", "utf-8", ] @@ -7035,42 +7389,42 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ - "bytes 1.10.1", + "bytes 1.11.0", "data-encoding", - "http 1.3.1", + "http 1.4.0", "httparse", "log", - "rand 0.9.1", - "sha1", + "rand 0.9.2", + "sha1 0.10.6", "thiserror 2.0.17", "utf-8", ] [[package]] name = "typed-builder" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce63bcaf7e9806c206f7d7b9c1f38e0dce8bb165a80af0898161058b19248534" +checksum = "fef81aec2ca29576f9f6ae8755108640d0a86dd3161b2e8bca6cfa554e98f77d" dependencies = [ "typed-builder-macro", ] [[package]] name = "typed-builder-macro" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b" +checksum = "1ecb9ecf7799210407c14a8cfdfe0173365780968dc57973ed082211958e0b18" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "ulid" @@ -7078,7 +7432,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe" dependencies = [ - "rand 0.9.1", + "rand 0.9.2", "uuid", "web-time", ] @@ -7112,24 +7466,24 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-normalization" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" [[package]] name = "unicode-xid" @@ -7139,11 +7493,11 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "universal-hash" -version = "0.5.1" +version = "0.6.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +checksum = "a55be643b40a21558f44806b53ee9319595bc7ca6896372e4e08e5d7d83c9cd6" dependencies = [ - "crypto-common", + "crypto-common 0.2.0-rc.4", "subtle", ] @@ -7175,7 +7529,7 @@ dependencies = [ "flate2", "log", "once_cell", - "rustls 0.23.33", + "rustls 0.23.35", "rustls-pki-types", "url", "webpki-roots 0.26.11", @@ -7211,7 +7565,7 @@ version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5afb1a60e207dca502682537fefcfd9921e71d0b83e9576060f09abc6efab23" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.12.1", "serde", "serde_json", "serde_yaml", @@ -7225,19 +7579,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20c24e8ab68ff9ee746aad22d39b5535601e6416d1b0feeabf78be986a5c4392" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", "uuid", ] [[package]] name = "uuid" -version = "1.17.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "js-sys", "serde", "wasm-bindgen", @@ -7266,14 +7620,14 @@ name = "video-streamer" version = "0.0.0" dependencies = [ "anyhow", - "axum 0.8.6", + "axum 0.8.7", "cadeau", "ebml-iterable", "futures", "futures-util", "num_cpus", "thiserror 2.0.17", - "tokio 1.46.1", + "tokio 1.48.0", "tokio-tungstenite 0.26.2", "tokio-util", "tracing", @@ -7337,12 +7691,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] @@ -7353,35 +7707,22 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" dependencies = [ "cfg-if", "js-sys", @@ -7392,32 +7733,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" dependencies = [ - "quote 1.0.40", + "quote 1.0.42", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", - "wasm-bindgen-backend", + "bumpalo", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" dependencies = [ "unicode-ident", ] @@ -7437,9 +7778,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" dependencies = [ "js-sys", "wasm-bindgen", @@ -7480,14 +7821,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.2", + "webpki-roots 1.0.4", ] [[package]] name = "webpki-roots" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" dependencies = [ "rustls-pki-types", ] @@ -7506,11 +7847,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" dependencies = [ - "redox_syscall", + "libredox", "wasite", "web-sys", ] @@ -7532,7 +7873,7 @@ name = "win-api-wrappers" version = "0.0.0" dependencies = [ "anyhow", - "base16ct", + "base16ct 0.2.0", "rstest", "thiserror 2.0.17", "tracing", @@ -7559,11 +7900,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -7622,8 +7963,21 @@ dependencies = [ "windows-implement", "windows-interface", "windows-link 0.1.3", - "windows-result", - "windows-strings", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", ] [[package]] @@ -7639,24 +7993,24 @@ dependencies = [ [[package]] name = "windows-implement" -version = "0.60.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "windows-interface" -version = "0.59.1" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -7667,9 +8021,9 @@ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-numerics" @@ -7688,8 +8042,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ "windows-link 0.1.3", - "windows-result", - "windows-strings", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", ] [[package]] @@ -7701,6 +8066,15 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-strings" version = "0.4.2" @@ -7710,6 +8084,15 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -7752,7 +8135,16 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.2", + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", ] [[package]] @@ -7803,18 +8195,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.2" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -7846,9 +8239,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -7870,9 +8263,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -7894,9 +8287,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -7906,9 +8299,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -7930,9 +8323,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -7954,9 +8347,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -7978,9 +8371,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -8002,15 +8395,15 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -8055,19 +8448,16 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.4", -] +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "wyz" @@ -8080,12 +8470,12 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.1" +version = "3.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" +checksum = "3a45998121837fd8c92655d2334aa8f3e5ef0645cdfda5b321b13760c548fd55" dependencies = [ "curve25519-dalek", - "rand_core 0.6.4", + "rand_core 0.9.3", "serde", "zeroize", ] @@ -8096,9 +8486,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" dependencies = [ - "const-oid", - "der", - "spki", + "const-oid 0.9.6", + "der 0.7.10", + "spki 0.7.3", "tls_codec", ] @@ -8113,11 +8503,10 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -8125,13 +8514,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", "synstructure", ] @@ -8147,11 +8536,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "4ea879c944afe8a2b25fef16bb4ba234f47c694565e97383b36f3a878219065c" dependencies = [ - "zerocopy-derive 0.8.26", + "zerocopy-derive 0.8.30", ] [[package]] @@ -8160,20 +8549,20 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] @@ -8191,9 +8580,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", "synstructure", ] @@ -8212,16 +8601,16 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -8230,9 +8619,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -8241,11 +8630,11 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.104", + "proc-macro2 1.0.103", + "quote 1.0.42", + "syn 2.0.111", ] diff --git a/devolutions-gateway/Cargo.toml b/devolutions-gateway/Cargo.toml index 280442959..2904b3e1f 100644 --- a/devolutions-gateway/Cargo.toml +++ b/devolutions-gateway/Cargo.toml @@ -37,9 +37,9 @@ sysevent-codes.path = "../crates/sysevent-codes" ironrdp-pdu = { version = "0.5", features = ["std"] } ironrdp-core = { version = "0.1", features = ["std"] } ironrdp-rdcleanpath = "0.1" -ironrdp-tokio = "0.5" -ironrdp-connector = { version = "0.5" } -ironrdp-acceptor = { version = "0.5" } +ironrdp-tokio = { version = "0.6", features = ["reqwest"] } +ironrdp-connector = { version = "0.6" } +ironrdp-acceptor = { version = "0.6" } ceviche = "0.7" picky-krb = "0.11" diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index 6270a44b7..8760fb376 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1137,6 +1137,22 @@ pub mod dto { } } + /// Domain user credentials. + #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] + pub struct DomainUser { + pub username: String, + pub domain: String, + pub password: String, + } + + /// Kerberos server config. + #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] + pub struct KerberosServer { + pub max_time_skew: u64, + pub ticket_decryption_key: Option>, + pub service_user: Option, + } + /// Unsafe debug options that should only ever be used at development stage /// /// These options might change or get removed without further notice. @@ -1177,6 +1193,8 @@ pub mod dto { #[serde(default = "ws_keep_alive_interval_default_value")] pub ws_keep_alive_interval: u64, + pub kerberos_server: Option, + /// Enable unstable features which may break at any point #[serde(default)] pub enable_unstable: bool, @@ -1194,6 +1212,7 @@ pub mod dto { capture_path: None, lib_xmf_path: None, enable_unstable: false, + kerberos_server: None, ws_keep_alive_interval: ws_keep_alive_interval_default_value(), } } diff --git a/devolutions-gateway/src/credential.rs b/devolutions-gateway/src/credential.rs index 9779f33bb..a16103051 100644 --- a/devolutions-gateway/src/credential.rs +++ b/devolutions-gateway/src/credential.rs @@ -14,7 +14,11 @@ use uuid::Uuid; #[serde(tag = "kind")] pub enum AppCredential { #[serde(rename = "username-password")] - UsernamePassword { username: String, password: Password }, + UsernamePassword { + username: String, + domain: Option, + password: Password, + }, } /// Application protocol level credential mapping diff --git a/devolutions-gateway/src/generic_client.rs b/devolutions-gateway/src/generic_client.rs index 13c1d9c48..4b9cea2ff 100644 --- a/devolutions-gateway/src/generic_client.rs +++ b/devolutions-gateway/src/generic_client.rs @@ -118,6 +118,7 @@ where span.record("target", selected_target.to_string()); let is_rdp = claims.jet_ap == token::ApplicationProtocol::Known(token::Protocol::Rdp); + trace!(is_rdp, "IS_RDP????"); let info = SessionInfo::builder() .id(claims.jet_aid) diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index fce931d80..86bc9badb 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -1,6 +1,8 @@ use std::net::{IpAddr, SocketAddr}; use std::sync::Arc; +use std::time::Duration; +use crate::config::dto::{DomainUser, KerberosServer}; use crate::config::Conf; use crate::credential::{AppCredentialMapping, ArcCredentialEntry}; use crate::proxy::Proxy; @@ -8,7 +10,16 @@ use crate::session::{DisconnectInterest, SessionInfo, SessionMessageSender}; use crate::subscriber::SubscriberSender; use anyhow::Context as _; +use ironrdp_acceptor::credssp::CredsspProcessGenerator as CredsspServerProcessGenerator; +use ironrdp_connector::credssp::{CredsspProcessGenerator as CredsspClientProcessGenerator, KerberosConfig}; +use ironrdp_connector::sspi::credssp::{ClientState, ServerError, ServerState}; +use ironrdp_connector::sspi::generator::GeneratorState; +use ironrdp_connector::sspi::kerberos::ServerProperties; +use ironrdp_connector::sspi::{ + AuthIdentityBuffers, CredentialsBuffers, KerberosConfig as SspiKerberosConfig, KerberosServerConfig, +}; use ironrdp_pdu::{mcs, nego, x224}; +use ironrdp_tokio::reqwest::ReqwestNetworkClient; use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt}; use typed_builder::TypedBuilder; @@ -44,6 +55,8 @@ where C: AsyncRead + AsyncWrite + Unpin + Send + Sync, S: AsyncRead + AsyncWrite + Unpin + Send + Sync, { + info!("started RDP proxy!"); + let RdpProxy { conf, session_info, @@ -63,27 +76,35 @@ where .tls .as_ref() .context("TLS configuration required for credential injection feature")?; + let gateway_hostname = conf.hostname.clone(); let credential_mapping = credential_entry.mapping.as_ref().context("no credential mapping")?; // -- Retrieve the Gateway TLS public key that must be used for client-proxy CredSSP later on -- // let gateway_public_key_handle = tokio::spawn(get_cached_gateway_public_key( - conf.hostname.clone(), + gateway_hostname.clone(), tls_conf.acceptor.clone(), )); + info!("gateway public key is here"); + // -- Dual handshake with the client and the server until the TLS security upgrade -- // let mut client_framed = ironrdp_tokio::TokioFramed::new_with_leftover(client_stream, client_stream_leftover_bytes); let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream); + info!("framed streams are here"); + let handshake_result = dual_handshake_until_tls_upgrade(&mut client_framed, &mut server_framed, credential_mapping).await?; + info!("the handshakes are done!"); let client_stream = client_framed.into_inner_no_leftover(); let server_stream = server_framed.into_inner_no_leftover(); + info!("Handshake is done!"); + // -- Perform the TLS upgrading for both the client and the server, effectively acting as a man-in-the-middle -- // let client_tls_upgrade_fut = tls_conf.acceptor.accept(client_stream); @@ -91,8 +112,16 @@ where let (client_stream, server_stream) = tokio::join!(client_tls_upgrade_fut, server_tls_upgrade_fut); - let client_stream = client_stream.context("TLS upgrade with client failed")?; - let server_stream = server_stream.context("TLS upgrade with server failed")?; + info!("TLS upgrade futures finished!"); + + let client_stream = client_stream + .inspect_err(|err| warn!(?err, "client stream error")) + .context("TLS upgrade with client failed")?; + let server_stream = server_stream + .inspect_err(|err| warn!(?err, "server stream error")) + .context("TLS upgrade with server failed")?; + + info!("TLS upgrade is done!"); let server_public_key = extract_tls_server_public_key(&server_stream).context("extract target server TLS public key")?; @@ -103,25 +132,71 @@ where let mut client_framed = ironrdp_tokio::TokioFramed::new(client_stream); let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream); + warn!("START CREDSSPS STAGES"); + + let krb_server_config = if conf.debug.enable_unstable { + if let Some(KerberosServer { + max_time_skew, + ticket_decryption_key, + service_user, + }) = conf.debug.kerberos_server.as_ref() + { + let user = service_user.as_ref().map(|user| { + let DomainUser { + username, + domain, + password, + } = user; + CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8(username, domain, password)) + }); + + Some(KerberosServerConfig { + kerberos_config: SspiKerberosConfig { + // The sspi will automatically try to resolve the KDC host via DNS and/or environment variable. + kdc_url: None, + client_computer_name: Some(client_addr.to_string()), + }, + server_properties: ServerProperties::new( + &["TERMSRV", &gateway_hostname], + user, + Duration::from_secs(*max_time_skew), + ticket_decryption_key.clone(), + )?, + }) + } else { + None + } + } else { + None + }; + + let mut network_client = ReqwestNetworkClient::new(); let client_credssp_fut = perform_credssp_with_client( &mut client_framed, client_addr.ip(), gateway_public_key, handshake_result.client_security_protocol, &credential_mapping.proxy, + Some(&mut network_client), + krb_server_config, ); + let mut network_client = ReqwestNetworkClient::new(); let server_credssp_fut = perform_credssp_with_server( &mut server_framed, server_dns_name, server_public_key, handshake_result.server_security_protocol, &credential_mapping.target, + Some(&mut network_client), ); - let (client_credssp_res, server_credssp_res) = tokio::join!(client_credssp_fut, server_credssp_fut); - client_credssp_res.context("CredSSP with client")?; - server_credssp_res.context("CredSSP with server")?; + // let (client_credssp_res, server_credssp_res) = tokio::join!(client_credssp_fut, server_credssp_fut); + // client_credssp_res.context("CredSSP with client")?; + // server_credssp_res.context("CredSSP with server")?; + client_credssp_fut.await.context("CredSSP with client")?; + warn!("CREDSASPWITHCLIENTFINISHED"); + server_credssp_fut.await.context("CredSSP with server")?; // -- Intercept the Connect Confirm PDU, to override the server_security_protocol field -- // @@ -269,11 +344,17 @@ where .await .context("send connection request to server")?; + info!("sent"); + let (_, received_frame) = server_framed.read_pdu().await.context("read PDU from server")?; + info!("pdu has been read"); + let received_connection_confirm: x224::X224 = ironrdp_core::decode(&received_frame).context("decode PDU from server")?; trace!(message = ?received_connection_confirm, "Received Connection Confirm PDU from server"); + debug!("before match"); + let (connection_confirm_to_send, handshake_result) = match &received_connection_confirm.0 { nego::ConnectionConfirm::Response { flags, @@ -323,36 +404,56 @@ async fn perform_credssp_with_server( server_public_key: Vec, security_protocol: nego::SecurityProtocol, credentials: &crate::credential::AppCredential, + mut network_client: Option<&mut ReqwestNetworkClient>, ) -> anyhow::Result<()> where S: ironrdp_tokio::FramedRead + ironrdp_tokio::FramedWrite, { use ironrdp_tokio::FramedWrite as _; - let credentials = match credentials { - crate::credential::AppCredential::UsernamePassword { username, password } => { + info!(?credentials, "CREDSFORTHESERVER targetccredscheck"); + + let (credentials, domain) = match credentials { + crate::credential::AppCredential::UsernamePassword { + username, + domain, + password, + } => ( ironrdp_connector::Credentials::UsernamePassword { username: username.clone(), password: password.expose_secret().to_owned(), - } - } + }, + domain.as_deref(), + ), }; + info!(?credentials, "CREDSFORTHESERVER"); + let (mut sequence, mut ts_request) = ironrdp_connector::credssp::CredsspSequence::init( credentials, - None, + domain, security_protocol, ironrdp_connector::ServerName::new(server_name), server_public_key, - None, + Some(KerberosConfig { + kdc_proxy_url: Some(url::Url::parse("tcp://192.168.1.103:88").unwrap()), + hostname: Some("myroniuk-p-laptop".into()), + }), )?; let mut buf = ironrdp_pdu::WriteBuf::new(); loop { - let mut generator = sequence.process_ts_request(ts_request); - let client_state = generator.resolve_to_result().context("sspi generator resolve")?; - drop(generator); + let client_state = { + let mut generator = sequence.process_ts_request(ts_request); + + if let Some(network_client_ref) = network_client.as_deref_mut() { + trace!("resolving network"); + resolve_client_generator(&mut generator, network_client_ref).await? + } else { + panic!("network client is missing") + } + }; // drop generator buf.clear(); let written = sequence.handle_process_result(client_state, &mut buf)?; @@ -381,6 +482,46 @@ where Ok(()) } +async fn resolve_server_generator( + generator: &mut CredsspServerProcessGenerator<'_>, + network_client: &mut ReqwestNetworkClient, +) -> Result { + let mut state = generator.start(); + + loop { + match state { + GeneratorState::Suspended(request) => { + let response = network_client.send(&request).await.expect("todo"); + state = generator.resume(Ok(response)); + } + GeneratorState::Completed(client_state) => { + break client_state; + } + } + } +} + +async fn resolve_client_generator( + generator: &mut CredsspClientProcessGenerator<'_>, + network_client: &mut ReqwestNetworkClient, +) -> ironrdp_connector::ConnectorResult { + let mut state = generator.start(); + + loop { + match state { + GeneratorState::Suspended(request) => { + let response = network_client.send(&request).await?; + state = generator.resume(Ok(response)); + } + GeneratorState::Completed(client_state) => { + break client_state.map_err(|e| { + ironrdp_connector::ConnectorError::new("CredSSP", ironrdp_connector::ConnectorErrorKind::Credssp(e)) + }) + } + } + } +} + #[instrument(name = "client_credssp", level = "debug", ret, skip_all)] async fn perform_credssp_with_client( framed: &mut ironrdp_tokio::Framed, @@ -388,6 +529,8 @@ async fn perform_credssp_with_client( gateway_public_key: Vec, security_protocol: nego::SecurityProtocol, credentials: &crate::credential::AppCredential, + network_client: Option<&mut ReqwestNetworkClient>, + kerberos_server_config: Option, ) -> anyhow::Result<()> where S: ironrdp_tokio::FramedRead + ironrdp_tokio::FramedWrite, @@ -401,7 +544,16 @@ where // But this does not seem to matter so far, so we stringify the IP address of the client instead. let client_computer_name = ironrdp_connector::ServerName::new(client_addr.to_string()); - let result = credssp_loop(framed, &mut buf, client_computer_name, gateway_public_key, credentials).await; + let result = credssp_loop( + framed, + &mut buf, + client_computer_name, + gateway_public_key, + credentials, + network_client, + kerberos_server_config, + ) + .await; if security_protocol.intersects(nego::SecurityProtocol::HYBRID_EX) { trace!(?result, "HYBRID_EX"); @@ -426,21 +578,34 @@ where client_computer_name: ironrdp_connector::ServerName, public_key: Vec, credentials: &crate::credential::AppCredential, + mut network_client: Option<&mut ReqwestNetworkClient>, + kerberos_server_config: Option, ) -> anyhow::Result<()> where S: ironrdp_tokio::FramedRead + ironrdp_tokio::FramedWrite, { - let crate::credential::AppCredential::UsernamePassword { username, password } = credentials; + let crate::credential::AppCredential::UsernamePassword { + username, + domain, + password, + } = credentials; - let username = ironrdp_connector::sspi::Username::parse(username).context("invalid username")?; + let username = + ironrdp_connector::sspi::Username::new(username, domain.as_deref()).context("invalid username")?; let identity = ironrdp_connector::sspi::AuthIdentity { username, password: password.expose_secret().to_owned().into(), }; - let mut sequence = - ironrdp_acceptor::credssp::CredsspSequence::init(&identity, client_computer_name, public_key, None)?; + info!(?identity, ?client_computer_name, "CREDSFORTHECLIENT"); + + let mut sequence = ironrdp_acceptor::credssp::CredsspSequence::init( + &identity, + client_computer_name, + public_key, + kerberos_server_config, + )?; loop { let Some(next_pdu_hint) = sequence.next_pdu_hint()? else { @@ -456,7 +621,16 @@ where break; }; - let result = sequence.process_ts_request(ts_request); + let result = { + let mut generator = sequence.process_ts_request(ts_request); + + if let Some(network_client_ref) = network_client.as_deref_mut() { + resolve_server_generator(&mut generator, network_client_ref).await + } else { + panic!("network client is missing"); + } + }; // drop generator + buf.clear(); let written = sequence.handle_process_result(result, buf)?; From 1fa8838bf45e2df44626d63e7f04b239b881ea07 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 25 Jun 2025 21:39:42 +0300 Subject: [PATCH 02/12] refactor(devolutions-gateway): small refactoring; --- devolutions-gateway/src/generic_client.rs | 1 - devolutions-gateway/src/rdp_proxy.rs | 35 ++--------------------- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/devolutions-gateway/src/generic_client.rs b/devolutions-gateway/src/generic_client.rs index 4b9cea2ff..13c1d9c48 100644 --- a/devolutions-gateway/src/generic_client.rs +++ b/devolutions-gateway/src/generic_client.rs @@ -118,7 +118,6 @@ where span.record("target", selected_target.to_string()); let is_rdp = claims.jet_ap == token::ApplicationProtocol::Known(token::Protocol::Rdp); - trace!(is_rdp, "IS_RDP????"); let info = SessionInfo::builder() .id(claims.jet_aid) diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index 86bc9badb..132295892 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -55,8 +55,6 @@ where C: AsyncRead + AsyncWrite + Unpin + Send + Sync, S: AsyncRead + AsyncWrite + Unpin + Send + Sync, { - info!("started RDP proxy!"); - let RdpProxy { conf, session_info, @@ -87,24 +85,17 @@ where tls_conf.acceptor.clone(), )); - info!("gateway public key is here"); - // -- Dual handshake with the client and the server until the TLS security upgrade -- // let mut client_framed = ironrdp_tokio::TokioFramed::new_with_leftover(client_stream, client_stream_leftover_bytes); let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream); - info!("framed streams are here"); - let handshake_result = dual_handshake_until_tls_upgrade(&mut client_framed, &mut server_framed, credential_mapping).await?; - info!("the handshakes are done!"); let client_stream = client_framed.into_inner_no_leftover(); let server_stream = server_framed.into_inner_no_leftover(); - info!("Handshake is done!"); - // -- Perform the TLS upgrading for both the client and the server, effectively acting as a man-in-the-middle -- // let client_tls_upgrade_fut = tls_conf.acceptor.accept(client_stream); @@ -112,8 +103,6 @@ where let (client_stream, server_stream) = tokio::join!(client_tls_upgrade_fut, server_tls_upgrade_fut); - info!("TLS upgrade futures finished!"); - let client_stream = client_stream .inspect_err(|err| warn!(?err, "client stream error")) .context("TLS upgrade with client failed")?; @@ -121,8 +110,6 @@ where .inspect_err(|err| warn!(?err, "server stream error")) .context("TLS upgrade with server failed")?; - info!("TLS upgrade is done!"); - let server_public_key = extract_tls_server_public_key(&server_stream).context("extract target server TLS public key")?; let gateway_public_key = gateway_public_key_handle.await??; @@ -132,8 +119,6 @@ where let mut client_framed = ironrdp_tokio::TokioFramed::new(client_stream); let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream); - warn!("START CREDSSPS STAGES"); - let krb_server_config = if conf.debug.enable_unstable { if let Some(KerberosServer { max_time_skew, @@ -195,7 +180,6 @@ where // client_credssp_res.context("CredSSP with client")?; // server_credssp_res.context("CredSSP with server")?; client_credssp_fut.await.context("CredSSP with client")?; - warn!("CREDSASPWITHCLIENTFINISHED"); server_credssp_fut.await.context("CredSSP with server")?; // -- Intercept the Connect Confirm PDU, to override the server_security_protocol field -- // @@ -344,17 +328,11 @@ where .await .context("send connection request to server")?; - info!("sent"); - let (_, received_frame) = server_framed.read_pdu().await.context("read PDU from server")?; - info!("pdu has been read"); - let received_connection_confirm: x224::X224 = ironrdp_core::decode(&received_frame).context("decode PDU from server")?; trace!(message = ?received_connection_confirm, "Received Connection Confirm PDU from server"); - debug!("before match"); - let (connection_confirm_to_send, handshake_result) = match &received_connection_confirm.0 { nego::ConnectionConfirm::Response { flags, @@ -411,8 +389,6 @@ where { use ironrdp_tokio::FramedWrite as _; - info!(?credentials, "CREDSFORTHESERVER targetccredscheck"); - let (credentials, domain) = match credentials { crate::credential::AppCredential::UsernamePassword { username, @@ -427,8 +403,6 @@ where ), }; - info!(?credentials, "CREDSFORTHESERVER"); - let (mut sequence, mut ts_request) = ironrdp_connector::credssp::CredsspSequence::init( credentials, domain, @@ -448,10 +422,9 @@ where let mut generator = sequence.process_ts_request(ts_request); if let Some(network_client_ref) = network_client.as_deref_mut() { - trace!("resolving network"); resolve_client_generator(&mut generator, network_client_ref).await? } else { - panic!("network client is missing") + generator.resolve_to_result().context("sspi generator resolve")? } }; // drop generator @@ -556,8 +529,6 @@ where .await; if security_protocol.intersects(nego::SecurityProtocol::HYBRID_EX) { - trace!(?result, "HYBRID_EX"); - let result = if result.is_ok() { EarlyUserAuthResult::Success } else { @@ -598,8 +569,6 @@ where password: password.expose_secret().to_owned().into(), }; - info!(?identity, ?client_computer_name, "CREDSFORTHECLIENT"); - let mut sequence = ironrdp_acceptor::credssp::CredsspSequence::init( &identity, client_computer_name, @@ -627,7 +596,7 @@ where if let Some(network_client_ref) = network_client.as_deref_mut() { resolve_server_generator(&mut generator, network_client_ref).await } else { - panic!("network client is missing"); + generator.resolve_to_result() } }; // drop generator From 9710afcf6bf76d5c97a3d920a686b42c6a24f09b Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 25 Jun 2025 22:00:34 +0300 Subject: [PATCH 03/12] refactor(devolutions-gateway): code clean-up; --- devolutions-gateway/src/rdp_proxy.rs | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index 132295892..e5fa9b6cc 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -11,7 +11,7 @@ use crate::subscriber::SubscriberSender; use anyhow::Context as _; use ironrdp_acceptor::credssp::CredsspProcessGenerator as CredsspServerProcessGenerator; -use ironrdp_connector::credssp::{CredsspProcessGenerator as CredsspClientProcessGenerator, KerberosConfig}; +use ironrdp_connector::credssp::CredsspProcessGenerator as CredsspClientProcessGenerator; use ironrdp_connector::sspi::credssp::{ClientState, ServerError, ServerState}; use ironrdp_connector::sspi::generator::GeneratorState; use ironrdp_connector::sspi::kerberos::ServerProperties; @@ -103,12 +103,8 @@ where let (client_stream, server_stream) = tokio::join!(client_tls_upgrade_fut, server_tls_upgrade_fut); - let client_stream = client_stream - .inspect_err(|err| warn!(?err, "client stream error")) - .context("TLS upgrade with client failed")?; - let server_stream = server_stream - .inspect_err(|err| warn!(?err, "server stream error")) - .context("TLS upgrade with server failed")?; + let client_stream = client_stream.context("TLS upgrade with client failed")?; + let server_stream = server_stream.context("TLS upgrade with server failed")?; let server_public_key = extract_tls_server_public_key(&server_stream).context("extract target server TLS public key")?; @@ -176,11 +172,9 @@ where Some(&mut network_client), ); - // let (client_credssp_res, server_credssp_res) = tokio::join!(client_credssp_fut, server_credssp_fut); - // client_credssp_res.context("CredSSP with client")?; - // server_credssp_res.context("CredSSP with server")?; - client_credssp_fut.await.context("CredSSP with client")?; - server_credssp_fut.await.context("CredSSP with server")?; + let (client_credssp_res, server_credssp_res) = tokio::join!(client_credssp_fut, server_credssp_fut); + client_credssp_res.context("CredSSP with client")?; + server_credssp_res.context("CredSSP with server")?; // -- Intercept the Connect Confirm PDU, to override the server_security_protocol field -- // @@ -409,10 +403,8 @@ where security_protocol, ironrdp_connector::ServerName::new(server_name), server_public_key, - Some(KerberosConfig { - kdc_proxy_url: Some(url::Url::parse("tcp://192.168.1.103:88").unwrap()), - hostname: Some("myroniuk-p-laptop".into()), - }), + // We do not need to specify the Kerberos config here: the sspi-rs can automatically resolve the KDC host via DNS and/or env variable. + None, )?; let mut buf = ironrdp_pdu::WriteBuf::new(); @@ -529,6 +521,8 @@ where .await; if security_protocol.intersects(nego::SecurityProtocol::HYBRID_EX) { + trace!(?result, "HYBRID_EX"); + let result = if result.is_ok() { EarlyUserAuthResult::Success } else { From b57f76711d16749da8f18a01cd020755a1e4b965 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Thu, 26 Jun 2025 12:57:20 +0300 Subject: [PATCH 04/12] refactor(devolutions-gateway): more doc comments; --- devolutions-gateway/src/config.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index 8760fb376..4ac45a82d 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1145,11 +1145,24 @@ pub mod dto { pub password: String, } - /// Kerberos server config. + /// Kerberos server config + /// + /// This config is used to configure the kerberos server during RDP proxying. #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] pub struct KerberosServer { + /// The maximum allowed time difference between client and proxy clocks + /// + /// The value must be in seconds. pub max_time_skew: u64, + /// Ticket decryption key + /// + /// This key is used to decrypt the TGS ticket sent by the client. If you do not plan + /// to use Kerberos U2U authentication, then the `ticket_decryption_key' is required. pub ticket_decryption_key: Option>, + /// The domain user credentials for the Kerberos U2U authentication + /// + /// This field is needed only for Kerberos User-to-User authentication. If you do not plan + /// to use Kerberos U2U, do not specify it. pub service_user: Option, } @@ -1193,6 +1206,9 @@ pub mod dto { #[serde(default = "ws_keep_alive_interval_default_value")] pub ws_keep_alive_interval: u64, + /// Kerberos application server configuration + /// + /// It is used only during RDP proxying. pub kerberos_server: Option, /// Enable unstable features which may break at any point From 27bf53cf79dccd579e81600e74ed8aabadaab5cc Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Thu, 26 Jun 2025 14:10:42 +0300 Subject: [PATCH 05/12] refactor(devolitions-gateway): better error handling; --- devolutions-gateway/src/config.rs | 2 +- devolutions-gateway/src/rdp_proxy.rs | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index 4ac45a82d..4d71a2375 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1147,7 +1147,7 @@ pub mod dto { /// Kerberos server config /// - /// This config is used to configure the kerberos server during RDP proxying. + /// This config is used to configure the Kerberos server during RDP proxying. #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] pub struct KerberosServer { /// The maximum allowed time difference between client and proxy clocks diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index e5fa9b6cc..b6fd032a5 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -16,7 +16,7 @@ use ironrdp_connector::sspi::credssp::{ClientState, ServerError, ServerState}; use ironrdp_connector::sspi::generator::GeneratorState; use ironrdp_connector::sspi::kerberos::ServerProperties; use ironrdp_connector::sspi::{ - AuthIdentityBuffers, CredentialsBuffers, KerberosConfig as SspiKerberosConfig, KerberosServerConfig, + self, AuthIdentityBuffers, CredentialsBuffers, KerberosConfig as SspiKerberosConfig, KerberosServerConfig, }; use ironrdp_pdu::{mcs, nego, x224}; use ironrdp_tokio::reqwest::ReqwestNetworkClient; @@ -456,7 +456,14 @@ async fn resolve_server_generator( loop { match state { GeneratorState::Suspended(request) => { - let response = network_client.send(&request).await.expect("todo"); + let response = network_client + .send(&request) + .await + .inspect_err(|err| error!(?err, "Failed to send a Kerberos message")) + .map_err(|err| ServerError { + ts_request: None, + error: sspi::Error::new(sspi::ErrorKind::InternalError, err), + })?; state = generator.resume(Ok(response)); } GeneratorState::Completed(client_state) => { @@ -555,10 +562,9 @@ where password, } = credentials; - let username = - ironrdp_connector::sspi::Username::new(username, domain.as_deref()).context("invalid username")?; + let username = sspi::Username::new(username, domain.as_deref()).context("invalid username")?; - let identity = ironrdp_connector::sspi::AuthIdentity { + let identity = sspi::AuthIdentity { username, password: password.expose_secret().to_owned().into(), }; From 0f2099f6815c57928c714066bfecef20d8664f62 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Tue, 8 Jul 2025 13:54:29 +0300 Subject: [PATCH 06/12] refactor(devolutions-gateway): rdp proxy small refactoring; --- devolutions-gateway/src/rdp_proxy.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index b6fd032a5..b3b0ac4a4 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -456,14 +456,10 @@ async fn resolve_server_generator( loop { match state { GeneratorState::Suspended(request) => { - let response = network_client - .send(&request) - .await - .inspect_err(|err| error!(?err, "Failed to send a Kerberos message")) - .map_err(|err| ServerError { - ts_request: None, - error: sspi::Error::new(sspi::ErrorKind::InternalError, err), - })?; + let response = network_client.send(&request).await.map_err(|err| ServerError { + ts_request: None, + error: sspi::Error::new(sspi::ErrorKind::InternalError, err), + })?; state = generator.resume(Ok(response)); } GeneratorState::Completed(client_state) => { From 97633ca4992ea18e645af42a0766a757f29e1be7 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Thu, 6 Nov 2025 18:32:13 +0200 Subject: [PATCH 07/12] feat(devolutions-gateway): remove domain from credentials and update Kerberos server config; --- devolutions-gateway/src/config.rs | 17 +++++++++++- devolutions-gateway/src/credential.rs | 6 +---- devolutions-gateway/src/rdp_proxy.rs | 39 +++++++++++++-------------- 3 files changed, 35 insertions(+), 27 deletions(-) diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index 4d71a2375..d4dd2b303 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1140,9 +1140,14 @@ pub mod dto { /// Domain user credentials. #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] pub struct DomainUser { + /// Username in FQDN format (e.g. "pw13@example.com"). pub username: String, - pub domain: String, + // User password. pub password: String, + /// Salt for generating the user's key. + /// + /// Usually, it is equal to `{REALM}{username}` (e.g. "EXAMPLEpw13"). + pub salt: String, } /// Kerberos server config @@ -1150,10 +1155,20 @@ pub mod dto { /// This config is used to configure the Kerberos server during RDP proxying. #[derive(PartialEq, Eq, Debug, Clone, Serialize, Deserialize)] pub struct KerberosServer { + /// KDC and Kerberos Application Server realm. + /// + /// For example, `cd9bee03-b0aa-49dd-bad7-568b595c8024.jet`. + pub realm: String, + /// Users credentials inside fake KDC. + pub users: Vec, /// The maximum allowed time difference between client and proxy clocks /// /// The value must be in seconds. pub max_time_skew: u64, + /// krbtgt service key. + /// + /// This key is used to encrypt/decrypt TGT tickets. + pub krbtgt_key: Vec, /// Ticket decryption key /// /// This key is used to decrypt the TGS ticket sent by the client. If you do not plan diff --git a/devolutions-gateway/src/credential.rs b/devolutions-gateway/src/credential.rs index a16103051..9779f33bb 100644 --- a/devolutions-gateway/src/credential.rs +++ b/devolutions-gateway/src/credential.rs @@ -14,11 +14,7 @@ use uuid::Uuid; #[serde(tag = "kind")] pub enum AppCredential { #[serde(rename = "username-password")] - UsernamePassword { - username: String, - domain: Option, - password: Password, - }, + UsernamePassword { username: String, password: Password }, } /// Application protocol level credential mapping diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index b3b0ac4a4..90b5c9b9b 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -2,8 +2,8 @@ use std::net::{IpAddr, SocketAddr}; use std::sync::Arc; use std::time::Duration; -use crate::config::dto::{DomainUser, KerberosServer}; use crate::config::Conf; +use crate::config::dto::{DomainUser, KerberosServer}; use crate::credential::{AppCredentialMapping, ArcCredentialEntry}; use crate::proxy::Proxy; use crate::session::{DisconnectInterest, SessionInfo, SessionMessageSender}; @@ -117,6 +117,9 @@ where let krb_server_config = if conf.debug.enable_unstable { if let Some(KerberosServer { + realm: _, + users: _, + krbtgt_key: _, max_time_skew, ticket_decryption_key, service_user, @@ -125,10 +128,13 @@ where let user = service_user.as_ref().map(|user| { let DomainUser { username, - domain, password, + salt: _, } = user; - CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8(username, domain, password)) + CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8( + username, // The username is in the FQDN format. Thus, the domain field can be empty. + "", password, + )) }); Some(KerberosServerConfig { @@ -383,23 +389,18 @@ where { use ironrdp_tokio::FramedWrite as _; - let (credentials, domain) = match credentials { - crate::credential::AppCredential::UsernamePassword { - username, - domain, - password, - } => ( + let credentials = match credentials { + crate::credential::AppCredential::UsernamePassword { username, password } => { ironrdp_connector::Credentials::UsernamePassword { username: username.clone(), password: password.expose_secret().to_owned(), - }, - domain.as_deref(), - ), + } + } }; let (mut sequence, mut ts_request) = ironrdp_connector::credssp::CredsspSequence::init( credentials, - domain, + None, security_protocol, ironrdp_connector::ServerName::new(server_name), server_public_key, @@ -484,9 +485,9 @@ async fn resolve_client_generator( GeneratorState::Completed(client_state) => { break client_state.map_err(|e| { ironrdp_connector::ConnectorError::new("CredSSP", ironrdp_connector::ConnectorErrorKind::Credssp(e)) - }) + }); } - } + }; } } @@ -552,13 +553,9 @@ where where S: ironrdp_tokio::FramedRead + ironrdp_tokio::FramedWrite, { - let crate::credential::AppCredential::UsernamePassword { - username, - domain, - password, - } = credentials; + let crate::credential::AppCredential::UsernamePassword { username, password } = credentials; - let username = sspi::Username::new(username, domain.as_deref()).context("invalid username")?; + let username = sspi::Username::new(username, None).context("invalid username")?; let identity = sspi::AuthIdentity { username, From dab0c6305f3997536bb7002af331f7aafbc2d742 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Thu, 6 Nov 2025 19:18:31 +0200 Subject: [PATCH 08/12] refactor(devolutions-gateway): small refactoring; --- devolutions-gateway/src/config.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index d4dd2b303..6e5ea2888 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1142,7 +1142,7 @@ pub mod dto { pub struct DomainUser { /// Username in FQDN format (e.g. "pw13@example.com"). pub username: String, - // User password. + /// User password. pub password: String, /// Salt for generating the user's key. /// @@ -1172,7 +1172,7 @@ pub mod dto { /// Ticket decryption key /// /// This key is used to decrypt the TGS ticket sent by the client. If you do not plan - /// to use Kerberos U2U authentication, then the `ticket_decryption_key' is required. + /// to use Kerberos U2U authentication, then the `ticket_decryption_key` is required. pub ticket_decryption_key: Option>, /// The domain user credentials for the Kerberos U2U authentication /// From 72f41e4d4d083bace9702319033b4b99c8ceafa7 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 12 Nov 2025 17:13:32 +0200 Subject: [PATCH 09/12] feat(devolutions-gateway): implement custom network client for rdp proxy and add ability to configure KDC addr; --- Cargo.lock | 93 --------------- devolutions-gateway/Cargo.toml | 2 +- devolutions-gateway/src/api/kdc_proxy.rs | 108 +++++++++--------- devolutions-gateway/src/config.rs | 5 + devolutions-gateway/src/rdp_proxy.rs | 103 +++++++++++------ .../src/rdp_proxy/network_client.rs | 20 ++++ 6 files changed, 147 insertions(+), 184 deletions(-) create mode 100644 devolutions-gateway/src/rdp_proxy/network_client.rs diff --git a/Cargo.lock b/Cargo.lock index fc658fdb1..31baf0346 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1805,18 +1805,6 @@ dependencies = [ "winreg 0.55.0", ] -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -2271,12 +2259,6 @@ dependencies = [ "http 1.4.0", ] -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hermit-abi" version = "0.5.2" @@ -2295,51 +2277,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" -[[package]] -name = "hickory-proto" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand 0.8.5", - "thiserror 1.0.69", - "tinyvec", - "tokio 1.48.0", - "tracing", - "url", -] - -[[package]] -name = "hickory-resolver" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" -dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot", - "rand 0.8.5", - "resolv-conf", - "smallvec", - "thiserror 1.0.69", - "tokio 1.48.0", - "tracing", -] - [[package]] name = "hkdf" version = "0.13.0-rc.2" @@ -3155,11 +3092,7 @@ checksum = "6a5815ae4dd7866a6730efb653281406a77fd1f5426d77dd959fc04e3512410f" dependencies = [ "bytes 1.11.0", "ironrdp-async 0.6.0", - "ironrdp-connector 0.6.0", - "reqwest", - "sspi 0.16.1", "tokio 1.48.0", - "url", ] [[package]] @@ -3585,12 +3518,6 @@ dependencies = [ "zerocopy 0.7.35", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3640,15 +3567,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "lru-slab" version = "0.1.2" @@ -5422,7 +5340,6 @@ checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" dependencies = [ "base64 0.22.1", "bytes 1.11.0", - "futures-channel", "futures-core", "futures-util", "h2 0.4.12", @@ -5457,12 +5374,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "resolv-conf" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" - [[package]] name = "retour" version = "0.4.0-alpha.4" @@ -6324,7 +6235,6 @@ dependencies = [ "cfg-if", "crypto-mac", "futures", - "hickory-resolver", "hmac 0.12.1", "lazy_static", "md-5 0.10.6", @@ -6338,12 +6248,9 @@ dependencies = [ "picky-asn1-der 0.5.4", "picky-asn1-x509 0.14.6", "picky-krb 0.11.3", - "portpicker", "rand 0.8.5", - "reqwest", "rsa 0.9.9", "rustls 0.23.35", - "rustls-native-certs", "serde", "serde_derive", "sha1 0.10.6", diff --git a/devolutions-gateway/Cargo.toml b/devolutions-gateway/Cargo.toml index 2904b3e1f..32810c2b1 100644 --- a/devolutions-gateway/Cargo.toml +++ b/devolutions-gateway/Cargo.toml @@ -37,7 +37,7 @@ sysevent-codes.path = "../crates/sysevent-codes" ironrdp-pdu = { version = "0.5", features = ["std"] } ironrdp-core = { version = "0.1", features = ["std"] } ironrdp-rdcleanpath = "0.1" -ironrdp-tokio = { version = "0.6", features = ["reqwest"] } +ironrdp-tokio = "0.6" ironrdp-connector = { version = "0.6" } ironrdp-acceptor = { version = "0.6" } ceviche = "0.7" diff --git a/devolutions-gateway/src/api/kdc_proxy.rs b/devolutions-gateway/src/api/kdc_proxy.rs index 29017d74f..0943302e7 100644 --- a/devolutions-gateway/src/api/kdc_proxy.rs +++ b/devolutions-gateway/src/api/kdc_proxy.rs @@ -11,6 +11,7 @@ use tokio::net::{TcpStream, UdpSocket}; use crate::DgwState; use crate::http::{HttpError, HttpErrorBuilder}; +use crate::target_addr::TargetAddr; use crate::token::AccessTokenClaims; pub fn make_router(state: DgwState) -> Router { @@ -87,11 +88,55 @@ async fn kdc_proxy( &claims.krb_kdc }; + let kdc_reply_message = send_krb_message(kdc_addr, &kdc_proxy_message.kerb_message.0.0).await?; + + let kdc_reply_message = KdcProxyMessage::from_raw_kerb_message(&kdc_reply_message) + .map_err(HttpError::internal().with_msg("couldn’t create KDC proxy reply").err())?; + + trace!(?kdc_reply_message, "Sending back KDC reply"); + + kdc_reply_message.to_vec().map_err(HttpError::internal().err()) +} + +async fn read_kdc_reply_message(connection: &mut TcpStream) -> io::Result> { + let len = connection.read_u32().await?; + let mut buf = vec![0; (len + 4).try_into().expect("u32-to-usize")]; + buf[0..4].copy_from_slice(&(len.to_be_bytes())); + connection.read_exact(&mut buf[4..]).await?; + Ok(buf) +} + +#[track_caller] +fn unable_to_reach_kdc_server_err(error: io::Error) -> HttpError { + use io::ErrorKind; + + let builder = match error.kind() { + ErrorKind::TimedOut => HttpErrorBuilder::new(StatusCode::GATEWAY_TIMEOUT), + ErrorKind::ConnectionRefused => HttpError::bad_gateway(), + ErrorKind::ConnectionAborted => HttpError::bad_gateway(), + ErrorKind::ConnectionReset => HttpError::bad_gateway(), + ErrorKind::BrokenPipe => HttpError::bad_gateway(), + ErrorKind::OutOfMemory => HttpError::internal(), + // FIXME: once stabilized use new IO error variants + // - https://github.com/rust-lang/rust/pull/106375 + // - https://github.com/rust-lang/rust/issues/86442 + // ErrorKind::NetworkDown => HttpErrorBuilder::new(StatusCode::SERVICE_UNAVAILABLE), + // ErrorKind::NetworkUnreachable => HttpError::bad_gateway(), + // ErrorKind::HostUnreachable => HttpError::bad_gateway(), + // TODO: When the above is applied, we can return an internal error in the fallback branch. + _ => HttpError::bad_gateway(), + }; + + builder.with_msg("unable to reach KDC server").build(error) +} + +/// Sends the Kerberos message to the specified KDC address. +pub async fn send_krb_message(kdc_addr: &TargetAddr, message: &[u8]) -> Result, HttpError> { let protocol = kdc_addr.scheme(); debug!("Connecting to KDC server located at {kdc_addr} using protocol {protocol}..."); - let kdc_reply_message = if protocol == "tcp" { + if protocol == "tcp" { #[allow(clippy::redundant_closure)] // We get a better caller location for the error by using a closure. let mut connection = TcpStream::connect(kdc_addr.as_addr()).await.map_err(|e| { error!(%kdc_addr, "failed to connect to KDC server"); @@ -100,22 +145,19 @@ async fn kdc_proxy( trace!("Connected! Forwarding KDC message..."); - connection - .write_all(&kdc_proxy_message.kerb_message.0.0) - .await - .map_err( - HttpError::bad_gateway() - .with_msg("unable to send the message to the KDC server") - .err(), - )?; + connection.write_all(message).await.map_err( + HttpError::bad_gateway() + .with_msg("unable to send the message to the KDC server") + .err(), + )?; trace!("Reading KDC reply..."); - read_kdc_reply_message(&mut connection).await.map_err( + Ok(read_kdc_reply_message(&mut connection).await.map_err( HttpError::bad_gateway() .with_msg("unable to read KDC reply message") .err(), - )? + )?) } else { // We assume that ticket length is not bigger than 2048 bytes. let mut buf = [0; 2048]; @@ -133,7 +175,7 @@ async fn kdc_proxy( // First 4 bytes contains message length. We don't need it for UDP. #[allow(clippy::redundant_closure)] // We get a better caller location for the error by using a closure. udp_socket - .send_to(&kdc_proxy_message.kerb_message.0.0[4..], kdc_addr.as_addr()) + .send_to(&message[4..], kdc_addr.as_addr()) .await .map_err(|e| unable_to_reach_kdc_server_err(e))?; @@ -148,45 +190,7 @@ async fn kdc_proxy( let mut reply_buf = Vec::new(); reply_buf.extend_from_slice(&u32::try_from(n).expect("n not too big").to_be_bytes()); reply_buf.extend_from_slice(&buf[0..n]); - reply_buf - }; - - let kdc_reply_message = KdcProxyMessage::from_raw_kerb_message(&kdc_reply_message) - .map_err(HttpError::internal().with_msg("couldn’t create KDC proxy reply").err())?; - - trace!(?kdc_reply_message, "Sending back KDC reply"); - - kdc_reply_message.to_vec().map_err(HttpError::internal().err()) -} - -async fn read_kdc_reply_message(connection: &mut TcpStream) -> io::Result> { - let len = connection.read_u32().await?; - let mut buf = vec![0; (len + 4).try_into().expect("u32-to-usize")]; - buf[0..4].copy_from_slice(&(len.to_be_bytes())); - connection.read_exact(&mut buf[4..]).await?; - Ok(buf) -} - -#[track_caller] -fn unable_to_reach_kdc_server_err(error: io::Error) -> HttpError { - use io::ErrorKind; - let builder = match error.kind() { - ErrorKind::TimedOut => HttpErrorBuilder::new(StatusCode::GATEWAY_TIMEOUT), - ErrorKind::ConnectionRefused => HttpError::bad_gateway(), - ErrorKind::ConnectionAborted => HttpError::bad_gateway(), - ErrorKind::ConnectionReset => HttpError::bad_gateway(), - ErrorKind::BrokenPipe => HttpError::bad_gateway(), - ErrorKind::OutOfMemory => HttpError::internal(), - // FIXME: once stabilized use new IO error variants - // - https://github.com/rust-lang/rust/pull/106375 - // - https://github.com/rust-lang/rust/issues/86442 - // ErrorKind::NetworkDown => HttpErrorBuilder::new(StatusCode::SERVICE_UNAVAILABLE), - // ErrorKind::NetworkUnreachable => HttpError::bad_gateway(), - // ErrorKind::HostUnreachable => HttpError::bad_gateway(), - // TODO: When the above is applied, we can return an internal error in the fallback branch. - _ => HttpError::bad_gateway(), - }; - - builder.with_msg("unable to reach KDC server").build(error) + Ok(reply_buf) + } } diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index 6e5ea2888..2535568f7 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1179,6 +1179,11 @@ pub mod dto { /// This field is needed only for Kerberos User-to-User authentication. If you do not plan /// to use Kerberos U2U, do not specify it. pub service_user: Option, + /// KDC server url. + /// + /// **Only TCP and UDP schemas are supported.** + /// If the DNS is configured, you can omit it. + pub kdc_url: Option, } /// Unsafe debug options that should only ever be used at development stage diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy.rs index 90b5c9b9b..45ddfed63 100644 --- a/devolutions-gateway/src/rdp_proxy.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -1,3 +1,5 @@ +mod network_client; + use std::net::{IpAddr, SocketAddr}; use std::sync::Arc; use std::time::Duration; @@ -6,12 +8,13 @@ use crate::config::Conf; use crate::config::dto::{DomainUser, KerberosServer}; use crate::credential::{AppCredentialMapping, ArcCredentialEntry}; use crate::proxy::Proxy; +use crate::rdp_proxy::network_client::NetworkClient; use crate::session::{DisconnectInterest, SessionInfo, SessionMessageSender}; use crate::subscriber::SubscriberSender; use anyhow::Context as _; use ironrdp_acceptor::credssp::CredsspProcessGenerator as CredsspServerProcessGenerator; -use ironrdp_connector::credssp::CredsspProcessGenerator as CredsspClientProcessGenerator; +use ironrdp_connector::credssp::{CredsspProcessGenerator as CredsspClientProcessGenerator, KerberosConfig}; use ironrdp_connector::sspi::credssp::{ClientState, ServerError, ServerState}; use ironrdp_connector::sspi::generator::GeneratorState; use ironrdp_connector::sspi::kerberos::ServerProperties; @@ -19,7 +22,6 @@ use ironrdp_connector::sspi::{ self, AuthIdentityBuffers, CredentialsBuffers, KerberosConfig as SspiKerberosConfig, KerberosServerConfig, }; use ironrdp_pdu::{mcs, nego, x224}; -use ironrdp_tokio::reqwest::ReqwestNetworkClient; use tokio::io::{AsyncRead, AsyncWrite, AsyncWriteExt}; use typed_builder::TypedBuilder; @@ -115,7 +117,7 @@ where let mut client_framed = ironrdp_tokio::TokioFramed::new(client_stream); let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream); - let krb_server_config = if conf.debug.enable_unstable { + let (krb_server_config, network_client) = if conf.debug.enable_unstable { if let Some(KerberosServer { realm: _, users: _, @@ -123,6 +125,7 @@ where max_time_skew, ticket_decryption_key, service_user, + kdc_url: _, }) = conf.debug.kerberos_server.as_ref() { let user = service_user.as_ref().map(|user| { @@ -131,51 +134,75 @@ where password, salt: _, } = user; - CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8( - username, // The username is in the FQDN format. Thus, the domain field can be empty. - "", password, - )) + // The username is in the FQDN format. Thus, the domain field can be empty. + CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8(username, "", password)) }); - Some(KerberosServerConfig { - kerberos_config: SspiKerberosConfig { - // The sspi will automatically try to resolve the KDC host via DNS and/or environment variable. - kdc_url: None, - client_computer_name: Some(client_addr.to_string()), - }, - server_properties: ServerProperties::new( - &["TERMSRV", &gateway_hostname], - user, - Duration::from_secs(*max_time_skew), - ticket_decryption_key.clone(), - )?, - }) + ( + Some(KerberosServerConfig { + kerberos_config: SspiKerberosConfig { + kdc_url: None, + client_computer_name: Some(client_addr.to_string()), + }, + server_properties: ServerProperties::new( + &["TERMSRV", &gateway_hostname], + user, + Duration::from_secs(*max_time_skew), + ticket_decryption_key.clone(), + )?, + }), + Some(NetworkClient::new()), + ) } else { - None + (None, None) } } else { - None + (None, None) }; - let mut network_client = ReqwestNetworkClient::new(); let client_credssp_fut = perform_credssp_with_client( &mut client_framed, client_addr.ip(), gateway_public_key, handshake_result.client_security_protocol, &credential_mapping.proxy, - Some(&mut network_client), + network_client, krb_server_config, ); - let mut network_client = ReqwestNetworkClient::new(); + let (krb_client_config, network_client) = if conf.debug.enable_unstable { + if let Some(KerberosServer { + realm: _, + users: _, + krbtgt_key: _, + max_time_skew: _, + ticket_decryption_key: _, + service_user: _, + kdc_url, + }) = conf.debug.kerberos_server.as_ref() + { + ( + Some(KerberosConfig { + kdc_proxy_url: kdc_url.clone(), + hostname: None, + }), + Some(NetworkClient::new()), + ) + } else { + (None, None) + } + } else { + (None, None) + }; + let server_credssp_fut = perform_credssp_with_server( &mut server_framed, server_dns_name, server_public_key, handshake_result.server_security_protocol, &credential_mapping.target, - Some(&mut network_client), + krb_client_config, + network_client, ); let (client_credssp_res, server_credssp_res) = tokio::join!(client_credssp_fut, server_credssp_fut); @@ -382,7 +409,8 @@ async fn perform_credssp_with_server( server_public_key: Vec, security_protocol: nego::SecurityProtocol, credentials: &crate::credential::AppCredential, - mut network_client: Option<&mut ReqwestNetworkClient>, + kerberos_config: Option, + network_client: Option, ) -> anyhow::Result<()> where S: ironrdp_tokio::FramedRead + ironrdp_tokio::FramedWrite, @@ -404,8 +432,7 @@ where security_protocol, ironrdp_connector::ServerName::new(server_name), server_public_key, - // We do not need to specify the Kerberos config here: the sspi-rs can automatically resolve the KDC host via DNS and/or env variable. - None, + kerberos_config, )?; let mut buf = ironrdp_pdu::WriteBuf::new(); @@ -414,7 +441,7 @@ where let client_state = { let mut generator = sequence.process_ts_request(ts_request); - if let Some(network_client_ref) = network_client.as_deref_mut() { + if let Some(network_client_ref) = network_client.as_ref() { resolve_client_generator(&mut generator, network_client_ref).await? } else { generator.resolve_to_result().context("sspi generator resolve")? @@ -450,7 +477,7 @@ where async fn resolve_server_generator( generator: &mut CredsspServerProcessGenerator<'_>, - network_client: &mut ReqwestNetworkClient, + network_client: &NetworkClient, ) -> Result { let mut state = generator.start(); @@ -472,8 +499,8 @@ async fn resolve_server_generator( async fn resolve_client_generator( generator: &mut CredsspClientProcessGenerator<'_>, - network_client: &mut ReqwestNetworkClient, -) -> ironrdp_connector::ConnectorResult { + network_client: &NetworkClient, +) -> anyhow::Result { let mut state = generator.start(); loop { @@ -483,9 +510,9 @@ async fn resolve_client_generator( state = generator.resume(Ok(response)); } GeneratorState::Completed(client_state) => { - break client_state.map_err(|e| { + break Ok(client_state.map_err(|e| { ironrdp_connector::ConnectorError::new("CredSSP", ironrdp_connector::ConnectorErrorKind::Credssp(e)) - }); + })?); } }; } @@ -498,7 +525,7 @@ async fn perform_credssp_with_client( gateway_public_key: Vec, security_protocol: nego::SecurityProtocol, credentials: &crate::credential::AppCredential, - network_client: Option<&mut ReqwestNetworkClient>, + network_client: Option, kerberos_server_config: Option, ) -> anyhow::Result<()> where @@ -547,7 +574,7 @@ where client_computer_name: ironrdp_connector::ServerName, public_key: Vec, credentials: &crate::credential::AppCredential, - mut network_client: Option<&mut ReqwestNetworkClient>, + network_client: Option, kerberos_server_config: Option, ) -> anyhow::Result<()> where @@ -586,7 +613,7 @@ where let result = { let mut generator = sequence.process_ts_request(ts_request); - if let Some(network_client_ref) = network_client.as_deref_mut() { + if let Some(network_client_ref) = network_client.as_ref() { resolve_server_generator(&mut generator, network_client_ref).await } else { generator.resolve_to_result() diff --git a/devolutions-gateway/src/rdp_proxy/network_client.rs b/devolutions-gateway/src/rdp_proxy/network_client.rs new file mode 100644 index 000000000..9839f5612 --- /dev/null +++ b/devolutions-gateway/src/rdp_proxy/network_client.rs @@ -0,0 +1,20 @@ +use ironrdp_connector::sspi; + +use crate::api::kdc_proxy::send_krb_message; +use crate::target_addr::TargetAddr; + +pub(super) struct NetworkClient; + +impl NetworkClient { + pub(super) fn new() -> Self { + Self {} + } + + pub(super) async fn send(&self, request: &sspi::generator::NetworkRequest) -> anyhow::Result> { + let target_addr = TargetAddr::parse(request.url.as_str(), Some(88))?; + + send_krb_message(&target_addr, &request.data) + .await + .map_err(|err| anyhow::Error::msg("failed to send KDC message").context(err)) + } +} From ff27015188ade58af3b9d8636e7008a57daebc37 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 12 Nov 2025 17:16:15 +0200 Subject: [PATCH 10/12] refactor(devolutions-gateway): restructure modules; --- devolutions-gateway/src/{rdp_proxy.rs => rdp_proxy/mod.rs} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename devolutions-gateway/src/{rdp_proxy.rs => rdp_proxy/mod.rs} (100%) diff --git a/devolutions-gateway/src/rdp_proxy.rs b/devolutions-gateway/src/rdp_proxy/mod.rs similarity index 100% rename from devolutions-gateway/src/rdp_proxy.rs rename to devolutions-gateway/src/rdp_proxy/mod.rs From e2b634fa524bb2ca7ee487a47ba9d59837fa61c4 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 12 Nov 2025 18:10:26 +0200 Subject: [PATCH 11/12] refactor(devolutions-gateway): small refactoring; --- Cargo.lock | 2296 +++++++++------------- devolutions-gateway/src/config.rs | 2 +- devolutions-gateway/src/rdp_proxy/mod.rs | 83 +- 3 files changed, 1015 insertions(+), 1366 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 31baf0346..c8ad22937 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,12 +10,12 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" -version = "0.6.0-rc.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8202ab55fcbf46ca829833f347a82a2a4ce0596f0304ac322c2d100030cd56" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "crypto-common 0.2.0-rc.4", - "inout 0.2.0-rc.6", + "crypto-common", + "generic-array", ] [[package]] @@ -25,30 +25,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher 0.4.4", - "cpufeatures", -] - -[[package]] -name = "aes" -version = "0.9.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e713c57c2a2b19159e7be83b9194600d7e8eb3b7c2cd67e671adf47ce189a05" -dependencies = [ - "cfg-if", - "cipher 0.5.0-rc.1", + "cipher", "cpufeatures", ] [[package]] name = "aes-gcm" -version = "0.11.0-rc.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0686ba04dc80c816104c96cd7782b748f6ad58c5dd4ee619ff3258cf68e83d54" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ "aead", - "aes 0.9.0-rc.1", - "cipher 0.5.0-rc.1", + "aes", + "cipher", "ctr", "ghash", "subtle", @@ -56,12 +45,11 @@ dependencies = [ [[package]] name = "aes-kw" -version = "0.3.0-rc.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02eaa2d54d0fad0116e4b1efb65803ea0bf059ce970a67cd49718d87e807cb51" +checksum = "69fa2b352dcefb5f7f3a5fb840e02665d311d878955380515e4fd50095dd3d8c" dependencies = [ - "aes 0.9.0-rc.1", - "const-oid 0.10.1", + "aes", ] [[package]] @@ -73,14 +61,14 @@ dependencies = [ "cfg-if", "once_cell", "version_check", - "zerocopy 0.8.30", + "zerocopy 0.8.26", ] [[package]] name = "aho-corasick" -version = "1.1.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -91,12 +79,12 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2477554ebf38aea815a9c4729100cfc32f766876c45b9c9c38ef221b9d1a703" dependencies = [ - "axum 0.8.7", + "axum 0.8.6", "axum-extra", - "bytes 1.11.0", + "bytes 1.10.1", "cfg-if", - "http 1.4.0", - "indexmap 2.12.1", + "http 1.3.1", + "indexmap 2.10.0", "schemars", "serde", "serde_json", @@ -124,9 +112,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.13" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anyhow" @@ -179,9 +167,9 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", "synstructure", ] @@ -191,19 +179,20 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "assert_cmd" -version = "2.1.1" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85" +checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" dependencies = [ "anstyle", "bstr", + "doc-comment", "libc", "predicates", "predicates-core", @@ -236,9 +225,9 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -269,9 +258,9 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -280,9 +269,9 @@ version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -311,9 +300,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.15.1" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b5ce75405893cd713f9ab8e297d8e438f624dde7d706108285f7e17a25a180f" +checksum = "879b6c89592deb404ba4dc0ae6b58ffd1795c78991cbb5b8bc441c48a070440d" dependencies = [ "aws-lc-sys", "untrusted 0.7.1", @@ -322,14 +311,16 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.34.0" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "179c3777a8b5e70e90ea426114ffc565b2c1a9f82f6c4a0c5a34aa6ef5e781b6" +checksum = "a2b715a6010afb9e457ca2b7c9d2b9c344baa8baed7b38dc476034c171b32575" dependencies = [ + "bindgen 0.72.1", "cc", "cmake", "dunce", "fs_extra", + "libloading", ] [[package]] @@ -341,7 +332,7 @@ dependencies = [ "async-trait", "axum-core 0.3.4", "bitflags 1.3.2", - "bytes 1.11.0", + "bytes 1.10.1", "futures-util", "http 0.2.12", "http-body 0.4.6", @@ -362,19 +353,19 @@ dependencies = [ [[package]] name = "axum" -version = "0.8.7" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" +checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" dependencies = [ "axum-core 0.5.5", "base64 0.22.1", - "bytes 1.11.0", + "bytes 1.10.1", "form_urlencoded", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.8.1", + "hyper 1.6.0", "hyper-util", "itoa", "matchit 0.8.4", @@ -386,7 +377,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sha1 0.10.6", + "sha1", "sync_wrapper 1.0.2", "tokio 1.48.0", "tokio-tungstenite 0.28.0", @@ -403,7 +394,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" dependencies = [ "async-trait", - "bytes 1.11.0", + "bytes 1.10.1", "futures-util", "http 0.2.12", "http-body 0.4.6", @@ -419,9 +410,9 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "futures-core", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "mime", @@ -438,13 +429,13 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96" dependencies = [ - "axum 0.8.7", + "axum 0.8.6", "axum-core 0.5.5", - "bytes 1.11.0", + "bytes 1.10.1", "form_urlencoded", "futures-util", "headers", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "mime", @@ -483,12 +474,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" -[[package]] -name = "base16ct" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b59d472eab27ade8d770dcb11da7201c11234bef9f82ce7aa517be028d462b" - [[package]] name = "base256emoji" version = "1.0.2" @@ -535,13 +520,12 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bb8" -version = "0.9.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "457d7ed3f888dfd2c7af56d4975cade43c622f74bdcddfed6d4352f57acc6310" +checksum = "212d8b8e1a22743d9241575c6ba822cf9c8fef34771c86ab7e477a4fbfd254e5" dependencies = [ "futures-util", "parking_lot", - "portable-atomic", "tokio 1.48.0", ] @@ -571,7 +555,7 @@ version = "0.66.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "cexpr", "clang-sys", "lazy_static", @@ -579,15 +563,35 @@ dependencies = [ "log", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.111", + "syn 2.0.104", "which", ] +[[package]] +name = "bindgen" +version = "0.72.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +dependencies = [ + "bitflags 2.9.4", + "cexpr", + "clang-sys", + "itertools", + "log", + "prettyplease", + "proc-macro2 1.0.95", + "quote 1.0.40", + "regex", + "rustc-hash 2.1.1", + "shlex", + "syn 2.0.104", +] + [[package]] name = "bit-set" version = "0.8.0" @@ -605,9 +609,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bit_field" -version = "0.10.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" [[package]] name = "bitflags" @@ -617,9 +621,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "bitvec" @@ -639,7 +643,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -651,15 +655,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-buffer" -version = "0.11.0-rc.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ef36a6fcdb072aa548f3da057640ec10859eb4e91ddf526ee648d50c76a949" -dependencies = [ - "hybrid-array", -] - [[package]] name = "block-padding" version = "0.3.3" @@ -669,38 +664,20 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.4.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e59c1aab3e6c5e56afe1b7e8650be9b5a791cb997bdea449194ae62e4bf8c73" -dependencies = [ - "hybrid-array", -] - -[[package]] -name = "block2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] - [[package]] name = "borsh" -version = "1.6.0" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "cfg_aliases", ] [[package]] name = "bstr" -version = "1.12.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" dependencies = [ "memchr", "regex-automata", @@ -736,9 +713,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "bytes" -version = "1.11.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] @@ -754,11 +731,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.2.1" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" dependencies = [ - "serde_core", + "serde", ] [[package]] @@ -767,25 +744,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "cbc" -version = "0.2.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dbf9e5b071e9de872e32b73f485e8f644ff47c7011d95476733e7482ee3e5c3" -dependencies = [ - "cipher 0.5.0-rc.1", + "cipher", ] [[package]] name = "cc" -version = "1.2.47" +version = "1.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" +checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" dependencies = [ - "find-msvc-tools", "jobserver", "libc", "shlex", @@ -842,7 +809,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -851,19 +818,8 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common 0.1.7", - "inout 0.1.4", -] - -[[package]] -name = "cipher" -version = "0.5.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e12a13eb01ded5d32ee9658d94f553a19e804204f2dc811df69ab4d9e0cb8c7" -dependencies = [ - "block-buffer 0.11.0-rc.5", - "crypto-common 0.2.0-rc.4", - "inout 0.2.0-rc.6", + "crypto-common", + "inout", ] [[package]] @@ -901,12 +857,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const-oid" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dabb6555f92fb9ee4140454eb5dcd14c7960e1225c6d1a6cc361f032947713e" - [[package]] name = "const-str" version = "0.4.3" @@ -950,9 +900,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.5.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -1019,43 +969,32 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf1e6e5492f8f0830c37f301f6349e0dac8b2466e4fe89eef90e9eef906cd046" dependencies = [ - "crypto-common 0.1.7", + "crypto-common", ] [[package]] name = "crypto-bigint" -version = "0.7.0-rc.8" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4113edbc9f68c0a64d5b911f803eb245d04bb812680fd56776411f69c670f3e0" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "hybrid-array", - "num-traits", - "rand_core 0.9.3", - "serdect", + "generic-array", + "rand_core 0.6.4", "subtle", "zeroize", ] [[package]] name = "crypto-common" -version = "0.1.7" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] -[[package]] -name = "crypto-common" -version = "0.2.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8235645834fbc6832939736ce2f2d08192652269e11010a6240f61b908a1c6" -dependencies = [ - "hybrid-array", - "rand_core 0.9.3", -] - [[package]] name = "crypto-mac" version = "0.11.0" @@ -1066,47 +1005,35 @@ dependencies = [ "subtle", ] -[[package]] -name = "crypto-primes" -version = "0.7.0-pre.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f2523fbb68811c8710829417ad488086720a6349e337c38d12fa81e09e50bf" -dependencies = [ - "crypto-bigint", - "libm", - "rand_core 0.9.3", -] - [[package]] name = "ctr" -version = "0.10.0-rc.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27e41d01c6f73b9330177f5cf782ae5b581b5f2c7840e298e0275ceee5001434" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.5.0-rc.1", + "cipher", ] [[package]] name = "ctrlc" -version = "3.5.1" +version = "3.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73" dependencies = [ - "dispatch2", "nix 0.30.1", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] name = "curve25519-dalek" -version = "5.0.0-pre.1" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f9200d1d13637f15a6acb71e758f64624048d85b31a5fdbfd8eca1e2687d0b7" +checksum = "373b7c5dbd637569a2cca66e8d66b8c446a1e7bf064ea321d265d7b3dfe7c97e" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest 0.11.0-rc.3", + "digest", "fiat-crypto", "rustc_version", "subtle", @@ -1119,9 +1046,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -1147,7 +1074,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.111", + "syn 2.0.104", ] [[package]] @@ -1156,19 +1083,9 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid 0.9.6", + "const-oid", "der_derive", "flagset", - "zeroize", -] - -[[package]] -name = "der" -version = "0.8.0-rc.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d8dd2f26c86b27a2a8ea2767ec7f9df7a89516e4794e54ac01ee618dda3aa4" -dependencies = [ - "const-oid 0.10.1", "pem-rfc7468", "zeroize", ] @@ -1192,19 +1109,19 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" dependencies = [ "powerfmt", - "serde_core", + "serde", ] [[package]] @@ -1213,8 +1130,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c9d94d81e3819a7b06a8638f448bc6339371ca9b6076a99d4a43eece3c4c923" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] @@ -1224,16 +1141,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e" dependencies = [ - "cipher 0.4.4", -] - -[[package]] -name = "des" -version = "0.9.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f51594a70805988feb1c85495ddec0c2052e4fbe59d9c0bb7f94bfc164f4f90" -dependencies = [ - "cipher 0.5.0-rc.1", + "cipher", ] [[package]] @@ -1261,7 +1169,7 @@ dependencies = [ "rustls-pemfile 2.2.0", "serde", "serde_json", - "sha2 0.10.9", + "sha2", "tap", "thiserror 2.0.17", "tokio 1.48.0", @@ -1282,8 +1190,8 @@ dependencies = [ "serde_json", "thiserror 2.0.17", "uuid", - "windows-registry 0.5.3", - "windows-result 0.3.4", + "windows-registry", + "windows-result", ] [[package]] @@ -1293,11 +1201,11 @@ dependencies = [ "anyhow", "argon2", "async-trait", - "axum 0.8.7", + "axum 0.8.6", "axum-extra", "backoff", - "bitflags 2.10.0", - "bytes 1.11.0", + "bitflags 2.9.4", + "bytes 1.10.1", "cadeau", "camino", "ceviche", @@ -1316,7 +1224,7 @@ dependencies = [ "hex", "hostname 0.4.1", "http-body-util", - "hyper 1.8.1", + "hyper 1.6.0", "hyper-util", "ironrdp-acceptor 0.6.0", "ironrdp-connector 0.6.0", @@ -1335,7 +1243,7 @@ dependencies = [ "parking_lot", "pcap-file", "picky", - "picky-krb 0.11.3", + "picky-krb 0.11.0", "pin-project-lite 0.2.16", "portpicker", "proptest", @@ -1347,7 +1255,7 @@ dependencies = [ "serde-querystring", "serde_json", "serde_urlencoded", - "sha2 0.10.9", + "sha2", "smol_str", "sysevent", "sysevent-codes", @@ -1419,8 +1327,8 @@ dependencies = [ "aide", "anyhow", "async-trait", - "axum 0.8.7", - "base16ct 0.2.0", + "axum 0.8.6", + "base16ct", "base64 0.22.1", "bb8", "bb8-postgres", @@ -1430,18 +1338,18 @@ dependencies = [ "devolutions-agent-shared", "devolutions-gateway-task", "devolutions-pedm-shared", - "digest 0.10.7", + "digest", "dunce", "futures-util", - "hyper 1.8.1", + "hyper 1.6.0", "hyper-util", "libsql", "parking_lot", "schemars", "serde", "serde_json", - "sha1 0.10.6", - "sha2 0.10.9", + "sha1", + "sha2", "tokio 1.48.0", "tokio-postgres", "tower 0.5.2", @@ -1497,7 +1405,7 @@ dependencies = [ "tower 0.3.1", "uuid", "win-api-wrappers", - "windows-registry 0.5.3", + "windows-registry", ] [[package]] @@ -1551,21 +1459,9 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", - "const-oid 0.9.6", - "crypto-common 0.1.7", - "subtle", -] - -[[package]] -name = "digest" -version = "0.11.0-rc.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac89f8a64533a9b0eaa73a68e424db0fb1fd6271c74cc0125336a05f090568d" -dependencies = [ - "block-buffer 0.11.0-rc.5", - "const-oid 0.10.1", - "crypto-common 0.2.0-rc.4", + "block-buffer", + "const-oid", + "crypto-common", "subtle", ] @@ -1590,27 +1486,15 @@ dependencies = [ "winapi", ] -[[package]] -name = "dispatch2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" -dependencies = [ - "bitflags 2.10.0", - "block2", - "libc", - "objc2", -] - [[package]] name = "displaydoc" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -1653,16 +1537,22 @@ dependencies = [ [[package]] name = "dns-lookup" -version = "2.1.1" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5597a4b7fe5275fc9dcf88ce26326bc8e4cb87d0130f33752d4c5f717793cf" +checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc" dependencies = [ "cfg-if", "libc", - "socket2 0.6.1", - "windows-sys 0.60.2", + "socket2 0.5.10", + "windows-sys 0.48.0", ] +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + [[package]] name = "dunce" version = "1.0.5" @@ -1671,9 +1561,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.20" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "dynosaur" @@ -1690,9 +1580,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b0713d5c1d52e774c5cd7bb8b043d7c0fc4f921abfb678556140bfbe6ab2364" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -1719,46 +1609,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b066b81018300fdce40f71c4db355a102699324af96fad28f25ab1b5f87de066" dependencies = [ "ebml-iterable-specification", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] [[package]] name = "ecdsa" -version = "0.17.0-rc.7" +version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ab355ec063f7a110eb627471058093aba00eb7f4e70afbd15e696b79d1077b" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der 0.8.0-rc.9", - "digest 0.11.0-rc.3", + "der", + "digest", "elliptic-curve", "rfc6979", - "signature 3.0.0-rc.4", - "spki 0.8.0-rc.4", - "zeroize", + "signature", + "spki", ] [[package]] name = "ed25519" -version = "3.0.0-rc.1" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef49c0b20c0ad088893ad2a790a29c06a012b3f05bcfc66661fd22a94b32129" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "pkcs8 0.11.0-rc.7", - "signature 3.0.0-rc.4", + "pkcs8", + "signature", ] [[package]] name = "ed25519-dalek" -version = "3.0.0-pre.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad207ed88a133091f83224265eac21109930db09bedcad05d5252f2af2de20a1" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core 0.9.3", - "sha2 0.11.0-rc.2", + "rand_core 0.6.4", + "serde", + "sha2", "subtle", "zeroize", ] @@ -1771,21 +1661,20 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" -version = "0.14.0-rc.15" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e3be87c458d756141f3b6ee188828132743bf90c7d14843e2835d6443e5fb03" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct 0.3.0", + "base16ct", "crypto-bigint", - "digest 0.11.0-rc.3", + "digest", "ff", + "generic-array", "group", "hkdf", - "hybrid-array", - "once_cell", "pem-rfc7468", - "pkcs8 0.11.0-rc.7", - "rand_core 0.9.3", + "pkcs8", + "rand_core 0.6.4", "sec1", "subtle", "zeroize", @@ -1813,12 +1702,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.14" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.60.2", ] [[package]] @@ -1877,11 +1766,11 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "ff" -version = "0.14.0-pre.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d42dd26f5790eda47c1a2158ea4120e32c35ddc9a7743c98a292accc01b54ef3" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.6.4", "subtle", ] @@ -1891,12 +1780,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" -[[package]] -name = "find-msvc-tools" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" - [[package]] name = "flagset" version = "0.4.7" @@ -1905,9 +1788,9 @@ checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" [[package]] name = "flate2" -version = "1.1.5" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -2029,9 +1912,9 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -2091,9 +1974,9 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.7" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" +checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" dependencies = [ "cc", "cfg-if", @@ -2111,6 +1994,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -2122,30 +2006,31 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "js-sys", "libc", "r-efi", - "wasip2", + "wasi 0.14.2+wasi-0.2.4", "wasm-bindgen", ] [[package]] name = "ghash" -version = "0.6.0-rc.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f88107cb02ed63adcc4282942e60c4d09d80208d33b360ce7c729ce6dae1739" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ + "opaque-debug", "polyval", ] @@ -2157,28 +2042,28 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "group" -version = "0.14.0-pre.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff6a0b2dd4b981b1ae9e3e6830ab146771f3660d31d57bafd9018805a91b0f1" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core 0.9.3", + "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.27" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "fnv", "futures-core", "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.12.1", + "indexmap 2.10.0", "slab", "tokio 1.48.0", "tokio-util", @@ -2187,17 +2072,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.12" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", - "bytes 1.11.0", + "bytes 1.10.1", "fnv", "futures-core", "futures-sink", - "http 1.4.0", - "indexmap 2.12.1", + "http 1.3.1", + "indexmap 2.10.0", "slab", "tokio 1.48.0", "tokio-util", @@ -2222,9 +2107,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.16.1" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "hashlink" @@ -2242,12 +2127,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" dependencies = [ "base64 0.22.1", - "bytes 1.11.0", + "bytes 1.10.1", "headers-core", - "http 1.4.0", + "http 1.3.1", "httpdate", "mime", - "sha1 0.10.6", + "sha1", ] [[package]] @@ -2256,7 +2141,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http 1.4.0", + "http 1.3.1", ] [[package]] @@ -2273,17 +2158,17 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-literal" -version = "1.1.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" [[package]] name = "hkdf" -version = "0.13.0-rc.2" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8ef30358b03ca095a5b910547f4f8d4b9f163e4057669c5233ef595b1ecf008" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac 0.13.0-rc.2", + "hmac", ] [[package]] @@ -2292,25 +2177,16 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "hmac" -version = "0.13.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3fd4dc94c318c1ede8a2a48341c250d6ddecd3ba793da2820301a9f92417ad9" -dependencies = [ - "digest 0.11.0-rc.3", + "digest", ] [[package]] name = "home" -version = "0.5.12" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2341,18 +2217,19 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "fnv", "itoa", ] [[package]] name = "http" -version = "1.4.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", + "fnv", "itoa", ] @@ -2362,7 +2239,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "http 0.2.12", "pin-project-lite 0.2.16", ] @@ -2373,8 +2250,8 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ - "bytes 1.11.0", - "http 1.4.0", + "bytes 1.10.1", + "http 1.3.1", ] [[package]] @@ -2383,9 +2260,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "futures-core", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite 0.2.16", ] @@ -2416,20 +2293,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.3.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" - -[[package]] -name = "hybrid-array" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0" -dependencies = [ - "subtle", - "typenum", - "zeroize", -] +checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" [[package]] name = "hyper" @@ -2437,11 +2303,11 @@ version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "futures-channel", "futures-core", "futures-util", - "h2 0.3.27", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -2457,22 +2323,20 @@ dependencies = [ [[package]] name = "hyper" -version = "1.8.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ - "atomic-waker", - "bytes 1.11.0", + "bytes 1.10.1", "futures-channel", - "futures-core", - "h2 0.4.12", - "http 1.4.0", + "futures-util", + "h2 0.4.11", + "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite 0.2.16", - "pin-utils", "smallvec", "tokio 1.48.0", "want", @@ -2484,10 +2348,10 @@ version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "http 1.4.0", - "hyper 1.8.1", + "http 1.3.1", + "hyper 1.6.0", "hyper-util", - "rustls 0.23.35", + "rustls 0.23.33", "rustls-native-certs", "rustls-pki-types", "tokio 1.48.0", @@ -2513,7 +2377,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "hyper 0.14.32", "native-tls", "tokio 1.48.0", @@ -2522,35 +2386,35 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.18" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ "base64 0.22.1", - "bytes 1.11.0", + "bytes 1.10.1", "futures-channel", "futures-core", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", - "hyper 1.8.1", + "hyper 1.6.0", "ipnet", "libc", "percent-encoding", "pin-project-lite 0.2.16", - "socket2 0.6.1", + "socket2 0.6.0", "system-configuration", "tokio 1.48.0", "tower-service", "tracing", - "windows-registry 0.6.1", + "windows-registry", ] [[package]] name = "iana-time-zone" -version = "0.1.64" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2558,7 +2422,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.2", + "windows-core 0.61.2", ] [[package]] @@ -2581,9 +2445,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", "potential_utf", @@ -2594,9 +2458,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -2607,10 +2471,11 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ + "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -2621,38 +2486,42 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "2.1.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ + "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", + "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.1.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "2.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", "icu_locale_core", + "stable_deref_trait", + "tinystr", "writeable", "yoke", "zerofrom", @@ -2703,14 +2572,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.12.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.15.4", "serde", - "serde_core", ] [[package]] @@ -2719,7 +2587,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "inotify-sys", "libc", ] @@ -2739,20 +2607,10 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ - "block-padding 0.3.3", + "block-padding", "generic-array", ] -[[package]] -name = "inout" -version = "0.2.0-rc.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1603f76010ff924b616c8f44815a42eb10fb0b93d308b41deaa8da6d4251fd4b" -dependencies = [ - "block-padding 0.4.0-rc.4", - "hybrid-array", -] - [[package]] name = "instant" version = "0.1.13" @@ -2782,9 +2640,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" -version = "0.7.9" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" dependencies = [ "memchr", "serde", @@ -2830,7 +2688,7 @@ name = "ironrdp-ainput" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "ironrdp-dvc", "ironrdp-pdu 0.1.0", "num-derive", @@ -2842,7 +2700,7 @@ name = "ironrdp-async" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "ironrdp-connector 0.1.0", "ironrdp-pdu 0.1.0", "tracing", @@ -2854,7 +2712,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "724ce488772b7850f6307b4d82559d87dadb7afdf816a35f6cf6e5a989a716f0" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "ironrdp-connector 0.6.0", "ironrdp-core", "ironrdp-pdu 0.5.0", @@ -2866,7 +2724,7 @@ name = "ironrdp-cliprdr" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "ironrdp-pdu 0.1.0", "ironrdp-svc 0.1.0", "thiserror 1.0.69", @@ -2899,8 +2757,8 @@ dependencies = [ "ironrdp-pdu 0.5.0", "ironrdp-svc 0.4.1", "picky", - "picky-asn1-der 0.5.4", - "picky-asn1-x509 0.14.6", + "picky-asn1-der 0.5.2", + "picky-asn1-x509 0.14.4", "rand_core 0.6.4", "sspi 0.16.1", "tracing", @@ -2955,7 +2813,7 @@ version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ "bit_field", - "bitflags 2.10.0", + "bitflags 2.9.4", "bitvec", "byteorder", "ironrdp-error 0.1.0", @@ -2972,17 +2830,17 @@ version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ "bit_field", - "bitflags 2.10.0", + "bitflags 2.9.4", "byteorder", "der-parser", "ironrdp-error 0.1.0", - "md-5 0.10.6", + "md-5", "num-bigint", "num-derive", "num-integer", "num-traits", - "pkcs1 0.7.5", - "sha1 0.10.6", + "pkcs1", + "sha1", "tap", "thiserror 1.0.69", "x509-cert", @@ -2995,18 +2853,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc69c5d6ad3399965e0d3762886857f5861d4d854efe8d2bfc3462eb2b2b555a" dependencies = [ "bit_field", - "bitflags 2.10.0", + "bitflags 2.9.4", "byteorder", "der-parser", "ironrdp-core", "ironrdp-error 0.1.3", - "md-5 0.10.6", + "md-5", "num-bigint", "num-derive", "num-integer", "num-traits", - "pkcs1 0.7.5", - "sha1 0.10.6", + "pkcs1", + "sha1", "tap", "thiserror 1.0.69", "x509-cert", @@ -3018,7 +2876,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3f5401de43e86384ac0f7f356af8c0bdc321671853f76095da5d480d6998e0" dependencies = [ - "der 0.7.10", + "der", ] [[package]] @@ -3026,7 +2884,7 @@ name = "ironrdp-rdpsnd" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "ironrdp-pdu 0.1.0", "ironrdp-svc 0.1.0", "tracing", @@ -3059,7 +2917,7 @@ name = "ironrdp-svc" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "ironrdp-pdu 0.1.0", ] @@ -3069,7 +2927,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98959b1f0f4e9ae705880c73d604ad8f8ebf99feb2e33507092773c4b091c76c" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "ironrdp-core", "ironrdp-pdu 0.5.0", ] @@ -3079,7 +2937,7 @@ name = "ironrdp-tokio" version = "0.1.0" source = "git+https://github.com/Devolutions/IronRDP?rev=2e1a9ac88e38e7d92d893007bc25d0a05c365861#2e1a9ac88e38e7d92d893007bc25d0a05c365861" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "ironrdp-async 0.1.0", "tokio 1.48.0", ] @@ -3090,7 +2948,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a5815ae4dd7866a6730efb653281406a77fd1f5426d77dd959fc04e3512410f" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "ironrdp-async 0.6.0", "tokio 1.48.0", ] @@ -3116,7 +2974,7 @@ version = "0.0.0" dependencies = [ "byteorder", "hex-literal", - "http 1.4.0", + "http 1.3.1", "httparse", "log", "uuid", @@ -3143,7 +3001,7 @@ dependencies = [ "proxy-socks", "proxy-types", "proxy_cfg", - "rustls 0.23.35", + "rustls 0.23.33", "rustls-native-certs", "rustls-pemfile 2.2.0", "seahorse", @@ -3172,7 +3030,7 @@ dependencies = [ name = "jmux-proto" version = "0.0.0" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "jmux-generators", "proptest", "smol_str", @@ -3184,7 +3042,7 @@ version = "0.0.0" dependencies = [ "anyhow", "bitvec", - "bytes 1.11.0", + "bytes 1.10.1", "futures-util", "jmux-proto", "socket2 0.5.10", @@ -3222,19 +3080,19 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.34" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.82" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -3242,9 +3100,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.2.0-rc.0" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d546793a04a1d3049bd192856f804cfe96356e2cf36b54b4e575155babe9f41" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -3286,18 +3144,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "lexical" -version = "7.0.5" +version = "7.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc8a009b2ff1f419ccc62706f04fe0ca6e67b37460513964a3dfdb919bb37d6" +checksum = "70ed980ff02623721dc334b9105150b66d0e1f246a92ab5a2eca0335d54c48f6" dependencies = [ "lexical-core", ] [[package]] name = "lexical-core" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +checksum = "b765c31809609075565a70b4b71402281283aeda7ecaf4818ac14a7b2ade8958" dependencies = [ "lexical-parse-float", "lexical-parse-integer", @@ -3308,46 +3166,53 @@ dependencies = [ [[package]] name = "lexical-parse-float" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +checksum = "de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2" dependencies = [ "lexical-parse-integer", "lexical-util", + "static_assertions", ] [[package]] name = "lexical-parse-integer" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +checksum = "72207aae22fc0a121ba7b6d479e42cbfea549af1479c3f3a4f12c70dd66df12e" dependencies = [ "lexical-util", + "static_assertions", ] [[package]] name = "lexical-util" -version = "1.0.7" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" +checksum = "5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3" +dependencies = [ + "static_assertions", +] [[package]] name = "lexical-write-float" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +checksum = "c5afc668a27f460fb45a81a757b6bf2f43c2d7e30cb5a2dcd3abf294c78d62bd" dependencies = [ "lexical-util", "lexical-write-integer", + "static_assertions", ] [[package]] name = "lexical-write-integer" -version = "1.0.6" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +checksum = "629ddff1a914a836fb245616a7888b62903aae58fa771e1d83943035efa0f978" dependencies = [ "lexical-util", + "static_assertions", ] [[package]] @@ -3358,12 +3223,12 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" -version = "0.8.9" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-targets 0.53.2", ] [[package]] @@ -3374,28 +3239,27 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "libc", - "redox_syscall", ] [[package]] name = "libsql" -version = "0.9.29" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2329faffc510cc3c6b4f00169a39177cc7099d3ed7647fc92f7cf26e53a8d976" +checksum = "a76ffc6aaaac50c1362ebd22f7db457336ab4ee72ee115aaea11f47edf9d7720" dependencies = [ "anyhow", "async-stream", "async-trait", "base64 0.21.7", "bincode", - "bitflags 2.10.0", - "bytes 1.11.0", + "bitflags 2.9.4", + "bytes 1.10.1", "chrono", "crc32fast", "fallible-iterator 0.3.0", @@ -3424,11 +3288,11 @@ dependencies = [ [[package]] name = "libsql-ffi" -version = "0.9.29" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cd1c1662822495393327856774f6803be25d85bfdcd5b9d4af35458f5daaf75" +checksum = "aaaa869a3c33a125231e8963f7890dae9c6de1ce4133e68121467203896203a0" dependencies = [ - "bindgen", + "bindgen 0.66.1", "cc", "cmake", "glob", @@ -3436,23 +3300,23 @@ dependencies = [ [[package]] name = "libsql-hrana" -version = "0.9.29" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "646d0aa75e412769018422f0da798f72e93bd51964f0b2ddad4317aa779ae444" +checksum = "28d0a122bc4af29ffe51a4bb27f7d1b61cf2a4ef5131dad3fecdf1f5fbc6329a" dependencies = [ "base64 0.21.7", - "bytes 1.11.0", + "bytes 1.10.1", "prost", "serde", ] [[package]] name = "libsql-rusqlite" -version = "0.9.29" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a4ce3a78c6e3c2b23b02ab6272df8340e1c53380497979d456882254f348d5f" +checksum = "5c2e7739b3828a547d21834779ea699a3b46c3dcfafba75da103d36adcb7c0ab" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "fallible-iterator 0.2.0", "fallible-streaming-iterator", "hashlink", @@ -3466,10 +3330,10 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15a90128c708356af8f7d767c9ac2946692c9112b4f74f07b99a01a60680e413" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "cc", "fallible-iterator 0.3.0", - "indexmap 2.12.1", + "indexmap 2.10.0", "log", "memchr", "phf 0.11.3", @@ -3480,11 +3344,11 @@ dependencies = [ [[package]] name = "libsql-sys" -version = "0.9.29" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a3c326fcfc36fe7578238d5ee6b58c529f8c76372acd61ec50267529cdaff95" +checksum = "b075329f2ea5a8dc2c61b0d92ec095f823505954e1413c0a5220b40b0e4b0083" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "libsql-ffi", "libsql-rusqlite", "once_cell", @@ -3494,15 +3358,15 @@ dependencies = [ [[package]] name = "libsql_replication" -version = "0.9.29" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9a2e469ac8400659bd31f81a745908bcc5cb6b40be2f2ff8de90b15bec5501" +checksum = "0b47841eedbf05399c552048a11529dcf1fe3d43c1ccc77de55209ba2769d44b" dependencies = [ - "aes 0.8.4", + "aes", "async-stream", "async-trait", - "bytes 1.11.0", - "cbc 0.1.2", + "bytes 1.10.1", + "cbc", "libsql-rusqlite", "libsql-sys", "parking_lot", @@ -3526,15 +3390,15 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" [[package]] name = "litemap" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" @@ -3588,8 +3452,8 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] @@ -3638,17 +3502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ "cfg-if", - "digest 0.10.7", -] - -[[package]] -name = "md-5" -version = "0.11.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ec86664728010f574d67ef01aec964e6f1299241a3402857c1a8a390a62478" -dependencies = [ - "cfg-if", - "digest 0.11.0-rc.3", + "digest", ] [[package]] @@ -3657,7 +3511,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da5ac363534dce5fabf69949225e174fbf111a498bf0ff794c8ea1fba9f3dda" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -3675,9 +3529,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "mime" @@ -3708,19 +3562,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", - "simd-adler32", ] [[package]] name = "mio" -version = "1.1.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "log", - "wasi", - "windows-sys 0.61.2", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -3762,7 +3615,7 @@ dependencies = [ "async-trait", "awaitdrop", "bitflags 1.3.2", - "bytes 1.11.0", + "bytes 1.10.1", "futures", "pin-project 1.1.10", "rand 0.8.5", @@ -3832,7 +3685,7 @@ version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "futures", "log", "netlink-packet-core", @@ -3846,7 +3699,7 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "futures", "libc", "log", @@ -3910,7 +3763,7 @@ dependencies = [ "anyhow", "crossbeam", "parking_lot", - "polling 3.11.0", + "polling 3.8.0", "socket2 0.5.10", "thiserror 2.0.17", "tokio 1.48.0", @@ -3937,7 +3790,7 @@ dependencies = [ "async-trait", "awaitdrop", "base64 0.13.1", - "bytes 1.11.0", + "bytes 1.10.1", "futures", "hostname 0.3.1", "muxado", @@ -3961,7 +3814,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "cfg-if", "libc", ] @@ -3972,7 +3825,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "cfg-if", "cfg_aliases", "libc", @@ -3996,11 +3849,11 @@ checksum = "9737e026353e5cd0736f98eddae28665118eb6f6600902a7f50db585621fecb6" [[package]] name = "notify" -version = "8.2.0" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" +checksum = "3163f59cd3fa0e9ef8c32f242966a7b9994fd7378366099593e0e73077cd8c97" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "fsevent-sys", "inotify", "kqueue", @@ -4036,7 +3889,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00ac734dd7c77bf952b96f9755ffbc72b888e5d860d35575729f1ee4822887d0" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "ironrdp-core", "ironrdp-error 0.1.3", "uuid", @@ -4053,11 +3906,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.50.3" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -4072,10 +3925,11 @@ dependencies = [ [[package]] name = "num-bigint-dig" -version = "0.8.6" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ + "byteorder", "lazy_static", "libm", "num-integer", @@ -4099,9 +3953,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -4153,35 +4007,20 @@ dependencies = [ "libc", ] -[[package]] -name = "objc2" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" -dependencies = [ - "objc2-encode", -] - [[package]] name = "objc2-core-foundation" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", ] -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - [[package]] name = "objc2-io-kit" -version = "0.3.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +checksum = "71c1c64d6120e51cd86033f67176b1cb66780c2efe34dec55176f77befd93c0a" dependencies = [ "libc", "objc2-core-foundation", @@ -4202,13 +4041,19 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + [[package]] name = "openssl" -version = "0.10.75" +version = "0.10.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "cfg-if", "foreign-types", "libc", @@ -4223,9 +4068,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -4236,9 +4081,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.111" +version = "0.9.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2" dependencies = [ "cc", "libc", @@ -4248,44 +4093,40 @@ dependencies = [ [[package]] name = "p256" -version = "0.14.0-pre.11" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b374901df34ee468167a58e2a49e468cb059868479cafebeb804f6b855423d" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ "ecdsa", "elliptic-curve", - "primefield", "primeorder", - "sha2 0.11.0-rc.2", + "sha2", ] [[package]] name = "p384" -version = "0.14.0-pre.11" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "701032b3730df6b882496d6cee8221de0ce4bc11ddc64e6d89784aa5b8a6de30" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" dependencies = [ "ecdsa", "elliptic-curve", - "fiat-crypto", - "primefield", "primeorder", - "sha2 0.11.0-rc.2", + "sha2", ] [[package]] name = "p521" -version = "0.14.0-pre.11" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ba29c2906eb5c89a8c411c4f11243ee4e5517ee7d71d9a13fedc877a6057b1" +checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2" dependencies = [ - "base16ct 0.3.0", + "base16ct", "ecdsa", "elliptic-curve", - "primefield", "primeorder", - "rand_core 0.9.3", - "sha2 0.11.0-rc.2", + "rand_core 0.6.4", + "sha2", ] [[package]] @@ -4308,7 +4149,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -4334,20 +4175,9 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", - "sha1 0.10.6", -] - -[[package]] -name = "pbkdf2" -version = "0.13.0-rc.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3fc18bb4460ac250ba6b75dfa7cf9d0b2273e3e623f660bd6ce2c3e902342e" -dependencies = [ - "digest 0.11.0-rc.3", - "hmac 0.13.0-rc.2", - "sha1 0.11.0-rc.2", + "digest", + "hmac", + "sha1", ] [[package]] @@ -4377,9 +4207,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "pem-rfc7468" -version = "1.0.0-rc.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e58fab693c712c0d4e88f8eb3087b6521d060bcaf76aeb20cb192d809115ba" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ "base64ct", ] @@ -4450,70 +4280,41 @@ dependencies = [ [[package]] name = "picky" -version = "7.0.0-rc.20" +version = "7.0.0-rc.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cdc52be663aebd70d7006ae305c87eb32a2b836d6c2f26f7e384f845d80b621" +checksum = "83be360ca0cc8659abfbda932098e606fe52fa129508b92f0ce2998c00679170" dependencies = [ - "aead", - "aes 0.9.0-rc.1", + "aes", "aes-gcm", "aes-kw", "base64 0.22.1", - "block-buffer 0.11.0-rc.5", - "block-padding 0.4.0-rc.4", - "cbc 0.2.0-rc.1", - "cipher 0.5.0-rc.1", - "crypto-bigint", - "crypto-common 0.2.0-rc.4", - "crypto-primes", - "ctr", - "curve25519-dalek", - "der 0.8.0-rc.9", - "des 0.9.0-rc.1", - "digest 0.11.0-rc.3", - "ecdsa", - "ed25519", + "cbc", + "des", + "digest", "ed25519-dalek", - "elliptic-curve", - "ff", - "ghash", - "group", "hex", - "hkdf", - "hmac 0.13.0-rc.2", - "http 1.4.0", - "inout 0.2.0-rc.6", - "keccak", - "md-5 0.11.0-rc.2", + "hmac", + "http 1.3.1", + "md-5", + "num-bigint-dig", "p256", "p384", "p521", - "pbkdf2 0.13.0-rc.1", - "pem-rfc7468", + "pbkdf2", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.4", - "picky-asn1-x509 0.15.2", - "pkcs1 0.8.0-rc.4", - "pkcs8 0.11.0-rc.7", - "polyval", - "primefield", - "primeorder", - "rand 0.9.2", - "rand_core 0.9.3", + "picky-asn1-der 0.5.2", + "picky-asn1-x509 0.14.4", + "rand 0.8.5", + "rand_core 0.6.4", "rc2", - "rfc6979", - "rsa 0.10.0-rc.9", - "sec1", + "rsa", "serde", "serde_json", - "sha1 0.11.0-rc.2", - "sha2 0.11.0-rc.2", + "sha1", + "sha2", "sha3", - "signature 3.0.0-rc.4", - "spki 0.8.0-rc.4", - "thiserror 2.0.17", + "thiserror 1.0.69", "time", - "universal-hash", "x25519-dalek", "zeroize", ] @@ -4556,9 +4357,9 @@ dependencies = [ [[package]] name = "picky-asn1-der" -version = "0.5.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b491eb61603cba1ad5c6be0269883538f8d74136c35e3641a840fb0fbcd41efc" +checksum = "9dccb53c26f70c082e008818f524bd45d057069517b047bd0c0ee062d6d7d7f2" dependencies = [ "picky-asn1 0.10.1", "serde", @@ -4581,30 +4382,17 @@ dependencies = [ [[package]] name = "picky-asn1-x509" -version = "0.14.6" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d493f73cf052073ca1fe38666f74c2396987aa6ea660e77dd624cc6c8f60389e" +checksum = "49f974c1b3348705c23887c4f3b90947b9f23566db8b032e48af59c91f888f6f" dependencies = [ "base64 0.22.1", + "num-bigint-dig", "oid", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.4", + "picky-asn1-der 0.5.2", "serde", "widestring 1.2.1", -] - -[[package]] -name = "picky-asn1-x509" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c97cd14d567a17755910fa8718277baf39d08682a980b1b1a4b4da7d0bc61a04" -dependencies = [ - "base64 0.22.1", - "crypto-bigint", - "oid", - "picky-asn1 0.10.1", - "picky-asn1-der 0.5.4", - "serde", "zeroize", ] @@ -4614,52 +4402,47 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f71cf61ebe6e657a81bcac31f9d61d52c23a1fd517b0dad77b915a7d3d15d2e8" dependencies = [ - "aes 0.8.4", + "aes", "byteorder", - "cbc 0.1.2", + "cbc", "crypto", - "des 0.8.1", - "hmac 0.12.1", + "des", + "hmac", "num-bigint-dig", "oid", - "pbkdf2 0.12.2", + "pbkdf2", "picky-asn1 0.8.0", "picky-asn1-der 0.4.1", "picky-asn1-x509 0.12.0", "rand 0.8.5", "serde", - "sha1 0.10.6", + "sha1", "thiserror 1.0.69", "uuid", ] [[package]] name = "picky-krb" -version = "0.11.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b13eb1a97b2293277b475f07d0c36c33579e2e71f852557015addcd95f8892" +checksum = "b45ffe5f2122cdda5e9059ab837a65ba1b77729db43fc1500f2fce6b27070eab" dependencies = [ - "aes 0.9.0-rc.1", - "block-buffer 0.11.0-rc.5", - "block-padding 0.4.0-rc.4", + "aes", "byteorder", - "cbc 0.2.0-rc.1", - "cipher 0.5.0-rc.1", - "crypto-bigint", - "crypto-common 0.2.0-rc.4", - "des 0.9.0-rc.1", - "digest 0.11.0-rc.3", - "hmac 0.13.0-rc.2", - "inout 0.2.0-rc.6", + "cbc", + "crypto", + "des", + "hmac", + "num-bigint-dig", "oid", - "pbkdf2 0.13.0-rc.1", + "pbkdf2", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.4", - "picky-asn1-x509 0.15.2", - "rand 0.9.2", + "picky-asn1-der 0.5.2", + "picky-asn1-x509 0.14.4", + "rand 0.8.5", "serde", - "sha1 0.11.0-rc.2", - "thiserror 2.0.17", + "sha1", + "thiserror 1.0.69", "uuid", ] @@ -4687,8 +4470,8 @@ version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", ] @@ -4698,9 +4481,9 @@ version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -4727,19 +4510,9 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "der 0.7.10", - "pkcs8 0.10.2", - "spki 0.7.3", -] - -[[package]] -name = "pkcs1" -version = "0.8.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" -dependencies = [ - "der 0.8.0-rc.9", - "spki 0.8.0-rc.4", + "der", + "pkcs8", + "spki", ] [[package]] @@ -4748,18 +4521,8 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.10", - "spki 0.7.3", -] - -[[package]] -name = "pkcs8" -version = "0.11.0-rc.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93eac55f10aceed84769df670ea4a32d2ffad7399400d41ee1c13b1cd8e1b478" -dependencies = [ - "der 0.8.0-rc.9", - "spki 0.8.0-rc.4", + "der", + "spki", ] [[package]] @@ -4786,35 +4549,31 @@ dependencies = [ [[package]] name = "polling" -version = "3.11.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +checksum = "b53a684391ad002dd6a596ceb6c74fd004fdce75f4be2e3f615068abbea5fd50" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi", "pin-project-lite 0.2.16", - "rustix 1.1.2", - "windows-sys 0.61.2", + "rustix 1.0.7", + "tracing", + "windows-sys 0.59.0", ] [[package]] name = "polyval" -version = "0.7.0-rc.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ffd40cc99d0fbb02b4b3771346b811df94194bc103983efa0203c8893755085" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", + "opaque-debug", "universal-hash", ] -[[package]] -name = "portable-atomic" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" - [[package]] name = "portpicker" version = "0.1.1" @@ -4832,23 +4591,23 @@ checksum = "fbef655056b916eb868048276cfd5d6a7dea4f81560dfd047f97c8c6fe3fcfd4" dependencies = [ "base64 0.22.1", "byteorder", - "bytes 1.11.0", + "bytes 1.10.1", "fallible-iterator 0.2.0", - "hmac 0.12.1", - "md-5 0.10.6", + "hmac", + "md-5", "memchr", - "rand 0.9.2", - "sha2 0.10.9", + "rand 0.9.1", + "sha2", "stringprep", ] [[package]] name = "postgres-types" -version = "0.2.11" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4605b7c057056dd35baeb6ac0c0338e4975b1f2bef0f65da953285eb007095" +checksum = "77a120daaabfcb0e324d5bf6e411e9222994cb3795c79943a0ef28ed27ea76e4" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "chrono", "fallible-iterator 0.2.0", "postgres-protocol", @@ -4856,9 +4615,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.4" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" dependencies = [ "zerovec", ] @@ -4875,7 +4634,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.30", + "zerocopy 0.8.26", ] [[package]] @@ -4907,41 +4666,28 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2 1.0.103", - "syn 2.0.111", -] - -[[package]] -name = "primefield" -version = "0.14.0-pre.6" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7fcd4a163053332fd93f39b81c133e96a98567660981654579c90a99062fbf5" +checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" dependencies = [ - "crypto-bigint", - "ff", - "rand_core 0.9.3", - "subtle", - "zeroize", + "proc-macro2 1.0.95", + "syn 2.0.104", ] [[package]] name = "primeorder" -version = "0.14.0-pre.9" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c36e8766fcd270fa9c665b9dc364f570695f5a59240949441b077a397f15b74" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ "elliptic-curve", ] [[package]] name = "proc-macro-crate" -version = "3.4.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ "toml_edit", ] @@ -4953,8 +4699,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "syn 1.0.109", "version_check", ] @@ -4965,8 +4711,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "version_check", ] @@ -4981,24 +4727,25 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] [[package]] name = "proptest" -version = "1.9.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.10.0", + "bitflags 2.9.4", + "lazy_static", "num-traits", - "rand 0.9.2", + "rand 0.9.1", "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", @@ -5013,7 +4760,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "prost-derive", ] @@ -5025,9 +4772,9 @@ checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -5042,7 +4789,7 @@ dependencies = [ name = "proxy-http" version = "0.0.0" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "pin-project-lite 0.2.16", "proptest", "proxy-generators", @@ -5105,18 +4852,18 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.9" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "cfg_aliases", "pin-project-lite 0.2.16", "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.35", - "socket2 0.6.1", + "rustls 0.23.33", + "socket2 0.5.10", "thiserror 2.0.17", "tokio 1.48.0", "tracing", @@ -5125,17 +4872,17 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.13" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ - "bytes 1.11.0", - "getrandom 0.3.4", + "bytes 1.10.1", + "getrandom 0.3.3", "lru-slab", - "rand 0.9.2", + "rand 0.9.1", "ring 0.17.14", "rustc-hash 2.1.1", - "rustls 0.23.35", + "rustls 0.23.33", "rustls-pki-types", "slab", "thiserror 2.0.17", @@ -5146,16 +4893,16 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.14" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.1", + "socket2 0.5.10", "tracing", - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -5169,11 +4916,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.42" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ - "proc-macro2 1.0.103", + "proc-macro2 1.0.95", ] [[package]] @@ -5201,9 +4948,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -5244,7 +4991,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.3", ] [[package]] @@ -5258,20 +5005,20 @@ dependencies = [ [[package]] name = "rc2" -version = "0.9.0-pre.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03621ac292cc723def9e0fd0eb9573b1df8d6a9ee7ad637fe94dfc153705f3c" +checksum = "62c64daa8e9438b84aaae55010a93f396f8e60e3911590fcba770d04643fc1dd" dependencies = [ - "cipher 0.5.0-rc.1", + "cipher", ] [[package]] name = "redox_syscall" -version = "0.5.18" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", ] [[package]] @@ -5287,9 +5034,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.12.2" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" dependencies = [ "aho-corasick", "memchr", @@ -5299,9 +5046,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" dependencies = [ "aho-corasick", "memchr", @@ -5310,9 +5057,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.8" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "region" @@ -5334,19 +5081,19 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ "base64 0.22.1", - "bytes 1.11.0", + "bytes 1.10.1", "futures-core", "futures-util", - "h2 0.4.12", - "http 1.4.0", + "h2 0.4.11", + "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.8.1", + "hyper 1.6.0", "hyper-rustls", "hyper-util", "js-sys", @@ -5354,7 +5101,7 @@ dependencies = [ "percent-encoding", "pin-project-lite 0.2.16", "quinn", - "rustls 0.23.35", + "rustls 0.23.33", "rustls-native-certs", "rustls-pki-types", "serde", @@ -5365,7 +5112,7 @@ dependencies = [ "tokio-rustls", "tokio-util", "tower 0.5.2", - "tower-http 0.6.7", + "tower-http 0.6.6", "tower-service", "url", "wasm-bindgen", @@ -5392,11 +5139,11 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.5.0-rc.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369f9c4f79388704648e7bcb92749c0d6cf4397039293a9b747694fa4fb4bae" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.13.0-rc.2", + "hmac", "subtle", ] @@ -5431,40 +5178,21 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.9" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" dependencies = [ - "const-oid 0.9.6", - "digest 0.10.7", + "const-oid", + "digest", "num-bigint-dig", "num-integer", "num-traits", - "pkcs1 0.7.5", - "pkcs8 0.10.2", + "pkcs1", + "pkcs8", "rand_core 0.6.4", - "sha1 0.10.6", - "signature 2.2.0", - "spki 0.7.3", - "subtle", - "zeroize", -] - -[[package]] -name = "rsa" -version = "0.10.0-rc.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf8955ab399f6426998fde6b76ae27233cce950705e758a6c17afd2f6d0e5d52" -dependencies = [ - "const-oid 0.10.1", - "crypto-bigint", - "crypto-primes", - "digest 0.11.0-rc.3", - "pkcs1 0.8.0-rc.4", - "pkcs8 0.11.0-rc.7", - "rand_core 0.9.3", - "signature 3.0.0-rc.4", - "spki 0.8.0-rc.4", + "sha1", + "signature", + "spki", "subtle", "zeroize", ] @@ -5490,12 +5218,12 @@ dependencies = [ "cfg-if", "glob", "proc-macro-crate", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "regex", "relative-path", "rustc_version", - "syn 2.0.111", + "syn 2.0.104", "unicode-ident", ] @@ -5553,7 +5281,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "errno", "libc", "linux-raw-sys 0.4.15", @@ -5562,15 +5290,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "errno", "libc", - "linux-raw-sys 0.11.0", - "windows-sys 0.61.2", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", ] [[package]] @@ -5587,9 +5315,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.35" +version = "0.23.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" +checksum = "751e04a496ca00bb97a5e043158d23d66b5aabf2e1d5aa2a0aaebb1aafe6f82c" dependencies = [ "aws-lc-rs", "log", @@ -5607,8 +5335,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c742cb7d8e43daae2dd9ca4b1da442b4500a461ce1c84249e6ac99b4bc12562e" dependencies = [ - "rustls 0.23.35", - "sha2 0.10.9", + "rustls 0.23.33", + "sha2", "windows-sys 0.59.0", ] @@ -5621,7 +5349,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.5.1", + "security-framework 3.2.0", ] [[package]] @@ -5644,9 +5372,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.13.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "web-time", "zeroize", @@ -5654,9 +5382,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.8" +version = "0.103.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" +checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb" dependencies = [ "aws-lc-rs", "ring 0.17.14", @@ -5666,15 +5394,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.22" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "rusty-fork" -version = "0.3.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" dependencies = [ "fnv", "quick-error", @@ -5705,11 +5433,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.28" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -5720,7 +5448,7 @@ checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" dependencies = [ "chrono", "dyn-clone", - "indexmap 2.12.1", + "indexmap 2.10.0", "schemars_derive", "serde", "serde_json", @@ -5733,10 +5461,10 @@ version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "serde_derive_internals", - "syn 2.0.111", + "syn 2.0.104", ] [[package]] @@ -5769,13 +5497,14 @@ checksum = "d25679a62f678e7485f21abdea76f91a15322a0fe51efea791fd9d124f1c473c" [[package]] name = "sec1" -version = "0.8.0-rc.10" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dff52f6118bc9f0ac974a54a639d499ac26a6cad7a6e39bc0990c19625e793b" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct 0.3.0", - "der 0.8.0-rc.9", - "hybrid-array", + "base16ct", + "der", + "generic-array", + "pkcs8", "subtle", "zeroize", ] @@ -5786,7 +5515,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -5795,11 +5524,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.5.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -5808,9 +5537,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.15.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -5818,9 +5547,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.27" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" [[package]] name = "serde" @@ -5844,12 +5573,11 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.19" +version = "0.11.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" +checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" dependencies = [ "serde", - "serde_core", ] [[package]] @@ -5867,9 +5595,9 @@ version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -5878,22 +5606,22 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "serde_html_form" -version = "0.2.8" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" +checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" dependencies = [ "form_urlencoded", - "indexmap 2.12.1", + "indexmap 2.10.0", "itoa", "ryu", - "serde_core", + "serde", ] [[package]] @@ -5911,13 +5639,12 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.20" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" dependencies = [ "itoa", "serde", - "serde_core", ] [[package]] @@ -5926,7 +5653,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b417bedc008acbdf6d6b4bc482d29859924114bbe2650b7921fb68a261d0aa6" dependencies = [ - "axum 0.8.7", + "axum 0.8.6", "futures", "percent-encoding", "serde", @@ -5935,11 +5662,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.3" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" dependencies = [ - "serde_core", + "serde", ] [[package]] @@ -5960,23 +5687,13 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.10.0", "itoa", "ryu", "serde", "unsafe-libyaml", ] -[[package]] -name = "serdect" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3ef0e35b322ddfaecbc60f34ab448e157e48531288ee49fafbb053696b8ffe2" -dependencies = [ - "base16ct 0.3.0", - "serde", -] - [[package]] name = "sha1" version = "0.10.6" @@ -5985,18 +5702,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha1" -version = "0.11.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e046edf639aa2e7afb285589e5405de2ef7e61d4b0ac1e30256e3eab911af9" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.11.0-rc.3", + "digest", ] [[package]] @@ -6007,27 +5713,16 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.11.0-rc.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1e3878ab0f98e35b2df35fe53201d088299b41a6bb63e3e34dada2ac4abd924" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.11.0-rc.3", + "digest", ] [[package]] name = "sha3" -version = "0.11.0-rc.3" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2103ca0e6f4e9505eae906de5e5883e06fc3b2232fb5d6914890c7bbcb62f478" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.11.0-rc.3", + "digest", "keccak", ] @@ -6048,9 +5743,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.7" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] @@ -6061,26 +5756,10 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", + "digest", "rand_core 0.6.4", ] -[[package]] -name = "signature" -version = "3.0.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc280a6ff65c79fbd6622f64d7127f32b85563bca8c53cd2e9141d6744a9056d" -dependencies = [ - "digest 0.11.0-rc.3", - "rand_core 0.9.3", -] - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - [[package]] name = "siphasher" version = "1.0.1" @@ -6089,9 +5768,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "slice-pool2" @@ -6116,12 +5795,12 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smol_str" -version = "0.3.4" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3498b0a27f93ef1402f20eefacfaa1691272ac4eca1cdc8c596cb0a245d6cbf5" +checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" dependencies = [ "borsh", - "serde_core", + "serde", ] [[package]] @@ -6136,12 +5815,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -6166,17 +5845,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der 0.7.10", -] - -[[package]] -name = "spki" -version = "0.8.0-rc.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" -dependencies = [ - "base64ct", - "der 0.8.0-rc.9", + "der", ] [[package]] @@ -6187,14 +5856,14 @@ checksum = "18d31fab47d9290be28a8d027c8428756826f1d4fe1e5ba0f51d24f52c568e21" dependencies = [ "async-dnssd", "async-recursion", - "bitflags 2.10.0", + "bitflags 2.9.4", "byteorder", "cfg-if", "crypto-mac", "futures", - "hmac 0.12.1", + "hmac", "lazy_static", - "md-5 0.10.6", + "md-5", "md4", "num-bigint-dig", "num-derive", @@ -6208,8 +5877,8 @@ dependencies = [ "rand 0.8.5", "serde", "serde_derive", - "sha1 0.10.6", - "sha2 0.10.9", + "sha1", + "sha2", "time", "tokio 1.48.0", "tracing", @@ -6230,14 +5899,14 @@ checksum = "523f6a99e26c1e6476a424d54bbda5354a01ee7f18b9d93dc48a8fd45ae8189b" dependencies = [ "async-dnssd", "async-recursion", - "bitflags 2.10.0", + "bitflags 2.9.4", "byteorder", "cfg-if", "crypto-mac", "futures", - "hmac 0.12.1", + "hmac", "lazy_static", - "md-5 0.10.6", + "md-5", "md4", "num-bigint-dig", "num-derive", @@ -6245,32 +5914,38 @@ dependencies = [ "oid", "picky", "picky-asn1 0.10.1", - "picky-asn1-der 0.5.4", - "picky-asn1-x509 0.14.6", - "picky-krb 0.11.3", + "picky-asn1-der 0.5.2", + "picky-asn1-x509 0.14.4", + "picky-krb 0.11.0", "rand 0.8.5", - "rsa 0.9.9", - "rustls 0.23.35", + "rsa", + "rustls 0.23.33", "serde", "serde_derive", - "sha1 0.10.6", - "sha2 0.10.9", + "sha1", + "sha2", "time", "tokio 1.48.0", "tracing", "url", "uuid", "windows 0.61.3", - "windows-registry 0.5.3", + "windows-registry", "windows-sys 0.60.2", "zeroize", ] [[package]] name = "stable_deref_trait" -version = "1.2.1" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stringprep" @@ -6306,19 +5981,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.111" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.95", + "quote 1.0.40", "unicode-ident", ] @@ -6343,9 +6018,9 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -6396,7 +6071,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.9.4", "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -6429,15 +6104,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.23.0" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.3.3", "once_cell", - "rustix 1.1.2", - "windows-sys 0.61.2", + "rustix 1.0.7", + "windows-sys 0.59.0", ] [[package]] @@ -6518,9 +6193,9 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -6529,9 +6204,9 @@ version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -6593,9 +6268,9 @@ checksum = "9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a" [[package]] name = "tinystr" -version = "0.8.2" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -6603,9 +6278,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.10.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -6632,9 +6307,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -6655,23 +6330,23 @@ version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "libc", "mio", "parking_lot", "pin-project-lite 0.2.16", "signal-hook-registry", - "socket2 0.6.1", + "socket2 0.6.0", "tokio-macros", "tracing", - "windows-sys 0.61.2", + "windows-sys 0.61.1", ] [[package]] name = "tokio-io-timeout" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd86198d9ee903fedd2f9a2e72014287c0d9167e4ae43b5853007205dda1b76" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" dependencies = [ "pin-project-lite 0.2.16", "tokio 1.48.0", @@ -6683,9 +6358,9 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -6706,7 +6381,7 @@ checksum = "2b40d66d9b2cfe04b628173409368e58247e8eddbbd3b0e6c6ba1d09f20f6c9e" dependencies = [ "async-trait", "byteorder", - "bytes 1.11.0", + "bytes 1.10.1", "fallible-iterator 0.2.0", "futures-channel", "futures-util", @@ -6717,8 +6392,8 @@ dependencies = [ "pin-project-lite 0.2.16", "postgres-protocol", "postgres-types", - "rand 0.9.2", - "socket2 0.6.1", + "rand 0.9.1", + "socket2 0.6.0", "tokio 1.48.0", "tokio-util", "whoami", @@ -6741,7 +6416,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.23.35", + "rustls 0.23.33", "tokio 1.48.0", ] @@ -6763,7 +6438,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7" dependencies = [ "async-stream", - "bytes 1.11.0", + "bytes 1.10.1", "futures-core", "tokio 1.48.0", "tokio-stream", @@ -6778,7 +6453,7 @@ dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.23.35", + "rustls 0.23.33", "rustls-native-certs", "rustls-pki-types", "tokio 1.48.0", @@ -6801,11 +6476,11 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.17" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "futures-core", "futures-io", "futures-sink", @@ -6815,14 +6490,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.8" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" +checksum = "f271e09bde39ab52250160a67e88577e0559ad77e9085de6e9051a2c4353f8f8" dependencies = [ - "indexmap 2.12.1", - "serde_core", + "indexmap 2.10.0", + "serde", "serde_spanned", - "toml_datetime", + "toml_datetime 0.7.0", "toml_parser", "toml_writer", "winnow", @@ -6830,39 +6505,44 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.3" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_datetime" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" dependencies = [ - "serde_core", + "serde", ] [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.12.1", - "toml_datetime", - "toml_parser", + "indexmap 2.10.0", + "toml_datetime 0.6.11", "winnow", ] [[package]] name = "toml_parser" -version = "1.0.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +checksum = "b5c1c469eda89749d2230d8156a5969a69ffe0d6d01200581cdc6110674d293e" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" +checksum = "b679217f2848de74cabd3e8fc5e6d66f40b7da40f8e1954d92054d9010690fd5" [[package]] name = "tonic" @@ -6874,8 +6554,8 @@ dependencies = [ "async-trait", "axum 0.6.20", "base64 0.21.7", - "bytes 1.11.0", - "h2 0.3.27", + "bytes 1.10.1", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -6898,7 +6578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc3b0e1cedbf19fdfb78ef3d672cb9928e0a91a9cb4629cc0c916e8cff8aaaa1" dependencies = [ "base64 0.21.7", - "bytes 1.11.0", + "bytes 1.10.1", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -6996,8 +6676,8 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.10.0", - "bytes 1.11.0", + "bitflags 2.9.4", + "bytes 1.10.1", "futures-core", "futures-util", "http 0.2.12", @@ -7016,10 +6696,10 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.10.0", - "bytes 1.11.0", + "bitflags 2.9.4", + "bytes 1.10.1", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", "http-body-util", "http-range-header 0.4.2", @@ -7037,14 +6717,14 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.7" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "bitflags 2.10.0", - "bytes 1.11.0", + "bitflags 2.9.4", + "bytes 1.10.1", "futures-util", - "http 1.4.0", + "http 1.3.1", "http-body 1.0.1", "iri-string", "pin-project-lite 0.2.16", @@ -7167,20 +6847,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.31" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "tracing-core" -version = "0.1.35" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -7252,7 +6932,7 @@ name = "transport" version = "0.0.0" dependencies = [ "anyhow", - "bytes 1.11.0", + "bytes 1.10.1", "futures-core", "futures-sink", "futures-util", @@ -7276,16 +6956,16 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4793cb5e56680ecbb1d843515b23b6de9a75eb04b66643e256a396d43be33c13" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "data-encoding", - "http 1.4.0", + "http 1.3.1", "httparse", "log", "native-tls", - "rand 0.9.2", - "rustls 0.23.35", + "rand 0.9.1", + "rustls 0.23.33", "rustls-pki-types", - "sha1 0.10.6", + "sha1", "thiserror 2.0.17", "utf-8", ] @@ -7296,42 +6976,42 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ - "bytes 1.11.0", + "bytes 1.10.1", "data-encoding", - "http 1.4.0", + "http 1.3.1", "httparse", "log", - "rand 0.9.2", - "sha1 0.10.6", + "rand 0.9.1", + "sha1", "thiserror 2.0.17", "utf-8", ] [[package]] name = "typed-builder" -version = "0.21.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef81aec2ca29576f9f6ae8755108640d0a86dd3161b2e8bca6cfa554e98f77d" +checksum = "ce63bcaf7e9806c206f7d7b9c1f38e0dce8bb165a80af0898161058b19248534" dependencies = [ "typed-builder-macro", ] [[package]] name = "typed-builder-macro" -version = "0.21.2" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecb9ecf7799210407c14a8cfdfe0173365780968dc57973ed082211958e0b18" +checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "typenum" -version = "1.19.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ulid" @@ -7339,7 +7019,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe" dependencies = [ - "rand 0.9.2", + "rand 0.9.1", "uuid", "web-time", ] @@ -7373,24 +7053,24 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-normalization" -version = "0.1.25" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" [[package]] name = "unicode-xid" @@ -7400,11 +7080,11 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "universal-hash" -version = "0.6.0-rc.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55be643b40a21558f44806b53ee9319595bc7ca6896372e4e08e5d7d83c9cd6" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "crypto-common 0.2.0-rc.4", + "crypto-common", "subtle", ] @@ -7436,7 +7116,7 @@ dependencies = [ "flate2", "log", "once_cell", - "rustls 0.23.35", + "rustls 0.23.33", "rustls-pki-types", "url", "webpki-roots 0.26.11", @@ -7472,7 +7152,7 @@ version = "4.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5afb1a60e207dca502682537fefcfd9921e71d0b83e9576060f09abc6efab23" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.10.0", "serde", "serde_json", "serde_yaml", @@ -7486,9 +7166,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20c24e8ab68ff9ee746aad22d39b5535601e6416d1b0feeabf78be986a5c4392" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", "uuid", ] @@ -7498,7 +7178,7 @@ version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.3.3", "js-sys", "serde", "wasm-bindgen", @@ -7527,7 +7207,7 @@ name = "video-streamer" version = "0.0.0" dependencies = [ "anyhow", - "axum 0.8.7", + "axum 0.8.6", "cadeau", "ebml-iterable", "futures", @@ -7598,12 +7278,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasip2" -version = "1.0.1+wasi-0.2.4" +name = "wasi" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ - "wit-bindgen", + "wit-bindgen-rt", ] [[package]] @@ -7614,22 +7294,35 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.105" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.55" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -7640,32 +7333,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.105" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ - "quote 1.0.42", + "quote 1.0.40", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.105" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ - "bumpalo", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", + "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.105" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" dependencies = [ "unicode-ident", ] @@ -7685,9 +7378,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.82" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -7728,14 +7421,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.4", + "webpki-roots 1.0.2", ] [[package]] name = "webpki-roots" -version = "1.0.4" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ "rustls-pki-types", ] @@ -7754,11 +7447,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.6.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" dependencies = [ - "libredox", + "redox_syscall", "wasite", "web-sys", ] @@ -7780,7 +7473,7 @@ name = "win-api-wrappers" version = "0.0.0" dependencies = [ "anyhow", - "base16ct 0.2.0", + "base16ct", "rstest", "thiserror 2.0.17", "tracing", @@ -7807,11 +7500,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.11" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -7870,21 +7563,8 @@ dependencies = [ "windows-implement", "windows-interface", "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-result", + "windows-strings", ] [[package]] @@ -7900,24 +7580,24 @@ dependencies = [ [[package]] name = "windows-implement" -version = "0.60.2" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "windows-interface" -version = "0.59.3" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -7928,9 +7608,9 @@ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" -version = "0.2.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" [[package]] name = "windows-numerics" @@ -7949,19 +7629,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-registry" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" -dependencies = [ - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-result", + "windows-strings", ] [[package]] @@ -7973,15 +7642,6 @@ dependencies = [ "windows-link 0.1.3", ] -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link 0.2.1", -] - [[package]] name = "windows-strings" version = "0.4.2" @@ -7991,15 +7651,6 @@ dependencies = [ "windows-link 0.1.3", ] -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link 0.2.1", -] - [[package]] name = "windows-sys" version = "0.45.0" @@ -8042,16 +7693,16 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.5", + "windows-targets 0.53.2", ] [[package]] name = "windows-sys" -version = "0.61.2" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" dependencies = [ - "windows-link 0.2.1", + "windows-link 0.2.0", ] [[package]] @@ -8102,19 +7753,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.5" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" dependencies = [ - "windows-link 0.2.1", - "windows_aarch64_gnullvm 0.53.1", - "windows_aarch64_msvc 0.53.1", - "windows_i686_gnu 0.53.1", - "windows_i686_gnullvm 0.53.1", - "windows_i686_msvc 0.53.1", - "windows_x86_64_gnu 0.53.1", - "windows_x86_64_gnullvm 0.53.1", - "windows_x86_64_msvc 0.53.1", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", ] [[package]] @@ -8146,9 +7796,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" [[package]] name = "windows_aarch64_msvc" @@ -8170,9 +7820,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" [[package]] name = "windows_i686_gnu" @@ -8194,9 +7844,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" [[package]] name = "windows_i686_gnullvm" @@ -8206,9 +7856,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" [[package]] name = "windows_i686_msvc" @@ -8230,9 +7880,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" [[package]] name = "windows_x86_64_gnu" @@ -8254,9 +7904,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" [[package]] name = "windows_x86_64_gnullvm" @@ -8278,9 +7928,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" [[package]] name = "windows_x86_64_msvc" @@ -8302,15 +7952,15 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" dependencies = [ "memchr", ] @@ -8355,16 +8005,19 @@ dependencies = [ ] [[package]] -name = "wit-bindgen" -version = "0.46.0" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.4", +] [[package]] name = "writeable" -version = "0.6.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wyz" @@ -8377,12 +8030,12 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "3.0.0-pre.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a45998121837fd8c92655d2334aa8f3e5ef0645cdfda5b321b13760c548fd55" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ "curve25519-dalek", - "rand_core 0.9.3", + "rand_core 0.6.4", "serde", "zeroize", ] @@ -8393,9 +8046,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" dependencies = [ - "const-oid 0.9.6", - "der 0.7.10", - "spki 0.7.3", + "const-oid", + "der", + "spki", "tls_codec", ] @@ -8410,10 +8063,11 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ + "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -8421,13 +8075,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", "synstructure", ] @@ -8443,11 +8097,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.30" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea879c944afe8a2b25fef16bb4ba234f47c694565e97383b36f3a878219065c" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "zerocopy-derive 0.8.30", + "zerocopy-derive 0.8.26", ] [[package]] @@ -8456,20 +8110,20 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "zerocopy-derive" -version = "0.8.30" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] @@ -8487,9 +8141,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", "synstructure", ] @@ -8508,16 +8162,16 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] [[package]] name = "zerotrie" -version = "0.2.3" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" dependencies = [ "displaydoc", "yoke", @@ -8526,9 +8180,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.5" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -8537,11 +8191,11 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.95", + "quote 1.0.40", + "syn 2.0.104", ] diff --git a/devolutions-gateway/src/config.rs b/devolutions-gateway/src/config.rs index 2535568f7..682ba2ae5 100644 --- a/devolutions-gateway/src/config.rs +++ b/devolutions-gateway/src/config.rs @@ -1163,7 +1163,7 @@ pub mod dto { pub users: Vec, /// The maximum allowed time difference between client and proxy clocks /// - /// The value must be in seconds. + /// The value is expressed in seconds. pub max_time_skew: u64, /// krbtgt service key. /// diff --git a/devolutions-gateway/src/rdp_proxy/mod.rs b/devolutions-gateway/src/rdp_proxy/mod.rs index 45ddfed63..1fbc2a9bf 100644 --- a/devolutions-gateway/src/rdp_proxy/mod.rs +++ b/devolutions-gateway/src/rdp_proxy/mod.rs @@ -117,8 +117,8 @@ where let mut client_framed = ironrdp_tokio::TokioFramed::new(client_stream); let mut server_framed = ironrdp_tokio::TokioFramed::new(server_stream); - let (krb_server_config, network_client) = if conf.debug.enable_unstable { - if let Some(KerberosServer { + let (krb_server_config, network_client) = if conf.debug.enable_unstable + && let Some(KerberosServer { realm: _, users: _, krbtgt_key: _, @@ -127,35 +127,33 @@ where service_user, kdc_url: _, }) = conf.debug.kerberos_server.as_ref() - { - let user = service_user.as_ref().map(|user| { - let DomainUser { - username, - password, - salt: _, - } = user; - // The username is in the FQDN format. Thus, the domain field can be empty. - CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8(username, "", password)) - }); - - ( - Some(KerberosServerConfig { - kerberos_config: SspiKerberosConfig { - kdc_url: None, - client_computer_name: Some(client_addr.to_string()), - }, - server_properties: ServerProperties::new( - &["TERMSRV", &gateway_hostname], - user, - Duration::from_secs(*max_time_skew), - ticket_decryption_key.clone(), - )?, - }), - Some(NetworkClient::new()), - ) - } else { - (None, None) - } + { + let user = service_user.as_ref().map(|user| { + let DomainUser { + username, + password, + salt: _, + } = user; + // The username is in the FQDN format. Thus, the domain field can be empty. + CredentialsBuffers::AuthIdentity(AuthIdentityBuffers::from_utf8(username, "", password)) + }); + + ( + Some(KerberosServerConfig { + kerberos_config: SspiKerberosConfig { + // The sspi-rs can automatically resolve the KDC host via DNS and/or env variable. + kdc_url: None, + client_computer_name: Some(client_addr.to_string()), + }, + server_properties: ServerProperties::new( + &["TERMSRV", &gateway_hostname], + user, + Duration::from_secs(*max_time_skew), + ticket_decryption_key.clone(), + )?, + }), + Some(NetworkClient::new()), + ) } else { (None, None) }; @@ -170,8 +168,8 @@ where krb_server_config, ); - let (krb_client_config, network_client) = if conf.debug.enable_unstable { - if let Some(KerberosServer { + let (krb_client_config, network_client) = if conf.debug.enable_unstable + && let Some(KerberosServer { realm: _, users: _, krbtgt_key: _, @@ -180,17 +178,14 @@ where service_user: _, kdc_url, }) = conf.debug.kerberos_server.as_ref() - { - ( - Some(KerberosConfig { - kdc_proxy_url: kdc_url.clone(), - hostname: None, - }), - Some(NetworkClient::new()), - ) - } else { - (None, None) - } + { + ( + Some(KerberosConfig { + kdc_proxy_url: kdc_url.clone(), + hostname: None, + }), + Some(NetworkClient::new()), + ) } else { (None, None) }; From 74a73c38838d028c64a9714d13d51869ea9af654 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Wed, 26 Nov 2025 14:47:08 +0200 Subject: [PATCH 12/12] refactor(devolutions-gateway): apply review suggestions; --- .../src/{rdp_proxy/mod.rs => rdp_proxy.rs} | 25 +++++++++++++++---- .../src/rdp_proxy/network_client.rs | 20 --------------- 2 files changed, 20 insertions(+), 25 deletions(-) rename devolutions-gateway/src/{rdp_proxy/mod.rs => rdp_proxy.rs} (97%) delete mode 100644 devolutions-gateway/src/rdp_proxy/network_client.rs diff --git a/devolutions-gateway/src/rdp_proxy/mod.rs b/devolutions-gateway/src/rdp_proxy.rs similarity index 97% rename from devolutions-gateway/src/rdp_proxy/mod.rs rename to devolutions-gateway/src/rdp_proxy.rs index 1fbc2a9bf..5fd63e74a 100644 --- a/devolutions-gateway/src/rdp_proxy/mod.rs +++ b/devolutions-gateway/src/rdp_proxy.rs @@ -1,22 +1,21 @@ -mod network_client; - use std::net::{IpAddr, SocketAddr}; use std::sync::Arc; use std::time::Duration; +use crate::api::kdc_proxy::send_krb_message; use crate::config::Conf; use crate::config::dto::{DomainUser, KerberosServer}; use crate::credential::{AppCredentialMapping, ArcCredentialEntry}; use crate::proxy::Proxy; -use crate::rdp_proxy::network_client::NetworkClient; use crate::session::{DisconnectInterest, SessionInfo, SessionMessageSender}; use crate::subscriber::SubscriberSender; +use crate::target_addr::TargetAddr; use anyhow::Context as _; use ironrdp_acceptor::credssp::CredsspProcessGenerator as CredsspServerProcessGenerator; use ironrdp_connector::credssp::{CredsspProcessGenerator as CredsspClientProcessGenerator, KerberosConfig}; use ironrdp_connector::sspi::credssp::{ClientState, ServerError, ServerState}; -use ironrdp_connector::sspi::generator::GeneratorState; +use ironrdp_connector::sspi::generator::{GeneratorState, NetworkRequest}; use ironrdp_connector::sspi::kerberos::ServerProperties; use ironrdp_connector::sspi::{ self, AuthIdentityBuffers, CredentialsBuffers, KerberosConfig as SspiKerberosConfig, KerberosServerConfig, @@ -577,7 +576,7 @@ where { let crate::credential::AppCredential::UsernamePassword { username, password } = credentials; - let username = sspi::Username::new(username, None).context("invalid username")?; + let username = sspi::Username::parse(username).context("invalid username")?; let identity = sspi::AuthIdentity { username, @@ -732,3 +731,19 @@ where framed.write_all(&payload).await.context("failed to write PDU")?; Ok(()) } + +struct NetworkClient; + +impl NetworkClient { + fn new() -> Self { + Self {} + } + + async fn send(&self, request: &NetworkRequest) -> anyhow::Result> { + let target_addr = TargetAddr::parse(request.url.as_str(), Some(88))?; + + send_krb_message(&target_addr, &request.data) + .await + .map_err(|err| anyhow::Error::msg("failed to send KDC message").context(err)) + } +} diff --git a/devolutions-gateway/src/rdp_proxy/network_client.rs b/devolutions-gateway/src/rdp_proxy/network_client.rs deleted file mode 100644 index 9839f5612..000000000 --- a/devolutions-gateway/src/rdp_proxy/network_client.rs +++ /dev/null @@ -1,20 +0,0 @@ -use ironrdp_connector::sspi; - -use crate::api::kdc_proxy::send_krb_message; -use crate::target_addr::TargetAddr; - -pub(super) struct NetworkClient; - -impl NetworkClient { - pub(super) fn new() -> Self { - Self {} - } - - pub(super) async fn send(&self, request: &sspi::generator::NetworkRequest) -> anyhow::Result> { - let target_addr = TargetAddr::parse(request.url.as_str(), Some(88))?; - - send_krb_message(&target_addr, &request.data) - .await - .map_err(|err| anyhow::Error::msg("failed to send KDC message").context(err)) - } -}