From 4a24bd0e27f4a218ac5e99a6c0803f4892698e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Tue, 3 Dec 2024 00:02:18 -0500 Subject: [PATCH 01/14] chore: update frosty example to iroh v0.29.0 --- frosty/Cargo.lock | 744 +++++++++++++++++++++++++++++++-------------- frosty/Cargo.toml | 2 +- frosty/src/main.rs | 22 +- 3 files changed, 536 insertions(+), 232 deletions(-) diff --git a/frosty/Cargo.lock b/frosty/Cargo.lock index b509874e..b661a0df 100644 --- a/frosty/Cargo.lock +++ b/frosty/Cargo.lock @@ -131,7 +131,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -143,7 +143,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "synstructure", ] @@ -155,7 +155,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -166,7 +166,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -177,7 +177,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -400,7 +400,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -458,6 +458,16 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +[[package]] +name = "cordyceps" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec10f0a762d93c4498d2e97a333805cb6250d60bead623f71d8034f9a4152ba3" +dependencies = [ + "loom", + "tracing", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -591,16 +601,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown", "lock_api", "once_cell", @@ -652,7 +663,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -693,7 +704,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "unicode-xid", ] @@ -723,7 +734,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -752,18 +763,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dyn-clone" version = "1.0.17" @@ -856,7 +855,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -876,7 +875,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -896,9 +895,9 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "event-listener" @@ -992,7 +991,7 @@ dependencies = [ "rand_core", "serde", "serdect", - "thiserror", + "thiserror 1.0.64", "visibility", "zeroize", ] @@ -1032,7 +1031,7 @@ dependencies = [ "frost-ed25519", "futures", "hex", - "iroh-net", + "iroh", "pkarr", "rand", "sha2", @@ -1064,10 +1063,11 @@ dependencies = [ [[package]] name = "futures-buffered" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fa130f3777d0d4b0993653c20bc433026d3290627693c4ed1b18dd237357ab" +checksum = "34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684" dependencies = [ + "cordyceps", "diatomic-waker", "futures-core", "pin-project-lite", @@ -1075,9 +1075,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1100,9 +1100,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" @@ -1117,9 +1117,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -1138,9 +1138,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -1151,26 +1151,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -1180,9 +1180,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -1227,6 +1227,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows 0.48.0", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -1265,14 +1278,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", "dashmap", - "futures", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -1378,7 +1392,7 @@ dependencies = [ "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.64", "time", "tinyvec", "tokio", @@ -1402,7 +1416,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -1443,6 +1457,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -1664,11 +1689,92 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +[[package]] +name = "iroh" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" +dependencies = [ + "anyhow", + "backoff", + "base64", + "bytes", + "der", + "derive_more", + "futures-buffered", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "genawaiter", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "igd-next", + "iroh-base", + "iroh-metrics", + "iroh-net-report", + "iroh-quinn", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "pkarr", + "portmapper", + "postcard", + "rand", + "rcgen", + "reqwest", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.3", + "time", + "tokio", + "tokio-rustls", + "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", + "tokio-util", + "tracing", + "url", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi", + "x509-parser", + "z32", +] + [[package]] name = "iroh-base" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -1685,7 +1791,7 @@ dependencies = [ "rand_core", "serde", "ssh-key", - "thiserror", + "thiserror 2.0.3", "ttl_cache", "url", "zeroize", @@ -1706,9 +1812,9 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -1726,82 +1832,31 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto", + "futures-lite 2.5.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", + "iroh-relay", "netwatch", - "num_enum", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", "portmapper", - "postcard", "rand", - "rcgen", "reqwest", - "ring", - "rtnetlink", "rustls", - "rustls-webpki", - "serde", - "smallvec", - "socket2", - "strum", - "stun-rs", "surge-ping", - "thiserror", - "time", + "thiserror 1.0.64", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi", - "x509-parser", - "z32", ] [[package]] @@ -1817,7 +1872,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -1835,7 +1890,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -1853,6 +1908,67 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "iroh-relay" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" +dependencies = [ + "anyhow", + "base64", + "bytes", + "clap", + "derive_more", + "futures-buffered", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen", + "regex", + "reqwest", + "ring", + "rustls", + "rustls-pemfile", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.3", + "time", + "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", + "tokio-util", + "toml", + "tracing", + "tracing-subscriber", + "url", + "webpki-roots", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1884,7 +2000,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -1952,6 +2068,19 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + [[package]] name = "lru" version = "0.12.4" @@ -1983,7 +2112,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.64", "tracing", ] @@ -1994,16 +2123,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" [[package]] -name = "md5" -version = "0.7.0" +name = "matchers" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] [[package]] -name = "memalloc" -version = "0.1.0" +name = "md5" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" @@ -2055,15 +2187,15 @@ dependencies = [ [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration", @@ -2095,6 +2227,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -2104,7 +2265,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2118,7 +2279,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -2137,30 +2298,34 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", "netdev", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.3", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", + "windows 0.58.0", "wmi", ] @@ -2175,6 +2340,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -2294,7 +2470,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2333,16 +2509,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "overload" version = "0.1.1" @@ -2454,7 +2620,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.64", "ucd-trie", ] @@ -2478,7 +2644,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2509,7 +2675,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2542,7 +2708,7 @@ dependencies = [ "rand", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.64", "tracing", "ureq", "wasm-bindgen", @@ -2596,7 +2762,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2639,15 +2805,15 @@ checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "portmapper" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" dependencies = [ "anyhow", "base64", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "igd-next", "iroh-metrics", @@ -2658,7 +2824,7 @@ dependencies = [ "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.3", "time", "tokio", "tokio-util", @@ -2792,9 +2958,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -2819,7 +2985,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2856,7 +3022,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -2873,7 +3039,7 @@ dependencies = [ "rustc-hash", "rustls", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -2957,12 +3123,13 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" dependencies = [ "pem", "ring", + "rustls-pki-types", "time", "yasna", ] @@ -2984,8 +3151,17 @@ checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -2996,7 +3172,7 @@ checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.4", ] [[package]] @@ -3005,6 +3181,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.4" @@ -3059,7 +3241,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -3118,12 +3300,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", - "thiserror", + "nix 0.26.4", + "thiserror 1.0.64", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.27.1", + "thiserror 1.0.64", "tokio", ] @@ -3278,6 +3478,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -3370,7 +3576,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3385,6 +3591,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3444,16 +3659,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shlex" version = "1.3.0" @@ -3615,7 +3820,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3643,7 +3848,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3687,7 +3892,7 @@ dependencies = [ "pnet_packet", "rand", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -3705,9 +3910,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -3742,7 +3947,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3778,7 +3983,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +dependencies = [ + "thiserror-impl 2.0.3", ] [[package]] @@ -3789,7 +4003,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -3874,7 +4099,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3888,6 +4113,34 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls-acme" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" +dependencies = [ + "async-trait", + "base64", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen", + "reqwest", + "ring", + "rustls", + "serde", + "serde_json", + "thiserror 2.0.3", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", +] + [[package]] name = "tokio-stream" version = "0.1.16" @@ -3908,7 +4161,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -3922,9 +4187,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -3944,11 +4209,26 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -3957,6 +4237,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] @@ -3987,7 +4269,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4017,10 +4299,14 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ + "matchers", "nu-ansi-term", + "once_cell", + "regex", "sharded-slab", "smallvec", "thread_local", + "tracing", "tracing-core", "tracing-log", ] @@ -4054,11 +4340,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.64", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.64", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -4182,7 +4486,7 @@ checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4238,7 +4542,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -4272,7 +4576,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4292,7 +4596,7 @@ dependencies = [ "event-listener", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -4353,31 +4657,31 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.51.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-core 0.51.1", "windows-targets 0.48.5", ] [[package]] name = "windows" -version = "0.58.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core 0.58.0", + "windows-core 0.52.0", "windows-targets 0.52.6", ] [[package]] -name = "windows-core" -version = "0.51.1" +name = "windows" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-targets 0.48.5", + "windows-core 0.58.0", + "windows-targets 0.52.6", ] [[package]] @@ -4410,7 +4714,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4421,7 +4725,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4623,15 +4927,15 @@ dependencies = [ [[package]] name = "wmi" -version = "0.13.4" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" +checksum = "70df482bbec7017ce4132154233642de658000b24b805345572036782a66ad55" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", + "thiserror 1.0.64", "windows 0.58.0", "windows-core 0.58.0", ] @@ -4658,7 +4962,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -4710,7 +5014,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4730,5 +5034,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] diff --git a/frosty/Cargo.toml b/frosty/Cargo.toml index 2a47e448..1494f609 100644 --- a/frosty/Cargo.toml +++ b/frosty/Cargo.toml @@ -9,7 +9,7 @@ clap = { version = "4.5.18", features = ["derive"] } frost-ed25519 = "1.0.0" futures = "0.3.30" hex = "0.4.3" -iroh-net = "0.28" +iroh = "0.29" pkarr = "2.2.0" rand = "0.8.5" sha2 = "0.10.8" diff --git a/frosty/src/main.rs b/frosty/src/main.rs index ae6579c5..9bc60ced 100644 --- a/frosty/src/main.rs +++ b/frosty/src/main.rs @@ -5,7 +5,7 @@ use frost_ed25519::{ Ed25519ScalarField, Field, Identifier, SigningPackage, }; use futures::StreamExt; -use iroh_net::{ +use iroh::{ discovery::{dns::DnsDiscovery, pkarr::PkarrPublisher}, endpoint::{RecvStream, SendStream}, key::{PublicKey, SecretKey}, @@ -101,7 +101,7 @@ fn split(args: SplitArgs) -> anyhow::Result<()> { let max_signers = args.max_signers; let min_signers = args.min_signers; let key = fs::read_to_string(&args.key)?; - let iroh_key = iroh_net::key::SecretKey::try_from_openssh(key)?; + let iroh_key = iroh::key::SecretKey::try_from_openssh(key)?; let key_bytes = iroh_key.to_bytes(); let scalar = ed25519_secret_key_to_scalar(&key_bytes); let key = frost::SigningKey::from_scalar(scalar); @@ -198,7 +198,7 @@ fn sign_local(args: SignLocalArgs) -> anyhow::Result<()> { let signature = secret.sign(rand::thread_rng(), msg); let signature_bytes = signature.serialize(); println!("Signature: {}", hex::encode(signature_bytes)); - let iroh_signature: iroh_net::key::Signature = signature_bytes.into(); + let iroh_signature: iroh::key::Signature = signature_bytes.into(); let res = key.verify(msg, &iroh_signature); if res.is_err() { println!("Verification failed: {:?}", res); @@ -227,12 +227,12 @@ fn ed25519_secret_key_to_scalar(secret_key: &[u8; 32]) -> anyhow::Result<()> { // we don't need to check the ALPN, since we only accept connections with the correct ALPN let connection = incoming.await?; - let remote_node_id = iroh_net::endpoint::get_remote_node_id(&connection)?; + let remote_node_id = iroh::endpoint::get_remote_node_id(&connection)?; info!("Incoming connection from {}", remote_node_id,); let (mut send, mut recv) = connection.accept_bi().await?; let key_bytes = read_exact_bytes(&mut recv).await?; @@ -265,7 +265,7 @@ async fn handle_cosign_request( } async fn send_cosign_request_round1( - endpoint: &iroh_net::Endpoint, + endpoint: &iroh::Endpoint, cosigner: &PublicKey, key: &PublicKey, ) -> anyhow::Result<( @@ -314,7 +314,7 @@ async fn sign(args: SignArgs) -> anyhow::Result<()> { let min_cosigners = (key_package.min_signers() - 1) as usize; info!("{} co-signers required", min_cosigners); let discovery = DnsDiscovery::n0_dns(); - let endpoint = iroh_net::endpoint::Endpoint::builder() + let endpoint = iroh::endpoint::Endpoint::builder() .secret_key(secret_key) .discovery(Box::new(discovery)) .bind() @@ -353,12 +353,12 @@ async fn sign(args: SignArgs) -> anyhow::Result<()> { info!("got {} signature shares", signature_shares.len()); let signature = frost::aggregate(&signing_package, &signature_shares, &public_key_package)?; let bytes = signature.serialize(); - let iroh_signature = iroh_net::key::Signature::from(bytes); + let iroh_signature = iroh::key::Signature::from(bytes); if let Err(cause) = key.verify(args.message.as_bytes(), &iroh_signature) { error!("Verification failed: {:?}", cause); } println!("Signature: {}", hex::encode(bytes)); - endpoint.close(0u8.into(), b"done").await?; + endpoint.close().await?; Ok(()) } @@ -376,7 +376,7 @@ async fn cosign_daemon(args: CosignArgs) -> anyhow::Result<()> { { if let Some(stem) = path.file_stem() { if let Some(text) = stem.to_str() { - let key = iroh_net::key::PublicKey::from_str(text)?; + let key = iroh::key::PublicKey::from_str(text)?; let secret_share_bytes = fs::read(&path)?; let secret_share = SecretShare::deserialize(&secret_share_bytes)?; let key_package = frost::keys::KeyPackage::try_from(secret_share)?; @@ -392,7 +392,7 @@ async fn cosign_daemon(args: CosignArgs) -> anyhow::Result<()> { } } let discovery = PkarrPublisher::n0_dns(secret_key.clone()); - let endpoint = iroh_net::endpoint::Endpoint::builder() + let endpoint = iroh::endpoint::Endpoint::builder() .alpns(vec![COSIGN_ALPN.to_vec()]) .secret_key(secret_key) .discovery(Box::new(discovery)) From 4f32a750c4441e2456ddb3f8fee77618836417a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Tue, 3 Dec 2024 21:45:09 -0500 Subject: [PATCH 02/14] update dumbpipe to iroh v0.29.0, refer to dumbpipe branch --- dumbpipe-web/Cargo.lock | 1222 ++++++++++++-------------------------- dumbpipe-web/Cargo.toml | 5 +- dumbpipe-web/src/main.rs | 5 +- 3 files changed, 399 insertions(+), 833 deletions(-) diff --git a/dumbpipe-web/Cargo.lock b/dumbpipe-web/Cargo.lock index 811ed9bb..9b7fbf67 100644 --- a/dumbpipe-web/Cargo.lock +++ b/dumbpipe-web/Cargo.lock @@ -2,20 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "acto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c372578ce4215ccf94ec3f3585fbb6a902e47d07b064ff8a55d850ffb5025e" -dependencies = [ - "parking_lot", - "pin-project-lite", - "rustc_version", - "smol_str", - "tokio", - "tracing", -] - [[package]] name = "addr2line" version = "0.24.2" @@ -42,18 +28,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -63,12 +37,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "android-tzdata" version = "0.1.1" @@ -163,7 +131,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.65", "time", ] @@ -175,7 +143,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", "synstructure", ] @@ -187,19 +155,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", -] - -[[package]] -name = "async-channel" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", + "syn 2.0.90", ] [[package]] @@ -210,7 +166,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -221,7 +177,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -273,23 +229,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "bao-tree" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" -dependencies = [ - "bytes", - "futures-lite 2.3.0", - "genawaiter", - "iroh-blake3", - "iroh-io", - "positioned-io", - "range-collections", - "self_cell", - "smallvec", -] - [[package]] name = "base16ct" version = "0.2.0" @@ -308,21 +247,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "binary-merge" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -367,9 +291,6 @@ name = "bytes" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" -dependencies = [ - "serde", -] [[package]] name = "cc" @@ -411,10 +332,8 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", - "js-sys", "num-traits", "serde", - "wasm-bindgen", "windows-targets 0.52.6", ] @@ -457,10 +376,10 @@ version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -647,16 +566,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -702,7 +622,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -732,7 +652,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", "unicode-xid", ] @@ -762,7 +682,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -791,28 +711,15 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dumbpipe" version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30de598376c421ef91b61021ba4a64083231b9b385c93e164d9d83f8723b845d" +source = "git+https://github.com/n0-computer/dumbpipe?branch=iroh-v0.29.0#8b5a08c11a6dc6395e0373505a4328338389793a" dependencies = [ "anyhow", "clap", "hex", - "iroh-net", + "iroh", "iroh-quinn", "tokio", "tokio-util", @@ -866,18 +773,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "elliptic-curve" version = "0.13.8" @@ -915,23 +810,10 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.85", -] - -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -951,7 +833,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -971,19 +853,9 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" - -[[package]] -name = "errno" -version = "0.3.9" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "event-listener" @@ -996,27 +868,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "event-listener" -version = "5.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" -dependencies = [ - "event-listener 5.3.1", - "pin-project-lite", -] - [[package]] name = "fallible-iterator" version = "0.3.0" @@ -1078,12 +929,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1185,9 +1030,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -1204,7 +1049,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -1325,14 +1170,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", "dashmap", - "futures", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -1378,35 +1224,12 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", -] [[package]] name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" -dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", -] - -[[package]] -name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "heck" @@ -1426,30 +1249,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.0-alpha.2" @@ -1464,11 +1263,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.5.0", + "idna", "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.65", "time", "tinyvec", "tokio", @@ -1484,7 +1283,7 @@ checksum = "46c110355b5703070d9e29c344d79818a7cde3de9c27fc35750defea6074b0ad" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "ipconfig", "lru-cache", "once_cell", @@ -1492,7 +1291,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.65", "tokio", "tracing", ] @@ -1533,6 +1332,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -1677,16 +1487,6 @@ dependencies = [ "cc", ] -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -1737,15 +1537,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "inplace-vec-builder" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf64c2edc8226891a71f127587a2861b132d2b942310843814d5001d99a1d307" -dependencies = [ - "smallvec", -] - [[package]] name = "instant" version = "0.1.13" @@ -1775,56 +1566,90 @@ checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iroh" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" dependencies = [ "anyhow", - "async-channel", - "bao-tree", + "backoff", + "base64", "bytes", + "der", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", "futures-util", "genawaiter", + "governor", "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "igd-next", "iroh-base", - "iroh-blobs", - "iroh-docs", - "iroh-gossip", - "iroh-io", "iroh-metrics", - "iroh-net", + "iroh-net-report", "iroh-quinn", - "iroh-router", - "nested_enum_utils", - "num_cpus", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum", + "once_cell", "parking_lot", - "portable-atomic", + "pin-project", + "pkarr", + "portmapper", "postcard", - "quic-rpc", - "quic-rpc-derive", "rand", - "ref-cast", + "rcgen", + "reqwest", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls", + "rustls-webpki", "serde", - "serde-error", - "strum 0.25.0", - "tempfile", - "thiserror", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", "tracing", "url", - "walkdir", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi", + "x509-parser", + "z32", ] [[package]] name = "iroh-base" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -1839,10 +1664,9 @@ dependencies = [ "postcard", "rand", "rand_core", - "redb 2.1.4", "serde", "ssh-key", - "thiserror", + "thiserror 2.0.4", "ttl_cache", "url", "zeroize", @@ -1861,143 +1685,11 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "iroh-blobs" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" -dependencies = [ - "anyhow", - "async-channel", - "bao-tree", - "bytes", - "chrono", - "derive_more", - "futures-buffered", - "futures-lite 2.3.0", - "genawaiter", - "hashlink", - "hex", - "iroh-base", - "iroh-io", - "iroh-metrics", - "iroh-net", - "iroh-quinn", - "iroh-router", - "num_cpus", - "oneshot", - "parking_lot", - "pin-project", - "postcard", - "rand", - "range-collections", - "redb 1.5.1", - "redb 2.1.4", - "reflink-copy", - "self_cell", - "serde", - "serde-error", - "smallvec", - "tempfile", - "thiserror", - "tokio", - "tokio-util", - "tracing", - "tracing-futures", -] - -[[package]] -name = "iroh-docs" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-buffered", - "futures-lite 2.3.0", - "futures-util", - "hex", - "iroh-base", - "iroh-blake3", - "iroh-blobs", - "iroh-gossip", - "iroh-metrics", - "iroh-net", - "iroh-router", - "lru", - "num_enum", - "postcard", - "rand", - "rand_core", - "redb 1.5.1", - "redb 2.1.4", - "self_cell", - "serde", - "strum 0.25.0", - "tempfile", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", -] - -[[package]] -name = "iroh-gossip" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-util", - "indexmap", - "iroh-base", - "iroh-blake3", - "iroh-metrics", - "iroh-net", - "iroh-router", - "nested_enum_utils", - "postcard", - "quic-rpc", - "quic-rpc-derive", - "rand", - "rand_core", - "serde", - "serde-error", - "strum 0.26.3", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "iroh-io" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" -dependencies = [ - "bytes", - "futures-lite 2.3.0", - "pin-project", - "smallvec", - "tokio", -] - [[package]] name = "iroh-metrics" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -2015,83 +1707,31 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto 0.25.0-alpha.2", + "futures-lite 2.5.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", + "iroh-relay", "netwatch", - "num_enum", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", "portmapper", - "postcard", "rand", - "rcgen", "reqwest", - "ring", - "rtnetlink", "rustls", - "rustls-webpki", - "serde", - "smallvec", - "socket2", - "strum 0.26.3", - "stun-rs", "surge-ping", - "swarm-discovery", - "thiserror", - "time", + "thiserror 1.0.65", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi", - "x509-parser", - "z32", ] [[package]] @@ -2107,7 +1747,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.65", "tokio", "tracing", ] @@ -2125,7 +1765,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.65", "tinyvec", "tracing", ] @@ -2144,19 +1784,64 @@ dependencies = [ ] [[package]] -name = "iroh-router" -version = "0.28.0" +name = "iroh-relay" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" dependencies = [ "anyhow", + "base64", + "bytes", + "clap", + "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-sink", "futures-util", - "iroh-net", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen", + "regex", + "reqwest", + "ring", + "rustls", + "rustls-pemfile", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", + "toml", "tracing", + "tracing-subscriber", + "url", + "webpki-roots", ] [[package]] @@ -2181,7 +1866,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.65", "walkdir", ] @@ -2227,12 +1912,6 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - [[package]] name = "litrs" version = "0.4.1" @@ -2273,9 +1952,6 @@ name = "lru" version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.0", -] [[package]] name = "lru-cache" @@ -2302,7 +1978,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.65", "tracing", ] @@ -2327,12 +2003,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -2381,29 +2051,17 @@ dependencies = [ "getrandom", ] -[[package]] -name = "nested_enum_utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration", @@ -2435,6 +2093,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -2444,7 +2131,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.65", ] [[package]] @@ -2458,7 +2145,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.65", "tokio", ] @@ -2477,30 +2164,34 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", "netdev", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", + "windows 0.58.0", "wmi", ] @@ -2515,6 +2206,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -2616,16 +2318,6 @@ dependencies = [ "libm", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_enum" version = "0.7.3" @@ -2644,7 +2336,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -2671,12 +2363,6 @@ version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" -[[package]] -name = "oneshot" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" - [[package]] name = "opaque-debug" version = "0.3.1" @@ -2684,20 +2370,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "overload" @@ -2810,7 +2486,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.65", "ucd-trie", ] @@ -2834,7 +2510,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -2865,7 +2541,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -2897,7 +2573,7 @@ dependencies = [ "mainline", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.65", "tracing", "ureq", "wasm-bindgen", @@ -2945,7 +2621,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -2988,15 +2664,15 @@ checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "portmapper" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" dependencies = [ "anyhow", "base64", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "igd-next", "iroh-metrics", @@ -3007,7 +2683,7 @@ dependencies = [ "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", "tokio-util", @@ -3015,16 +2691,6 @@ dependencies = [ "url", ] -[[package]] -name = "positioned-io" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "postcard" version = "1.0.10" @@ -3150,9 +2816,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -3177,7 +2843,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -3195,43 +2861,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quic-rpc" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" -dependencies = [ - "anyhow", - "bincode", - "derive_more", - "educe", - "flume", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "hex", - "iroh-quinn", - "pin-project", - "serde", - "slab", - "tokio", - "tokio-serde", - "tokio-util", - "tracing", -] - -[[package]] -name = "quic-rpc-derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" -dependencies = [ - "proc-macro2", - "quic-rpc", - "quote", - "syn 1.0.109", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -3251,7 +2880,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.65", "tokio", "tracing", ] @@ -3268,7 +2897,7 @@ dependencies = [ "rustc-hash", "rustls", "slab", - "thiserror", + "thiserror 1.0.65", "tinyvec", "tracing", ] @@ -3335,18 +2964,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "range-collections" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" -dependencies = [ - "binary-merge", - "inplace-vec-builder", - "ref-cast", - "smallvec", -] - [[package]] name = "raw-cpuid" version = "11.2.0" @@ -3358,34 +2975,17 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" dependencies = [ "pem", "ring", + "rustls-pki-types", "time", "yasna", ] -[[package]] -name = "redb" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7f82ecd6ba647a39dd1a7172b8a1cd9453c0adee6da20cb553d83a9a460fa5" -dependencies = [ - "libc", -] - -[[package]] -name = "redb" -version = "2.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074373f3e7e5d27d8741d19512232adb47be8622d3daef3a45bcae72050c3d2a" -dependencies = [ - "libc", -] - [[package]] name = "redox_syscall" version = "0.5.7" @@ -3395,37 +2995,6 @@ dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.85", -] - -[[package]] -name = "reflink-copy" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6" -dependencies = [ - "cfg-if", - "rustix", - "windows 0.58.0", -] - [[package]] name = "regex" version = "1.11.1" @@ -3524,7 +3093,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -3602,12 +3171,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.26.4", + "thiserror 1.0.65", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", - "thiserror", + "nix 0.27.1", + "thiserror 1.0.65", "tokio", ] @@ -3641,19 +3228,6 @@ dependencies = [ "nom", ] -[[package]] -name = "rustix" -version = "0.38.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - [[package]] name = "rustls" version = "0.23.15" @@ -3845,15 +3419,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-error" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47" -dependencies = [ - "serde", -] - [[package]] name = "serde_bencode" version = "0.2.4" @@ -3881,7 +3446,7 @@ checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -3896,6 +3461,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3955,16 +3529,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shlex" version = "1.3.0" @@ -4013,15 +3577,6 @@ name = "smallvec" version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -dependencies = [ - "serde", -] - -[[package]] -name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" [[package]] name = "socket2" @@ -4129,7 +3684,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -4138,35 +3693,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.85", + "strum_macros", ] [[package]] @@ -4175,11 +3708,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -4223,22 +3756,7 @@ dependencies = [ "pnet_packet", "rand", "socket2", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "swarm-discovery" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39769914108ae68e261d85ceac7bce7095947130f79c29d4535e9b31fc702a40" -dependencies = [ - "acto", - "anyhow", - "hickory-proto 0.24.1", - "rand", - "socket2", + "thiserror 1.0.65", "tokio", "tracing", ] @@ -4256,9 +3774,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -4293,7 +3811,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -4318,25 +3836,21 @@ dependencies = [ ] [[package]] -name = "tempfile" -version = "3.13.0" +name = "thiserror" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" dependencies = [ - "cfg-if", - "fastrand 2.1.1", - "once_cell", - "rustix", - "windows-sys 0.59.0", + "thiserror-impl 1.0.65", ] [[package]] name = "thiserror" -version = "1.0.65" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.4", ] [[package]] @@ -4347,7 +3861,18 @@ checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4432,7 +3957,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -4447,18 +3972,31 @@ dependencies = [ ] [[package]] -name = "tokio-serde" -version = "0.8.0" +name = "tokio-rustls-acme" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", + "async-trait", + "base64", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen", + "reqwest", + "ring", + "rustls", "serde", + "serde_json", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", ] [[package]] @@ -4470,7 +4008,6 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", ] [[package]] @@ -4482,7 +4019,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -4496,9 +4045,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.65", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -4515,15 +4064,29 @@ dependencies = [ "futures-util", "hashbrown 0.14.5", "pin-project-lite", - "slab", "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -4532,6 +4095,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] @@ -4562,7 +4127,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -4575,16 +4140,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -4643,11 +4198,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.65", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.65", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -4734,7 +4307,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -4816,7 +4389,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -4850,7 +4423,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4867,10 +4440,10 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45b42a2f611916b5965120a9cde2b60f2db4454826dd9ad5e6f47c24a5b3b259" dependencies = [ - "event-listener 4.0.3", + "event-listener", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.65", ] [[package]] @@ -4940,12 +4513,12 @@ dependencies = [ [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -4958,15 +4531,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-core" version = "0.52.0" @@ -4997,7 +4561,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -5008,7 +4572,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] @@ -5210,15 +4774,15 @@ dependencies = [ [[package]] name = "wmi" -version = "0.13.4" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" +checksum = "70df482bbec7017ce4132154233642de658000b24b805345572036782a66ad55" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", + "thiserror 1.0.65", "windows 0.58.0", "windows-core 0.58.0", ] @@ -5236,7 +4800,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.65", "time", ] @@ -5288,7 +4852,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.90", ] [[package]] diff --git a/dumbpipe-web/Cargo.toml b/dumbpipe-web/Cargo.toml index d6657282..48706028 100644 --- a/dumbpipe-web/Cargo.toml +++ b/dumbpipe-web/Cargo.toml @@ -15,8 +15,11 @@ http = "1.0.0" http-body-util = "0.1.0" hyper = { version = "1.0.1", features = ["full"] } hyper-util = { version = "0.1.1", features = ["full"] } -iroh = "0.28" +iroh = "0.29" iroh-quinn = "0.12.0" tokio = { version = "1.34.0", features = ["full"] } tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } + +[patch.crates-io] +dumbpipe = { git = "https://github.com/n0-computer/dumbpipe", branch = "iroh-v0.29.0" } diff --git a/dumbpipe-web/src/main.rs b/dumbpipe-web/src/main.rs index d5953d18..7ab58729 100644 --- a/dumbpipe-web/src/main.rs +++ b/dumbpipe-web/src/main.rs @@ -14,8 +14,7 @@ use hyper::service::service_fn; use hyper::{Request, Response}; use hyper_util::rt::TokioIo; -use iroh::net::key::SecretKey; -use iroh::net::{AddrInfo, Endpoint, NodeAddr}; +use iroh::{key::SecretKey, AddrInfo, Endpoint, NodeAddr}; use tokio::net::TcpListener; #[derive(Parser, Debug)] @@ -112,7 +111,7 @@ fn bad_request(text: &'static str) -> anyhow::Result anyhow::Result { // first try to parse as a node id - if let Ok(node_id) = iroh::net::NodeId::from_str(subdomain) { + if let Ok(node_id) = iroh::NodeId::from_str(subdomain) { return Ok(NodeAddr { node_id, info: AddrInfo { From e0af5d0d23fd223209e816b63d0ac6c8cc44544f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Tue, 3 Dec 2024 21:51:45 -0500 Subject: [PATCH 03/14] update iroh-gateway to iroh v0.29.0 and add iroh_blobs dep --- iroh-gateway/Cargo.lock | 926 +++++++++++++++++-------------------- iroh-gateway/Cargo.toml | 6 +- iroh-gateway/src/main.rs | 35 +- iroh-gateway/src/ranges.rs | 2 +- 4 files changed, 457 insertions(+), 512 deletions(-) diff --git a/iroh-gateway/Cargo.lock b/iroh-gateway/Cargo.lock index 012fbf5c..e3a2a3e7 100644 --- a/iroh-gateway/Cargo.lock +++ b/iroh-gateway/Cargo.lock @@ -2,20 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "acto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c372578ce4215ccf94ec3f3585fbb6a902e47d07b064ff8a55d850ffb5025e" -dependencies = [ - "parking_lot", - "pin-project-lite", - "rustc_version", - "smol_str", - "tokio", - "tracing", -] - [[package]] name = "addr2line" version = "0.24.1" @@ -169,7 +155,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -185,7 +171,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -209,7 +195,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "synstructure 0.13.1", ] @@ -232,7 +218,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -255,7 +241,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -266,7 +252,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -400,7 +386,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" dependencies = [ "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "genawaiter", "iroh-blake3", "iroh-io", @@ -440,15 +426,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -595,10 +572,10 @@ version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -798,16 +775,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown", "lock_api", "once_cell", @@ -867,7 +845,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -897,7 +875,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "unicode-xid", ] @@ -927,7 +905,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -956,18 +934,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dyn-clone" version = "1.0.17" @@ -1014,18 +980,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "elliptic-curve" version = "0.13.8" @@ -1078,23 +1032,10 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.79", -] - -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1114,7 +1055,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1134,18 +1075,18 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1172,9 +1113,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", "pin-project-lite", @@ -1342,9 +1283,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -1361,7 +1302,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1482,14 +1423,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", "dashmap", - "futures", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -1592,12 +1534,6 @@ dependencies = [ "http 1.1.0", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -1616,30 +1552,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.0-alpha.2" @@ -1654,11 +1566,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.5.0", + "idna", "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.64", "time", "tinyvec", "tokio", @@ -1674,7 +1586,7 @@ checksum = "46c110355b5703070d9e29c344d79818a7cde3de9c27fc35750defea6074b0ad" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "ipconfig", "lru-cache", "once_cell", @@ -1682,7 +1594,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -1723,6 +1635,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -1916,16 +1839,6 @@ dependencies = [ "cc", ] -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -2027,56 +1940,90 @@ checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "iroh" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" dependencies = [ "anyhow", - "async-channel", - "bao-tree", + "backoff", + "base64 0.22.1", "bytes", + "der", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", "futures-util", "genawaiter", + "governor", "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "igd-next", "iroh-base", - "iroh-blobs", - "iroh-docs", - "iroh-gossip", - "iroh-io", "iroh-metrics", - "iroh-net", + "iroh-net-report", "iroh-quinn", - "iroh-router", - "nested_enum_utils", - "num_cpus", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum", + "once_cell", "parking_lot", - "portable-atomic", + "pin-project", + "pkarr", + "portmapper", "postcard", - "quic-rpc", - "quic-rpc-derive", "rand", - "ref-cast", + "rcgen 0.13.1", + "reqwest 0.12.7", + "ring 0.17.8", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls 0.23.13", + "rustls-webpki 0.102.8", "serde", - "serde-error", - "strum 0.25.0", - "tempfile", - "thiserror", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls 0.26.0", "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", "tracing", "url", - "walkdir", + "watchable", + "webpki-roots 0.26.6", + "windows 0.58.0", + "wmi", + "x509-parser 0.16.0", + "z32", ] [[package]] name = "iroh-base" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -2091,10 +2038,10 @@ dependencies = [ "postcard", "rand", "rand_core", - "redb 2.1.3", + "redb 2.2.0", "serde", "ssh-key", - "thiserror", + "thiserror 2.0.4", "ttl_cache", "url", "zeroize", @@ -2116,8 +2063,7 @@ dependencies = [ [[package]] name = "iroh-blobs" version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" +source = "git+https://github.com/n0-computer/iroh-blobs?branch=iroh-v0-29-0#ee9427c1f94cee3bbb37628762ea67edf922ad97" dependencies = [ "anyhow", "async-channel", @@ -2126,76 +2072,42 @@ dependencies = [ "chrono", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-util", "genawaiter", "hashlink", "hex", + "iroh", "iroh-base", "iroh-io", "iroh-metrics", - "iroh-net", "iroh-quinn", - "iroh-router", + "nested_enum_utils", "num_cpus", "oneshot", "parking_lot", - "pin-project", + "portable-atomic", "postcard", + "quic-rpc", + "quic-rpc-derive", "rand", "range-collections", "redb 1.5.1", - "redb 2.1.3", + "redb 2.2.0", + "ref-cast", "reflink-copy", "self_cell", "serde", "serde-error", "smallvec", + "strum", "tempfile", - "thiserror", + "thiserror 2.0.4", "tokio", "tokio-util", "tracing", "tracing-futures", -] - -[[package]] -name = "iroh-docs" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-buffered", - "futures-lite 2.3.0", - "futures-util", - "hex", - "iroh-base", - "iroh-blake3", - "iroh-blobs", - "iroh-gossip", - "iroh-metrics", - "iroh-net", - "iroh-router", - "lru", - "num_enum", - "postcard", - "rand", - "rand_core", - "redb 1.5.1", - "redb 2.1.3", - "self_cell", - "serde", - "strum 0.25.0", - "tempfile", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", + "walkdir", ] [[package]] @@ -2214,6 +2126,7 @@ dependencies = [ "hyper-util", "indicatif", "iroh", + "iroh-blobs", "iroh-quinn", "lru", "mime", @@ -2223,7 +2136,7 @@ dependencies = [ "rustls 0.21.12", "rustls-pemfile 1.0.4", "tokio", - "tokio-rustls-acme", + "tokio-rustls-acme 0.2.0", "tower-http", "tower-service", "tracing", @@ -2231,40 +2144,6 @@ dependencies = [ "url", ] -[[package]] -name = "iroh-gossip" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-util", - "indexmap", - "iroh-base", - "iroh-blake3", - "iroh-metrics", - "iroh-net", - "iroh-router", - "nested_enum_utils", - "postcard", - "quic-rpc", - "quic-rpc-derive", - "rand", - "rand_core", - "serde", - "serde-error", - "strum 0.26.3", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "iroh-io" version = "0.6.1" @@ -2272,7 +2151,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" dependencies = [ "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "pin-project", "smallvec", "tokio", @@ -2280,9 +2159,9 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -2300,83 +2179,31 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64 0.22.1", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto 0.25.0-alpha.2", + "futures-lite 2.5.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", + "iroh-relay", "netwatch", - "num_enum", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", "portmapper", - "postcard", "rand", - "rcgen 0.12.1", "reqwest 0.12.7", - "ring 0.17.8", - "rtnetlink", "rustls 0.23.13", - "rustls-webpki 0.102.8", - "serde", - "smallvec", - "socket2", - "strum 0.26.3", - "stun-rs", "surge-ping", - "swarm-discovery", - "thiserror", - "time", - "tokio", - "tokio-rustls 0.26.0", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", + "thiserror 1.0.64", + "tokio", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots 0.26.6", - "windows 0.51.1", - "wmi", - "x509-parser 0.16.0", - "z32", ] [[package]] @@ -2392,7 +2219,7 @@ dependencies = [ "rustc-hash", "rustls 0.23.13", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -2410,7 +2237,7 @@ dependencies = [ "rustls 0.23.13", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -2429,19 +2256,64 @@ dependencies = [ ] [[package]] -name = "iroh-router" -version = "0.28.0" +name = "iroh-relay" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" dependencies = [ "anyhow", + "base64 0.22.1", + "bytes", + "clap", + "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-sink", "futures-util", - "iroh-net", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen 0.13.1", + "regex", + "reqwest 0.12.7", + "ring 0.17.8", + "rustls 0.23.13", + "rustls-pemfile 2.2.0", + "rustls-webpki 0.102.8", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls 0.26.0", + "tokio-rustls-acme 0.6.0", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", + "toml", "tracing", + "tracing-subscriber", + "url", + "webpki-roots 0.26.6", ] [[package]] @@ -2466,7 +2338,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -2496,9 +2368,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.159" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libm" @@ -2587,7 +2459,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.64", "tracing", ] @@ -2618,12 +2490,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -2706,15 +2572,15 @@ dependencies = [ [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration 0.6.1", @@ -2746,6 +2612,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -2755,7 +2650,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2769,7 +2664,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -2788,30 +2683,34 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", "netdev", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", + "windows 0.58.0", "wmi", ] @@ -2826,6 +2725,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -2955,7 +2865,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3018,16 +2928,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "overload" version = "0.1.1" @@ -3149,7 +3049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.64", "ucd-trie", ] @@ -3173,7 +3073,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3204,7 +3104,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3236,7 +3136,7 @@ dependencies = [ "mainline", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.64", "tracing", "ureq", "wasm-bindgen", @@ -3284,7 +3184,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3327,15 +3227,15 @@ checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "portmapper" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" dependencies = [ "anyhow", "base64 0.22.1", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "igd-next", "iroh-metrics", @@ -3346,7 +3246,7 @@ dependencies = [ "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", "tokio-util", @@ -3489,9 +3389,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -3516,7 +3416,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3536,34 +3436,31 @@ dependencies = [ [[package]] name = "quic-rpc" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" +checksum = "64ae09230350898e9a243a7a4a5fdde934edfb6b010e6a9cfb4136f79b54dbbb" dependencies = [ "anyhow", - "bincode", "derive_more", - "educe", "flume", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", - "hex", - "iroh-quinn", "pin-project", "serde", "slab", + "smallvec", + "time", "tokio", - "tokio-serde", "tokio-util", "tracing", ] [[package]] name = "quic-rpc-derive" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" +checksum = "44bb53e37914f7e7c6670dc2c834b9299110620cded49e783e78e9d8baf80128" dependencies = [ "proc-macro2", "quic-rpc", @@ -3590,7 +3487,7 @@ dependencies = [ "rustc-hash", "rustls 0.23.13", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -3607,7 +3504,7 @@ dependencies = [ "rustc-hash", "rustls 0.23.13", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -3715,12 +3612,13 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" dependencies = [ "pem 3.0.4", "ring 0.17.8", + "rustls-pki-types", "time", "yasna", ] @@ -3736,9 +3634,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4760ad04a88ef77075ba86ba9ea79b919e6bab29c1764c5747237cd6eaedcaa" +checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925" dependencies = [ "libc", ] @@ -3769,14 +3667,14 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "reflink-copy" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6" +checksum = "17400ed684c3a0615932f00c271ae3eea13e47056a1455821995122348ab6438" dependencies = [ "cfg-if", "rustix", @@ -3922,7 +3820,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -3996,12 +3894,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", - "thiserror", + "nix 0.26.4", + "thiserror 1.0.64", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.27.1", + "thiserror 1.0.64", "tokio", ] @@ -4037,9 +3953,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ "bitflags 2.6.0", "errno", @@ -4316,7 +4232,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4341,6 +4257,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -4400,16 +4325,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shlex" version = "1.3.0" @@ -4462,12 +4377,6 @@ dependencies = [ "serde", ] -[[package]] -name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" - [[package]] name = "socket2" version = "0.5.7" @@ -4580,7 +4489,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4589,35 +4498,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", + "strum_macros", ] [[package]] @@ -4626,11 +4513,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4674,22 +4561,7 @@ dependencies = [ "pnet_packet", "rand", "socket2", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "swarm-discovery" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39769914108ae68e261d85ceac7bce7095947130f79c29d4535e9b31fc702a40" -dependencies = [ - "acto", - "anyhow", - "hickory-proto 0.24.1", - "rand", - "socket2", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -4707,9 +4579,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -4762,7 +4634,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4815,9 +4687,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand 2.1.1", @@ -4832,7 +4704,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] @@ -4843,7 +4724,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4928,7 +4820,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4971,7 +4863,7 @@ dependencies = [ "rustls 0.21.12", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-rustls 0.24.1", "url", @@ -4980,18 +4872,31 @@ dependencies = [ ] [[package]] -name = "tokio-serde" -version = "0.8.0" +name = "tokio-rustls-acme" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", + "async-trait", + "base64 0.22.1", + "chrono", + "futures", + "log", + "num-bigint", + "pem 3.0.4", + "proc-macro2", + "rcgen 0.13.1", + "reqwest 0.12.7", + "ring 0.17.8", + "rustls 0.23.13", "serde", + "serde_json", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls 0.26.0", + "webpki-roots 0.26.6", + "x509-parser 0.16.0", ] [[package]] @@ -5003,7 +4908,6 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", ] [[package]] @@ -5015,7 +4919,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -5029,9 +4945,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -5052,11 +4968,26 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -5065,6 +4996,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] @@ -5133,7 +5066,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5214,11 +5147,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.64", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.64", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -5326,7 +5277,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -5408,7 +5359,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -5442,7 +5393,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5462,7 +5413,7 @@ dependencies = [ "event-listener 4.0.3", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -5538,12 +5489,12 @@ dependencies = [ [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -5556,15 +5507,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-core" version = "0.52.0" @@ -5595,7 +5537,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5606,7 +5548,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5808,15 +5750,15 @@ dependencies = [ [[package]] name = "wmi" -version = "0.13.4" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" +checksum = "70df482bbec7017ce4132154233642de658000b24b805345572036782a66ad55" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", + "thiserror 1.0.64", "windows 0.58.0", "windows-core 0.58.0", ] @@ -5843,7 +5785,7 @@ dependencies = [ "nom", "oid-registry 0.6.1", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -5860,7 +5802,7 @@ dependencies = [ "nom", "oid-registry 0.7.1", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -5912,7 +5854,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] diff --git a/iroh-gateway/Cargo.toml b/iroh-gateway/Cargo.toml index efaf060c..37394df7 100644 --- a/iroh-gateway/Cargo.toml +++ b/iroh-gateway/Cargo.toml @@ -9,7 +9,8 @@ tokio = { version = "1", features = ["full"] } headers = { version = "0.4" } hyper = "1" bytes = "1.1" -iroh = "0.28" +iroh = "0.29" +iroh-blobs = "0.28" range-collections = "0.4.5" anyhow = "1.0.75" flume = "0.11.0" @@ -31,3 +32,6 @@ hyper-util = "0.1.3" rustls-pemfile = "1.0.2" tower-service = "0.3.2" mime_guess = "2.0.4" + +[patch.crates-io] +iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs", branch = "iroh-v0-29-0" } diff --git a/iroh-gateway/src/main.rs b/iroh-gateway/src/main.rs index d881f735..0e083c3c 100644 --- a/iroh-gateway/src/main.rs +++ b/iroh-gateway/src/main.rs @@ -16,18 +16,17 @@ use futures::{pin_mut, StreamExt}; use hyper::body::Incoming; use hyper_util::rt::{TokioExecutor, TokioIo}; use iroh::{ - base::{ - key::NodeId, - ticket::{BlobTicket, NodeTicket}, - }, - blobs::{ - format::collection::Collection, - get::fsm::{BlobContentNext, ConnectedNext, DecodeError, EndBlobNext}, - protocol::{RangeSpecSeq, ALPN}, - store::bao_tree::{io::fsm::BaoContentItem, ChunkNum}, - BlobFormat, Hash, - }, - net::{discovery::dns::DnsDiscovery, Endpoint, NodeAddr}, + discovery::dns::DnsDiscovery, + key::NodeId, + ticket::{BlobTicket, NodeTicket}, + Endpoint, NodeAddr, +}; +use iroh_blobs::{ + format::collection::Collection, + get::fsm::{BlobContentNext, ConnectedNext, DecodeError, EndBlobNext}, + protocol::{RangeSpecSeq, ALPN}, + store::bao_tree::{io::fsm::BaoContentItem, ChunkNum}, + BlobFormat, Hash, }; use lru::LruCache; use mime::Mime; @@ -135,8 +134,8 @@ async fn get_collection_inner( } else { RangeSpecSeq::from_ranges(vec![RangeSet2::all(), RangeSet2::all()]) }; - let request = iroh::blobs::protocol::GetRequest::new(*hash, spec); - let req = iroh::blobs::get::fsm::start(connection.clone(), request); + let request = iroh_blobs::protocol::GetRequest::new(*hash, spec); + let req = iroh_blobs::get::fsm::start(connection.clone(), request); let connected = req.next().await?; let ConnectedNext::StartRoot(at_start_root) = connected.next().await? else { anyhow::bail!("unexpected response"); @@ -213,8 +212,8 @@ async fn get_mime_type_inner( ) -> anyhow::Result<(u64, Mime)> { // read 2 KiB. let range = RangeSpecSeq::from_ranges(Some(RangeSet2::from(..ChunkNum::chunks(2048)))); - let request = iroh::blobs::protocol::GetRequest::new(*hash, range); - let req = iroh::blobs::get::fsm::start(connection.clone(), request); + let request = iroh_blobs::protocol::GetRequest::new(*hash, range); + let req = iroh_blobs::get::fsm::start(connection.clone(), request); let connected = req.next().await?; let ConnectedNext::StartRoot(x) = connected.next().await? else { anyhow::bail!("unexpected response"); @@ -431,7 +430,7 @@ async fn forward_range( let (_size, mime) = get_mime_type(gateway, hash, name, &connection).await?; tracing::debug!("mime: {}", mime); let chunk_ranges = RangeSpecSeq::from_ranges(vec![chunk_ranges]); - let request = iroh::blobs::protocol::GetRequest::new(*hash, chunk_ranges.clone()); + let request = iroh_blobs::protocol::GetRequest::new(*hash, chunk_ranges.clone()); let status_code = if byte_ranges.is_all() { StatusCode::OK } else { @@ -441,7 +440,7 @@ async fn forward_range( let (send, recv) = flume::bounded::>(2); tracing::trace!("requesting {:?}", request); - let req = iroh::blobs::get::fsm::start(connection.clone(), request); + let req = iroh_blobs::get::fsm::start(connection.clone(), request); let connected = req.next().await?; let ConnectedNext::StartRoot(x) = connected.next().await? else { anyhow::bail!("unexpected response"); diff --git a/iroh-gateway/src/ranges.rs b/iroh-gateway/src/ranges.rs index 8cbcc6aa..b6366181 100644 --- a/iroh-gateway/src/ranges.rs +++ b/iroh-gateway/src/ranges.rs @@ -5,7 +5,7 @@ use axum::body::Body; use bytes::Bytes; use headers::{HeaderMapExt, Range}; use hyper::Request; -use iroh::blobs::store::bao_tree::ChunkNum; +use iroh_blobs::store::bao_tree::ChunkNum; use range_collections::{range_set::RangeSetRange, RangeSet2}; /// Given a range specified as arbitrary range bounds, normalize it into a range From 045ce933d2dc8c658cb7e4cd747d8c16dcde868b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Tue, 3 Dec 2024 22:33:16 -0500 Subject: [PATCH 04/14] upgrade to iroh 0.29 and use the Router --- iroh-automerge/Cargo.lock | 1207 +++++++++++--------------------- iroh-automerge/Cargo.toml | 2 +- iroh-automerge/src/main.rs | 21 +- iroh-automerge/src/protocol.rs | 16 +- 4 files changed, 410 insertions(+), 836 deletions(-) diff --git a/iroh-automerge/Cargo.lock b/iroh-automerge/Cargo.lock index 33a4c3b4..dd544854 100644 --- a/iroh-automerge/Cargo.lock +++ b/iroh-automerge/Cargo.lock @@ -2,20 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "acto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c372578ce4215ccf94ec3f3585fbb6a902e47d07b064ff8a55d850ffb5025e" -dependencies = [ - "parking_lot", - "pin-project-lite", - "rustc_version", - "smol_str 0.1.24", - "tokio", - "tracing", -] - [[package]] name = "addr2line" version = "0.24.1" @@ -42,18 +28,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -63,12 +37,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "android-tzdata" version = "0.1.1" @@ -163,7 +131,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -175,7 +143,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "synstructure", ] @@ -187,19 +155,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", -] - -[[package]] -name = "async-channel" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", + "syn 2.0.90", ] [[package]] @@ -210,7 +166,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -221,7 +177,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -270,8 +226,8 @@ dependencies = [ "leb128", "serde", "sha2", - "smol_str 0.2.2", - "thiserror", + "smol_str", + "thiserror 1.0.64", "tinyvec", "tracing", "unicode-segmentation", @@ -304,23 +260,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "bao-tree" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" -dependencies = [ - "bytes", - "futures-lite 2.3.0", - "genawaiter", - "iroh-blake3", - "iroh-io", - "positioned-io", - "range-collections", - "self_cell", - "smallvec", -] - [[package]] name = "base16ct" version = "0.2.0" @@ -339,21 +278,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "binary-merge" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -419,9 +343,6 @@ name = "bytes" version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" -dependencies = [ - "serde", -] [[package]] name = "cc" @@ -463,10 +384,8 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", - "js-sys", "num-traits", "serde", - "wasm-bindgen", "windows-targets 0.52.6", ] @@ -509,10 +428,10 @@ version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -714,16 +633,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown", "lock_api", "once_cell", @@ -769,7 +689,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -799,7 +719,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "unicode-xid", ] @@ -829,7 +749,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -858,18 +778,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dyn-clone" version = "1.0.17" @@ -916,18 +824,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "either" version = "1.13.0" @@ -971,23 +867,10 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.79", -] - -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1007,7 +890,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1027,19 +910,9 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" - -[[package]] -name = "errno" -version = "0.3.9" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "event-listener" @@ -1052,27 +925,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "event-listener" -version = "5.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" -dependencies = [ - "event-listener 5.3.1", - "pin-project-lite", -] - [[package]] name = "fallible-iterator" version = "0.3.0" @@ -1245,9 +1097,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -1264,7 +1116,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1394,14 +1246,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", "dashmap", - "futures", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -1456,19 +1309,6 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" -dependencies = [ - "hashbrown", -] [[package]] name = "heapless" @@ -1484,12 +1324,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -1508,30 +1342,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.0-alpha.2" @@ -1546,11 +1356,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.5.0", + "idna", "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.64", "time", "tinyvec", "tokio", @@ -1566,7 +1376,7 @@ checksum = "46c110355b5703070d9e29c344d79818a7cde3de9c27fc35750defea6074b0ad" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "ipconfig", "lru-cache", "once_cell", @@ -1574,7 +1384,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -1615,6 +1425,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -1759,16 +1580,6 @@ dependencies = [ "cc", ] -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -1833,15 +1644,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "inplace-vec-builder" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf64c2edc8226891a71f127587a2861b132d2b942310843814d5001d99a1d307" -dependencies = [ - "smallvec", -] - [[package]] name = "instant" version = "0.1.13" @@ -1871,49 +1673,83 @@ checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "iroh" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" dependencies = [ "anyhow", - "async-channel", - "bao-tree", + "backoff", + "base64", "bytes", + "der", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", "futures-util", "genawaiter", + "governor", "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "igd-next", "iroh-base", - "iroh-blobs", - "iroh-docs", - "iroh-gossip", - "iroh-io", "iroh-metrics", - "iroh-net", + "iroh-net-report", "iroh-quinn", - "iroh-router", - "nested_enum_utils", - "num_cpus", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum", + "once_cell", "parking_lot", - "portable-atomic", + "pin-project", + "pkarr", + "portmapper", "postcard", - "quic-rpc", - "quic-rpc-derive", "rand", - "ref-cast", + "rcgen", + "reqwest", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls", + "rustls-webpki", "serde", - "serde-error", - "strum 0.25.0", - "tempfile", - "thiserror", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", "tracing", "url", - "walkdir", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi", + "x509-parser", + "z32", ] [[package]] @@ -1932,9 +1768,9 @@ dependencies = [ [[package]] name = "iroh-base" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -1949,10 +1785,9 @@ dependencies = [ "postcard", "rand", "rand_core", - "redb 2.1.3", "serde", "ssh-key", - "thiserror", + "thiserror 2.0.4", "ttl_cache", "url", "zeroize", @@ -1971,143 +1806,11 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "iroh-blobs" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" -dependencies = [ - "anyhow", - "async-channel", - "bao-tree", - "bytes", - "chrono", - "derive_more", - "futures-buffered", - "futures-lite 2.3.0", - "genawaiter", - "hashlink", - "hex", - "iroh-base", - "iroh-io", - "iroh-metrics", - "iroh-net", - "iroh-quinn", - "iroh-router", - "num_cpus", - "oneshot", - "parking_lot", - "pin-project", - "postcard", - "rand", - "range-collections", - "redb 1.5.1", - "redb 2.1.3", - "reflink-copy", - "self_cell", - "serde", - "serde-error", - "smallvec", - "tempfile", - "thiserror", - "tokio", - "tokio-util", - "tracing", - "tracing-futures", -] - -[[package]] -name = "iroh-docs" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-buffered", - "futures-lite 2.3.0", - "futures-util", - "hex", - "iroh-base", - "iroh-blake3", - "iroh-blobs", - "iroh-gossip", - "iroh-metrics", - "iroh-net", - "iroh-router", - "lru", - "num_enum", - "postcard", - "rand", - "rand_core", - "redb 1.5.1", - "redb 2.1.3", - "self_cell", - "serde", - "strum 0.25.0", - "tempfile", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", -] - -[[package]] -name = "iroh-gossip" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-util", - "indexmap", - "iroh-base", - "iroh-blake3", - "iroh-metrics", - "iroh-net", - "iroh-router", - "nested_enum_utils", - "postcard", - "quic-rpc", - "quic-rpc-derive", - "rand", - "rand_core", - "serde", - "serde-error", - "strum 0.26.3", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "iroh-io" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" -dependencies = [ - "bytes", - "futures-lite 2.3.0", - "pin-project", - "smallvec", - "tokio", -] - [[package]] name = "iroh-metrics" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -2125,83 +1828,31 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto 0.25.0-alpha.2", + "futures-lite 2.5.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", + "iroh-relay", "netwatch", - "num_enum", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", "portmapper", - "postcard", "rand", - "rcgen", "reqwest", - "ring", - "rtnetlink", "rustls", - "rustls-webpki", - "serde", - "smallvec", - "socket2", - "strum 0.26.3", - "stun-rs", "surge-ping", - "swarm-discovery", - "thiserror", - "time", + "thiserror 1.0.64", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi", - "x509-parser", - "z32", ] [[package]] @@ -2217,7 +1868,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -2235,7 +1886,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -2254,19 +1905,64 @@ dependencies = [ ] [[package]] -name = "iroh-router" -version = "0.28.0" +name = "iroh-relay" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" dependencies = [ "anyhow", + "base64", + "bytes", + "clap", + "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-sink", "futures-util", - "iroh-net", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen", + "regex", + "reqwest", + "ring", + "rustls", + "rustls-pemfile", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", + "toml", "tracing", + "tracing-subscriber", + "url", + "webpki-roots", ] [[package]] @@ -2300,7 +1996,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -2352,12 +2048,6 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - [[package]] name = "litrs" version = "0.4.1" @@ -2398,9 +2088,6 @@ name = "lru" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown", -] [[package]] name = "lru-cache" @@ -2427,7 +2114,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.64", "tracing", ] @@ -2452,12 +2139,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -2506,29 +2187,17 @@ dependencies = [ "getrandom", ] -[[package]] -name = "nested_enum_utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration", @@ -2560,6 +2229,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -2569,7 +2267,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2583,7 +2281,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -2602,30 +2300,34 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", "netdev", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", + "windows 0.58.0", "wmi", ] @@ -2640,6 +2342,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -2741,16 +2454,6 @@ dependencies = [ "libm", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_enum" version = "0.7.3" @@ -2769,7 +2472,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2799,12 +2502,6 @@ dependencies = [ "portable-atomic", ] -[[package]] -name = "oneshot" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" - [[package]] name = "opaque-debug" version = "0.3.1" @@ -2814,18 +2511,8 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl-probe" version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "overload" @@ -2938,7 +2625,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.64", "ucd-trie", ] @@ -2962,7 +2649,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2993,7 +2680,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3025,7 +2712,7 @@ dependencies = [ "mainline", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.64", "tracing", "ureq", "wasm-bindgen", @@ -3073,7 +2760,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3116,15 +2803,15 @@ checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "portmapper" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" dependencies = [ "anyhow", "base64", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "igd-next", "iroh-metrics", @@ -3135,7 +2822,7 @@ dependencies = [ "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", "tokio-util", @@ -3143,16 +2830,6 @@ dependencies = [ "url", ] -[[package]] -name = "positioned-io" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "postcard" version = "1.0.10" @@ -3279,9 +2956,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -3306,7 +2983,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3324,43 +3001,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quic-rpc" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" -dependencies = [ - "anyhow", - "bincode", - "derive_more", - "educe", - "flume", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "hex", - "iroh-quinn", - "pin-project", - "serde", - "slab", - "tokio", - "tokio-serde", - "tokio-util", - "tracing", -] - -[[package]] -name = "quic-rpc-derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" -dependencies = [ - "proc-macro2", - "quic-rpc", - "quote", - "syn 1.0.109", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -3380,7 +3020,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -3397,7 +3037,7 @@ dependencies = [ "rustc-hash", "rustls", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -3479,18 +3119,6 @@ dependencies = [ "rand_core", ] -[[package]] -name = "range-collections" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" -dependencies = [ - "binary-merge", - "inplace-vec-builder", - "ref-cast", - "smallvec", -] - [[package]] name = "raw-cpuid" version = "11.1.0" @@ -3502,34 +3130,17 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" dependencies = [ "pem", "ring", + "rustls-pki-types", "time", "yasna", ] -[[package]] -name = "redb" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7f82ecd6ba647a39dd1a7172b8a1cd9453c0adee6da20cb553d83a9a460fa5" -dependencies = [ - "libc", -] - -[[package]] -name = "redb" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4760ad04a88ef77075ba86ba9ea79b919e6bab29c1764c5747237cd6eaedcaa" -dependencies = [ - "libc", -] - [[package]] name = "redox_syscall" version = "0.5.7" @@ -3539,37 +3150,6 @@ dependencies = [ "bitflags 2.6.0", ] -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - -[[package]] -name = "reflink-copy" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6" -dependencies = [ - "cfg-if", - "rustix", - "windows 0.58.0", -] - [[package]] name = "regex" version = "1.11.0" @@ -3668,7 +3248,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -3727,12 +3307,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.26.4", + "thiserror 1.0.64", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", - "thiserror", + "nix 0.27.1", + "thiserror 1.0.64", "tokio", ] @@ -3766,19 +3364,6 @@ dependencies = [ "nom", ] -[[package]] -name = "rustix" -version = "0.38.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - [[package]] name = "rustls" version = "0.23.13" @@ -3970,15 +3555,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-error" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47" -dependencies = [ - "serde", -] - [[package]] name = "serde_bencode" version = "0.2.4" @@ -4006,7 +3582,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4021,6 +3597,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -4080,16 +3665,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shlex" version = "1.3.0" @@ -4148,15 +3723,6 @@ name = "smallvec" version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -dependencies = [ - "serde", -] - -[[package]] -name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" [[package]] name = "smol_str" @@ -4279,7 +3845,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4288,35 +3854,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", + "strum_macros", ] [[package]] @@ -4325,11 +3869,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4373,22 +3917,7 @@ dependencies = [ "pnet_packet", "rand", "socket2", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "swarm-discovery" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39769914108ae68e261d85ceac7bce7095947130f79c29d4535e9b31fc702a40" -dependencies = [ - "acto", - "anyhow", - "hickory-proto 0.24.1", - "rand", - "socket2", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -4406,9 +3935,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -4443,7 +3972,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4474,25 +4003,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] -name = "tempfile" -version = "3.13.0" +name = "thiserror" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "cfg-if", - "fastrand 2.1.1", - "once_cell", - "rustix", - "windows-sys 0.59.0", + "thiserror-impl 1.0.64", ] [[package]] name = "thiserror" -version = "1.0.64" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.4", ] [[package]] @@ -4503,7 +4028,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4588,7 +4124,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4603,18 +4139,31 @@ dependencies = [ ] [[package]] -name = "tokio-serde" -version = "0.8.0" +name = "tokio-rustls-acme" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", + "async-trait", + "base64", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen", + "reqwest", + "ring", + "rustls", "serde", + "serde_json", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", ] [[package]] @@ -4626,7 +4175,6 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", ] [[package]] @@ -4638,7 +4186,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -4652,9 +4212,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -4671,15 +4231,29 @@ dependencies = [ "futures-util", "hashbrown", "pin-project-lite", - "slab", "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -4688,6 +4262,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] @@ -4718,7 +4294,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4731,16 +4307,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -4799,11 +4365,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.64", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.64", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -4896,7 +4480,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -4988,7 +4572,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -5022,7 +4606,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5039,10 +4623,10 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45b42a2f611916b5965120a9cde2b60f2db4454826dd9ad5e6f47c24a5b3b259" dependencies = [ - "event-listener 4.0.3", + "event-listener", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -5112,12 +4696,12 @@ dependencies = [ [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -5130,15 +4714,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-core" version = "0.52.0" @@ -5169,7 +4744,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5180,7 +4755,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5382,15 +4957,15 @@ dependencies = [ [[package]] name = "wmi" -version = "0.13.4" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" +checksum = "70df482bbec7017ce4132154233642de658000b24b805345572036782a66ad55" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", + "thiserror 1.0.64", "windows 0.58.0", "windows-core 0.58.0", ] @@ -5417,7 +4992,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -5469,7 +5044,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] diff --git a/iroh-automerge/Cargo.toml b/iroh-automerge/Cargo.toml index 21f14ba5..ddd86210 100644 --- a/iroh-automerge/Cargo.toml +++ b/iroh-automerge/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" anyhow = "1.0.80" automerge = "0.5.7" clap = { version = "4.5.1", features = ["derive"] } -iroh = "0.28" +iroh = "0.29" postcard = "1.0.8" serde = { version = "1.0.197", features = ["derive"] } tokio = { version = "1.36.0", features = ["full"] } diff --git a/iroh-automerge/src/main.rs b/iroh-automerge/src/main.rs index 1360cb77..90deff6e 100644 --- a/iroh-automerge/src/main.rs +++ b/iroh-automerge/src/main.rs @@ -3,7 +3,10 @@ use std::sync::Arc; use anyhow::Result; use automerge::{transaction::Transactable, Automerge, ReadDoc}; use clap::Parser; -use iroh::{node::Node, router::ProtocolHandler}; +use iroh::{ + protocol::{ProtocolHandler, Router}, + Endpoint, +}; use protocol::IrohAutomergeProtocol; use tokio::sync::mpsc; @@ -14,7 +17,7 @@ mod protocol; #[command(version, about, long_about = None)] struct Cli { #[clap(long)] - remote_id: Option, + remote_id: Option, } #[tokio::main] @@ -26,9 +29,11 @@ async fn main() -> Result<()> { // We set up a channel so we can subscribe to sync events from the automerge protocol let (sync_sender, mut sync_finished) = mpsc::channel(10); let automerge = IrohAutomergeProtocol::new(Automerge::new(), sync_sender); - let iroh = Node::memory() - .build() - .await? + let endpoint = Endpoint::builder() + .alpns(vec![IrohAutomergeProtocol::ALPN.to_vec()]) + .bind() + .await?; + let iroh = Router::builder(endpoint) .accept( IrohAutomergeProtocol::ALPN.to_vec(), Arc::clone(&automerge) as Arc, @@ -36,9 +41,9 @@ async fn main() -> Result<()> { .spawn() .await?; - let addr = iroh.net().node_addr().await?; + let node_id = iroh.endpoint().node_id(); - println!("Running\nNode Id: {}", addr.node_id,); + println!("Running\nNode Id: {}", node_id,); // we distinguish the roles in protocol based on if the --remote-id CLI argument is present if let Some(remote_id) = opts.remote_id { @@ -54,7 +59,7 @@ async fn main() -> Result<()> { automerge.merge_doc(&mut doc).await?; // connect to the other node - let node_addr = iroh::net::NodeAddr::new(remote_id); + let node_addr = iroh::NodeAddr::new(remote_id); let conn = iroh .endpoint() .connect(node_addr, IrohAutomergeProtocol::ALPN) diff --git a/iroh-automerge/src/protocol.rs b/iroh-automerge/src/protocol.rs index 0f77703b..4bb3ba63 100644 --- a/iroh-automerge/src/protocol.rs +++ b/iroh-automerge/src/protocol.rs @@ -6,8 +6,8 @@ use automerge::{ Automerge, }; use iroh::{ - net::endpoint::{RecvStream, SendStream}, - router::ProtocolHandler, + endpoint::{Connecting, Connection, RecvStream, SendStream}, + protocol::ProtocolHandler, }; use serde::{Deserialize, Serialize}; use tokio::sync::{mpsc, Mutex}; @@ -64,10 +64,7 @@ impl IrohAutomergeProtocol { Ok(msg) } - pub async fn initiate_sync( - self: Arc, - conn: iroh::net::endpoint::Connection, - ) -> Result<()> { + pub async fn initiate_sync(self: Arc, conn: Connection) -> Result<()> { let (mut send, mut recv) = conn.open_bi().await?; let mut doc = self.fork_doc().await; @@ -106,10 +103,7 @@ impl IrohAutomergeProtocol { Ok(()) } - pub async fn respond_sync( - self: Arc, - conn: iroh::net::endpoint::Connecting, - ) -> Result<()> { + pub async fn respond_sync(self: Arc, conn: Connecting) -> Result<()> { let (mut send, mut recv) = conn.await?.accept_bi().await?; let mut doc = self.fork_doc().await; @@ -152,7 +146,7 @@ impl IrohAutomergeProtocol { impl ProtocolHandler for IrohAutomergeProtocol { fn accept( self: Arc, - conn: iroh::net::endpoint::Connecting, + conn: Connecting, ) -> Pin> + Send + 'static>> { Box::pin(async move { Arc::clone(&self).respond_sync(conn).await?; From a502eb3e9cfd930231bf595dfb28f307290be642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Tue, 3 Dec 2024 22:57:19 -0500 Subject: [PATCH 05/14] temp: update tauri --- extism/iroh-extism-host-functions/Cargo.lock | 321 +++-- tauri-todos/src-tauri/Cargo.lock | 1219 +++++++++++++----- tauri-todos/src-tauri/Cargo.toml | 6 +- tauri-todos/src-tauri/src/main.rs | 13 +- tauri-todos/src-tauri/src/todos.rs | 11 +- 5 files changed, 1138 insertions(+), 432 deletions(-) diff --git a/extism/iroh-extism-host-functions/Cargo.lock b/extism/iroh-extism-host-functions/Cargo.lock index d8679f7d..839e6a7d 100644 --- a/extism/iroh-extism-host-functions/Cargo.lock +++ b/extism/iroh-extism-host-functions/Cargo.lock @@ -101,9 +101,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "arbitrary" @@ -196,6 +196,12 @@ dependencies = [ "syn 2.0.72", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "attohttpc" version = "0.24.1" @@ -560,6 +566,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +[[package]] +name = "cordyceps" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec10f0a762d93c4498d2e97a333805cb6250d60bead623f71d8034f9a4152ba3" +dependencies = [ + "loom", + "tracing", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -1438,10 +1454,11 @@ dependencies = [ [[package]] name = "futures-buffered" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fa130f3777d0d4b0993653c20bc433026d3290627693c4ed1b18dd237357ab" +checksum = "34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684" dependencies = [ + "cordyceps", "diatomic-waker", "futures-core", "pin-project-lite", @@ -1449,9 +1466,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1474,9 +1491,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" @@ -1491,9 +1508,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -1525,9 +1542,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -1536,15 +1553,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -1554,9 +1571,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -1623,6 +1640,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows 0.48.0", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -1703,16 +1733,16 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", - "http 0.2.12", + "http 1.1.0", "indexmap 2.3.0", "slab", "tokio", @@ -1914,17 +1944,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -1944,7 +1963,7 @@ dependencies = [ "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "pin-project-lite", ] @@ -1960,30 +1979,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "hyper" -version = "0.14.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - [[package]] name = "hyper" version = "1.4.1" @@ -1993,8 +1988,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", + "h2", "http 1.1.0", - "http-body 1.0.1", + "http-body", "httparse", "httpdate", "itoa", @@ -2012,7 +2008,7 @@ checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.4.1", + "hyper", "hyper-util", "rustls", "rustls-pki-types", @@ -2032,8 +2028,8 @@ dependencies = [ "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.1", - "hyper 1.4.1", + "http-body", + "hyper", "pin-project-lite", "socket2", "tokio", @@ -2093,16 +2089,18 @@ dependencies = [ [[package]] name = "igd-next" -version = "0.14.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +checksum = "76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93" dependencies = [ "async-trait", "attohttpc", "bytes", "futures", - "http 0.2.12", - "hyper 0.14.30", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", "log", "rand", "tokio", @@ -2194,8 +2192,9 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "iroh" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" dependencies = [ "anyhow", "async-channel", @@ -2215,6 +2214,7 @@ dependencies = [ "iroh-metrics", "iroh-net", "iroh-quinn", + "iroh-router", "nested_enum_utils", "num_cpus", "parking_lot", @@ -2225,6 +2225,7 @@ dependencies = [ "rand", "ref-cast", "serde", + "serde-error", "strum 0.25.0", "tempfile", "thiserror", @@ -2238,8 +2239,9 @@ dependencies = [ [[package]] name = "iroh-base" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" dependencies = [ "aead", "anyhow", @@ -2256,7 +2258,6 @@ dependencies = [ "rand_core", "redb 2.1.1", "serde", - "serde-error", "ssh-key", "thiserror", "ttl_cache", @@ -2279,8 +2280,9 @@ dependencies = [ [[package]] name = "iroh-blobs" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" dependencies = [ "anyhow", "async-channel", @@ -2298,6 +2300,7 @@ dependencies = [ "iroh-metrics", "iroh-net", "iroh-quinn", + "iroh-router", "num_cpus", "oneshot", "parking_lot", @@ -2310,6 +2313,7 @@ dependencies = [ "reflink-copy", "self_cell", "serde", + "serde-error", "smallvec", "tempfile", "thiserror", @@ -2321,8 +2325,9 @@ dependencies = [ [[package]] name = "iroh-docs" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" dependencies = [ "anyhow", "async-channel", @@ -2339,6 +2344,7 @@ dependencies = [ "iroh-gossip", "iroh-metrics", "iroh-net", + "iroh-router", "lru", "num_enum", "postcard", @@ -2372,8 +2378,9 @@ dependencies = [ [[package]] name = "iroh-gossip" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" dependencies = [ "anyhow", "async-channel", @@ -2388,10 +2395,16 @@ dependencies = [ "iroh-blake3", "iroh-metrics", "iroh-net", + "iroh-router", + "nested_enum_utils", "postcard", + "quic-rpc", + "quic-rpc-derive", "rand", "rand_core", "serde", + "serde-error", + "strum 0.26.3", "tokio", "tokio-util", "tracing", @@ -2412,13 +2425,14 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" dependencies = [ "anyhow", "erased_set", "http-body-util", - "hyper 1.4.1", + "hyper", "hyper-util", "once_cell", "prometheus-client", @@ -2432,8 +2446,9 @@ dependencies = [ [[package]] name = "iroh-net" -version = "0.25.0" -source = "git+https://github.com/n0-computer/iroh?branch=main#5d92f49891c0c9ce52d5f64ed990655f85392b2b" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" dependencies = [ "anyhow", "backoff", @@ -2455,7 +2470,7 @@ dependencies = [ "hostname", "http 1.1.0", "http-body-util", - "hyper 1.4.1", + "hyper", "hyper-util", "igd-next", "iroh-base", @@ -2468,11 +2483,13 @@ dependencies = [ "netlink-packet-core", "netlink-packet-route", "netlink-sys", + "netwatch", "num_enum", "once_cell", "parking_lot", "pin-project", "pkarr", + "portmapper", "postcard", "rand", "rcgen", @@ -2509,9 +2526,9 @@ dependencies = [ [[package]] name = "iroh-quinn" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fd590a39a14cfc168efa4d894de5039d65641e62d8da4a80733018ababe3c33" +checksum = "35ba75a5c57cff299d2d7ca1ddee053f66339d1756bd79ec637bcad5aa61100e" dependencies = [ "bytes", "iroh-quinn-proto", @@ -2527,9 +2544,9 @@ dependencies = [ [[package]] name = "iroh-quinn-proto" -version = "0.11.6" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd0538ff12efe3d61ea1deda2d7913f4270873a519d43e6995c6e87a1558538" +checksum = "e2c869ba52683d3d067c83ab4c00a2fda18eaf13b1434d4c1352f428674d4a5d" dependencies = [ "bytes", "rand", @@ -2545,9 +2562,9 @@ dependencies = [ [[package]] name = "iroh-quinn-udp" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0619b59471fdd393ac8a6c047f640171119c1c8b41f7d2927db91776dcdbc5f" +checksum = "bfcfc0abc2fdf8cf18a6c72893b7cbebeac2274a3b1306c1760c48c0e10ac5e0" dependencies = [ "libc", "once_cell", @@ -2556,6 +2573,22 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "iroh-router" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" +dependencies = [ + "anyhow", + "futures-buffered", + "futures-lite 2.3.0", + "futures-util", + "iroh-net", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "itertools" version = "0.12.1" @@ -2646,9 +2679,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libm" @@ -2700,6 +2733,19 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + [[package]] name = "lru" version = "0.12.4" @@ -2963,6 +3009,35 @@ dependencies = [ "tokio", ] +[[package]] +name = "netwatch" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +dependencies = [ + "anyhow", + "bytes", + "derive_more", + "futures-lite 2.3.0", + "futures-sink", + "futures-util", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route", + "netlink-sys", + "once_cell", + "rtnetlink", + "serde", + "socket2", + "thiserror", + "time", + "tokio", + "tracing", + "windows 0.51.1", + "wmi", +] + [[package]] name = "nix" version = "0.26.4" @@ -3454,6 +3529,35 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +[[package]] +name = "portmapper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +dependencies = [ + "anyhow", + "base64 0.22.1", + "bytes", + "derive_more", + "futures-lite 2.3.0", + "futures-util", + "igd-next", + "iroh-metrics", + "libc", + "netwatch", + "num_enum", + "rand", + "serde", + "smallvec", + "socket2", + "thiserror", + "time", + "tokio", + "tokio-util", + "tracing", + "url", +] + [[package]] name = "positioned-io" version = "0.3.3" @@ -3679,9 +3783,9 @@ dependencies = [ [[package]] name = "quic-rpc" -version = "0.12.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b3ae032988c83ac7ce072be3c2605e90671e8830a34d6ebf24095add68b4d5" +checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" dependencies = [ "anyhow", "bincode", @@ -3704,9 +3808,9 @@ dependencies = [ [[package]] name = "quic-rpc-derive" -version = "0.12.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e222c3c9829e6e0de27e5a8fb34047cb31c39093fc00746d30457167a44252" +checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" dependencies = [ "proc-macro2", "quic-rpc", @@ -4019,9 +4123,9 @@ dependencies = [ "futures-core", "futures-util", "http 1.1.0", - "http-body 1.0.1", + "http-body", "http-body-util", - "hyper 1.4.1", + "hyper", "hyper-rustls", "hyper-util", "ipnet", @@ -4318,6 +4422,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -4385,9 +4495,9 @@ dependencies = [ [[package]] name = "serde-error" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e988182713aeed6a619a88bca186f6d6407483485ffe44c869ee264f8eabd13f" +checksum = "342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47" dependencies = [ "serde", ] @@ -4995,9 +5105,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -5994,6 +6104,15 @@ dependencies = [ "wasmtime-environ", ] +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows" version = "0.51.1" diff --git a/tauri-todos/src-tauri/Cargo.lock b/tauri-todos/src-tauri/Cargo.lock index b4da1261..3419a618 100644 --- a/tauri-todos/src-tauri/Cargo.lock +++ b/tauri-todos/src-tauri/Cargo.lock @@ -2,20 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "acto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c372578ce4215ccf94ec3f3585fbb6a902e47d07b064ff8a55d850ffb5025e" -dependencies = [ - "parking_lot", - "pin-project-lite", - "rustc_version", - "smol_str", - "tokio", - "tracing", -] - [[package]] name = "addr2line" version = "0.24.1" @@ -78,12 +64,6 @@ dependencies = [ "alloc-no-stdlib", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "android-tzdata" version = "0.1.1" @@ -99,6 +79,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.92" @@ -111,8 +140,9 @@ version = "0.1.0" dependencies = [ "anyhow", "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "iroh", + "iroh-docs", "num_cpus", "serde", "serde_json", @@ -165,7 +195,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -177,7 +207,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "synstructure", ] @@ -189,7 +219,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -225,7 +255,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.1.1", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "slab", ] @@ -237,7 +267,7 @@ checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ "async-lock", "blocking", - "futures-lite 2.3.0", + "futures-lite 2.5.0", ] [[package]] @@ -250,7 +280,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "parking", "polling", "rustix", @@ -284,7 +314,7 @@ dependencies = [ "blocking", "cfg-if", "event-listener 5.3.1", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "rustix", "tracing", ] @@ -297,7 +327,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -332,7 +362,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -382,6 +412,61 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "axum" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "itoa 1.0.11", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.1", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "backoff" version = "0.4.0" @@ -415,7 +500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" dependencies = [ "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "genawaiter", "iroh-blake3", "iroh-io", @@ -461,15 +546,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -527,7 +603,7 @@ dependencies = [ "async-channel", "async-task", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "piper", ] @@ -611,7 +687,7 @@ dependencies = [ "cairo-sys-rs", "glib", "libc", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -735,6 +811,46 @@ dependencies = [ "zeroize", ] +[[package]] +name = "clap" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "clap_lex" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" + [[package]] name = "clipboard-win" version = "5.4.0" @@ -786,6 +902,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "combine" version = "4.6.7" @@ -1032,7 +1154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1042,7 +1164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1069,7 +1191,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1093,7 +1215,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1104,7 +1226,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1120,6 +1242,20 @@ dependencies = [ "parking_lot_core", ] +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "data-encoding" version = "2.6.0" @@ -1159,7 +1295,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1180,7 +1316,7 @@ checksum = "d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1193,7 +1329,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1213,7 +1349,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "unicode-xid", ] @@ -1270,7 +1406,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1474,7 +1610,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1487,7 +1623,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1508,7 +1644,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1532,6 +1668,12 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" +[[package]] +name = "erased_set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" + [[package]] name = "errno" version = "0.3.9" @@ -1718,7 +1860,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1850,9 +1992,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -1869,7 +2011,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2112,7 +2254,7 @@ dependencies = [ "glib", "libc", "once_cell", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2145,7 +2287,7 @@ dependencies = [ "libc", "once_cell", "smallvec", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2210,7 +2352,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" dependencies = [ "cfg-if", - "dashmap", + "dashmap 5.5.3", "futures", "futures-timer", "no-std-compat", @@ -2223,6 +2365,27 @@ dependencies = [ "spinning_top", ] +[[package]] +name = "governor" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" +dependencies = [ + "cfg-if", + "dashmap 6.1.0", + "futures-sink", + "futures-timer", + "futures-util", + "no-std-compat", + "nonzero_ext", + "parking_lot", + "portable-atomic", + "quanta", + "rand 0.8.5", + "smallvec", + "spinning_top", +] + [[package]] name = "group" version = "0.13.0" @@ -2340,7 +2503,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", - "allocator-api2", ] [[package]] @@ -2391,30 +2553,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand 0.8.5", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.0-alpha.2" @@ -2429,11 +2567,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.5.0", + "idna", "ipnet", "once_cell", "rand 0.8.5", - "thiserror", + "thiserror 1.0.64", "time", "tinyvec", "tokio", @@ -2449,7 +2587,7 @@ checksum = "46c110355b5703070d9e29c344d79818a7cde3de9c27fc35750defea6074b0ad" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "ipconfig", "lru-cache", "once_cell", @@ -2457,7 +2595,7 @@ dependencies = [ "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -2507,6 +2645,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -2735,16 +2884,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -2895,49 +3034,84 @@ checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "iroh" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" dependencies = [ "anyhow", - "async-channel", - "bao-tree", + "axum", + "backoff", + "base64 0.22.1", "bytes", + "der", "derive_more 1.0.0", "futures-buffered", - "futures-lite 2.3.0", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", "futures-util", "genawaiter", + "governor 0.7.0", "hex", - "iroh-base", - "iroh-blobs", - "iroh-docs", - "iroh-gossip", - "iroh-io", - "iroh-metrics", - "iroh-net", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "igd-next", + "iroh-base 0.29.0", + "iroh-metrics 0.29.0", + "iroh-net-report", "iroh-quinn", - "iroh-router", - "nested_enum_utils", - "num_cpus", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev 0.31.0", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch 0.2.0", + "num_enum 0.7.3", + "once_cell", "parking_lot", - "portable-atomic", + "pin-project", + "pkarr", + "portmapper 0.2.1", "postcard", - "quic-rpc", - "quic-rpc-derive", "rand 0.8.5", - "ref-cast", + "rcgen 0.13.1", + "reqwest 0.12.7", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls", + "rustls-webpki", "serde", - "serde-error", - "strum 0.25.0", - "tempfile", - "thiserror", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", "tracing", "url", - "walkdir", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi 0.14.1", + "x509-parser", + "z32", ] [[package]] @@ -2959,10 +3133,37 @@ dependencies = [ "postcard", "rand 0.8.5", "rand_core 0.6.4", - "redb 2.1.3", + "redb 2.2.0", "serde", "ssh-key", - "thiserror", + "thiserror 1.0.64", + "ttl_cache", + "url", + "zeroize", +] + +[[package]] +name = "iroh-base" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" +dependencies = [ + "aead", + "anyhow", + "crypto_box", + "data-encoding", + "derive_more 1.0.0", + "ed25519-dalek", + "getrandom 0.2.15", + "hex", + "iroh-blake3", + "once_cell", + "postcard", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "ssh-key", + "thiserror 2.0.4", "ttl_cache", "url", "zeroize", @@ -2994,13 +3195,13 @@ dependencies = [ "chrono", "derive_more 1.0.0", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "genawaiter", "hashlink", "hex", - "iroh-base", + "iroh-base 0.28.0", "iroh-io", - "iroh-metrics", + "iroh-metrics 0.28.0", "iroh-net", "iroh-quinn", "iroh-router", @@ -3012,14 +3213,14 @@ dependencies = [ "rand 0.8.5", "range-collections", "redb 1.5.1", - "redb 2.1.3", + "redb 2.2.0", "reflink-copy", "self_cell", "serde", "serde-error", "smallvec", "tempfile", - "thiserror", + "thiserror 1.0.64", "tokio", "tokio-util", "tracing", @@ -3029,8 +3230,7 @@ dependencies = [ [[package]] name = "iroh-docs" version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" +source = "git+https://github.com/n0-computer/iroh-docs?branch=iroh-v0-29-0#4880c529d63dcc7016ef1e2188419bd7b1a076d1" dependencies = [ "anyhow", "async-channel", @@ -3038,28 +3238,30 @@ dependencies = [ "derive_more 1.0.0", "ed25519-dalek", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "hex", - "iroh-base", + "iroh", "iroh-blake3", "iroh-blobs", "iroh-gossip", - "iroh-metrics", - "iroh-net", - "iroh-router", - "lru", + "iroh-metrics 0.29.0", + "nested_enum_utils", "num_enum 0.7.3", + "portable-atomic", "postcard", + "quic-rpc 0.17.0", + "quic-rpc-derive 0.17.0", "rand 0.8.5", "rand_core 0.6.4", "redb 1.5.1", - "redb 2.1.3", + "redb 2.2.0", "self_cell", "serde", - "strum 0.25.0", + "serde-error", + "strum", "tempfile", - "thiserror", + "thiserror 2.0.4", "tokio", "tokio-stream", "tokio-util", @@ -3078,23 +3280,23 @@ dependencies = [ "derive_more 1.0.0", "ed25519-dalek", "futures-concurrency", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "indexmap 2.5.0", - "iroh-base", + "iroh-base 0.28.0", "iroh-blake3", - "iroh-metrics", + "iroh-metrics 0.28.0", "iroh-net", "iroh-router", "nested_enum_utils", "postcard", - "quic-rpc", - "quic-rpc-derive", + "quic-rpc 0.14.0", + "quic-rpc-derive 0.14.0", "rand 0.8.5", "rand_core 0.6.4", "serde", "serde-error", - "strum 0.26.3", + "strum", "tokio", "tokio-util", "tracing", @@ -3107,7 +3309,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" dependencies = [ "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "pin-project", "smallvec", "tokio", @@ -3120,7 +3322,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" dependencies = [ "anyhow", - "erased_set", + "erased_set 0.7.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "once_cell", + "prometheus-client", + "reqwest 0.12.7", + "serde", + "struct_iterable", + "time", + "tokio", + "tracing", +] + +[[package]] +name = "iroh-metrics" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" +dependencies = [ + "anyhow", + "erased_set 0.8.0", "http-body-util", "hyper 1.4.1", "hyper-util", @@ -3149,71 +3372,98 @@ dependencies = [ "duct", "futures-buffered", "futures-concurrency", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", "genawaiter", - "governor", + "governor 0.6.3", "hex", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "hickory-resolver", - "hostname", + "hostname 0.3.1", "http 1.1.0", "http-body-util", "hyper 1.4.1", "hyper-util", "igd-next", - "iroh-base", - "iroh-metrics", + "iroh-base 0.28.0", + "iroh-metrics 0.28.0", "iroh-quinn", "iroh-quinn-proto", "iroh-quinn-udp", "libc", - "netdev", + "netdev 0.30.0", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", - "netwatch", + "netwatch 0.1.0", "num_enum 0.7.3", "once_cell", "parking_lot", "pin-project", "pkarr", - "portmapper", + "portmapper 0.1.0", "postcard", "rand 0.8.5", - "rcgen", + "rcgen 0.12.1", "reqwest 0.12.7", "ring", - "rtnetlink", + "rtnetlink 0.13.1", "rustls", "rustls-webpki", "serde", "smallvec", "socket2", - "strum 0.26.3", + "strum", "stun-rs", "surge-ping", - "swarm-discovery", - "thiserror", + "thiserror 1.0.64", "time", "tokio", "tokio-rustls", "tokio-stream", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", + "tungstenite 0.21.0", "url", "watchable", "webpki-roots", "windows 0.51.1", - "wmi", + "wmi 0.13.4", "x509-parser", "z32", ] +[[package]] +name = "iroh-net-report" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" +dependencies = [ + "anyhow", + "bytes", + "derive_more 1.0.0", + "futures-buffered", + "futures-lite 2.5.0", + "hickory-resolver", + "iroh-base 0.29.0", + "iroh-metrics 0.29.0", + "iroh-relay", + "netwatch 0.2.0", + "portmapper 0.2.1", + "rand 0.8.5", + "reqwest 0.12.7", + "rustls", + "surge-ping", + "thiserror 1.0.64", + "tokio", + "tokio-util", + "tracing", + "url", +] + [[package]] name = "iroh-quinn" version = "0.12.0" @@ -3227,7 +3477,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -3245,7 +3495,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -3263,6 +3513,67 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "iroh-relay" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" +dependencies = [ + "anyhow", + "base64 0.22.1", + "bytes", + "clap", + "derive_more 1.0.0", + "futures-buffered", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "governor 0.7.0", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "iroh-base 0.29.0", + "iroh-metrics 0.29.0", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum 0.7.3", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand 0.8.5", + "rcgen 0.13.1", + "regex", + "reqwest 0.12.7", + "ring", + "rustls", + "rustls-pemfile 2.2.0", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", + "tokio-util", + "toml 0.8.19", + "tracing", + "tracing-subscriber", + "url", + "webpki-roots", +] + [[package]] name = "iroh-router" version = "0.28.0" @@ -3271,7 +3582,7 @@ checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" dependencies = [ "anyhow", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "iroh-net", "tokio", @@ -3279,6 +3590,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itoa" version = "0.4.8" @@ -3324,7 +3641,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -3338,7 +3655,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -3372,7 +3689,7 @@ dependencies = [ "jsonptr", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -3495,9 +3812,6 @@ name = "lru" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown 0.14.5", -] [[package]] name = "lru-cache" @@ -3543,7 +3857,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.64", "tracing", ] @@ -3591,6 +3905,12 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "md5" version = "0.7.0" @@ -3697,7 +4017,7 @@ dependencies = [ "jni-sys", "ndk-sys", "num_enum 0.5.11", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -3737,7 +4057,24 @@ dependencies = [ "libc", "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", + "netlink-sys", + "once_cell", + "system-configuration 0.6.1", + "windows-sys 0.52.0", +] + +[[package]] +name = "netdev" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" +dependencies = [ + "dlopen2", + "ipnet", + "libc", + "netlink-packet-core", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration 0.6.1", @@ -3769,6 +4106,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -3778,7 +4144,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -3792,7 +4158,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -3803,39 +4169,72 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" dependencies = [ "bytes", - "futures", + "futures", + "libc", + "log", + "tokio", +] + +[[package]] +name = "netwatch" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +dependencies = [ + "anyhow", + "bytes", + "derive_more 1.0.0", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", "libc", - "log", + "netdev 0.30.0", + "netlink-packet-core", + "netlink-packet-route 0.17.1", + "netlink-sys", + "once_cell", + "rtnetlink 0.13.1", + "serde", + "socket2", + "thiserror 1.0.64", + "time", "tokio", + "tracing", + "windows 0.51.1", + "wmi 0.13.4", ] [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more 1.0.0", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", - "netdev", + "netdev 0.31.0", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", - "wmi", + "windows 0.58.0", + "wmi 0.14.1", ] [[package]] @@ -3856,6 +4255,17 @@ dependencies = [ "memoffset 0.7.1", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "nix" version = "0.28.0" @@ -4050,7 +4460,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4263,7 +4673,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4457,7 +4867,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.64", "ucd-trie", ] @@ -4481,7 +4891,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4609,7 +5019,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4656,7 +5066,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4699,7 +5109,7 @@ dependencies = [ "mainline", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.64", "tracing", "ureq", "wasm-bindgen", @@ -4766,7 +5176,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4845,18 +5255,47 @@ dependencies = [ "base64 0.22.1", "bytes", "derive_more 1.0.0", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-util", + "igd-next", + "iroh-metrics 0.28.0", + "libc", + "netwatch 0.1.0", + "num_enum 0.7.3", + "rand 0.8.5", + "serde", + "smallvec", + "socket2", + "thiserror 1.0.64", + "time", + "tokio", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "portmapper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" +dependencies = [ + "anyhow", + "base64 0.22.1", + "bytes", + "derive_more 1.0.0", + "futures-lite 2.5.0", "futures-util", "igd-next", - "iroh-metrics", + "iroh-metrics 0.29.0", "libc", - "netwatch", + "netwatch 0.2.0", "num_enum 0.7.3", "rand 0.8.5", "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", "tokio-util", @@ -5039,9 +5478,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -5066,7 +5505,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5091,20 +5530,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" dependencies = [ "anyhow", - "bincode", "derive_more 1.0.0", "educe", "flume", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", "hex", - "iroh-quinn", "pin-project", "serde", "slab", "tokio", - "tokio-serde", + "tracing", +] + +[[package]] +name = "quic-rpc" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ae09230350898e9a243a7a4a5fdde934edfb6b010e6a9cfb4136f79b54dbbb" +dependencies = [ + "anyhow", + "derive_more 1.0.0", + "flume", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "pin-project", + "serde", + "slab", + "smallvec", + "time", + "tokio", "tokio-util", "tracing", ] @@ -5116,7 +5573,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" dependencies = [ "proc-macro2", - "quic-rpc", + "quic-rpc 0.14.0", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quic-rpc-derive" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44bb53e37914f7e7c6670dc2c834b9299110620cded49e783e78e9d8baf80128" +dependencies = [ + "proc-macro2", + "quic-rpc 0.17.0", "quote", "syn 1.0.109", ] @@ -5167,7 +5636,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -5184,7 +5653,7 @@ dependencies = [ "rustc-hash", "rustls", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -5347,6 +5816,19 @@ dependencies = [ "yasna", ] +[[package]] +name = "rcgen" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" +dependencies = [ + "pem", + "ring", + "rustls-pki-types", + "time", + "yasna", +] + [[package]] name = "redb" version = "1.5.1" @@ -5358,9 +5840,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4760ad04a88ef77075ba86ba9ea79b919e6bab29c1764c5747237cd6eaedcaa" +checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925" dependencies = [ "libc", ] @@ -5382,7 +5864,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -5402,14 +5884,14 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "reflink-copy" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6" +checksum = "17400ed684c3a0615932f00c271ae3eea13e47056a1455821995122348ab6438" dependencies = [ "cfg-if", "rustix", @@ -5556,7 +6038,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -5639,12 +6121,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-packet-utils", "netlink-proto", "netlink-sys", "nix 0.26.4", - "thiserror", + "thiserror 1.0.64", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.27.1", + "thiserror 1.0.64", "tokio", ] @@ -5950,7 +6450,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5966,6 +6466,16 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa 1.0.11", + "serde", +] + [[package]] name = "serde_repr" version = "0.1.19" @@ -5974,7 +6484,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6025,7 +6535,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6057,7 +6567,7 @@ checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6181,12 +6691,6 @@ dependencies = [ "serde", ] -[[package]] -name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" - [[package]] name = "socket2" version = "0.5.7" @@ -6368,7 +6872,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6377,35 +6881,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", + "strum_macros", ] [[package]] @@ -6418,7 +6900,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6462,22 +6944,7 @@ dependencies = [ "pnet_packet", "rand 0.8.5", "socket2", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "swarm-discovery" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39769914108ae68e261d85ceac7bce7095947130f79c29d4535e9b31fc702a40" -dependencies = [ - "acto", - "anyhow", - "hickory-proto 0.24.1", - "rand 0.8.5", - "socket2", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -6495,9 +6962,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -6538,7 +7005,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6673,7 +7140,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6751,7 +7218,7 @@ dependencies = [ "tauri-runtime-wry", "tauri-utils", "tempfile", - "thiserror", + "thiserror 1.0.64", "tokio", "url", "uuid", @@ -6799,7 +7266,7 @@ dependencies = [ "serde_json", "sha2", "tauri-utils", - "thiserror", + "thiserror 1.0.64", "time", "uuid", "walkdir", @@ -6833,7 +7300,7 @@ dependencies = [ "serde", "serde_json", "tauri-utils", - "thiserror", + "thiserror 1.0.64", "url", "uuid", "webview2-com", @@ -6885,7 +7352,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror", + "thiserror 1.0.64", "url", "walkdir", "windows-version", @@ -6948,7 +7415,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] @@ -6959,7 +7435,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -7054,7 +7541,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -7079,18 +7566,31 @@ dependencies = [ ] [[package]] -name = "tokio-serde" -version = "0.8.0" +name = "tokio-rustls-acme" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", + "async-trait", + "base64 0.22.1", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen 0.13.1", + "reqwest 0.12.7", + "ring", + "rustls", "serde", + "serde_json", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", ] [[package]] @@ -7114,7 +7614,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -7128,9 +7640,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -7219,6 +7731,28 @@ dependencies = [ "winnow 0.6.20", ] +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.3" @@ -7245,7 +7779,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -7340,11 +7874,29 @@ dependencies = [ "log", "rand 0.8.5", "sha1", - "thiserror", + "thiserror 1.0.64", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand 0.8.5", + "sha1", + "thiserror 1.0.64", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -7448,7 +8000,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -7459,6 +8011,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.10.0" @@ -7577,7 +8135,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -7611,7 +8169,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7644,7 +8202,7 @@ dependencies = [ "event-listener 4.0.3", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -7818,7 +8376,7 @@ dependencies = [ "regex", "serde", "serde_json", - "thiserror", + "thiserror 1.0.64", "windows 0.39.0", "windows-bindgen", "windows-metadata", @@ -7913,6 +8471,16 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows" version = "0.56.0" @@ -8004,7 +8572,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -8015,7 +8583,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -8026,7 +8594,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -8037,7 +8605,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -8415,7 +8983,7 @@ dependencies = [ "nix 0.28.0", "os_pipe", "tempfile", - "thiserror", + "thiserror 1.0.64", "tree_magic_mini", "wayland-backend", "wayland-client", @@ -8433,7 +9001,22 @@ dependencies = [ "futures", "log", "serde", - "thiserror", + "thiserror 1.0.64", + "windows 0.58.0", + "windows-core 0.58.0", +] + +[[package]] +name = "wmi" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70df482bbec7017ce4132154233642de658000b24b805345572036782a66ad55" +dependencies = [ + "chrono", + "futures", + "log", + "serde", + "thiserror 1.0.64", "windows 0.58.0", "windows-core 0.58.0", ] @@ -8467,7 +9050,7 @@ dependencies = [ "sha2", "soup2", "tao", - "thiserror", + "thiserror 1.0.64", "url", "webkit2gtk", "webkit2gtk-sys", @@ -8536,7 +9119,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -8638,7 +9221,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "zvariant_utils", ] @@ -8671,7 +9254,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -8702,7 +9285,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "zvariant_utils", ] @@ -8714,5 +9297,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] diff --git a/tauri-todos/src-tauri/Cargo.toml b/tauri-todos/src-tauri/Cargo.toml index 626c829b..b2a60c13 100644 --- a/tauri-todos/src-tauri/Cargo.toml +++ b/tauri-todos/src-tauri/Cargo.toml @@ -18,7 +18,8 @@ serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } tauri = { version = "1.6.1", features = ["api-all"] } tokio = { version = "1" } -iroh = "0.28" +iroh = "0.29" +iroh-docs = "0.28" bytes = "1" num_cpus = { version = "1.15.0" } tokio-util = { version = "0.7" } @@ -31,3 +32,6 @@ default = [ "custom-protocol" ] # this feature is used used for production builds where `devPath` points to the filesystem # DO NOT remove this custom-protocol = [ "tauri/custom-protocol" ] + +[patch.crates-io] +iroh-docs = { git = "https://github.com/n0-computer/iroh-docs", branch = "iroh-v0-29-0" } diff --git a/tauri-todos/src-tauri/src/main.rs b/tauri-todos/src-tauri/src/main.rs index f4c3aa79..f698b38d 100644 --- a/tauri-todos/src-tauri/src/main.rs +++ b/tauri-todos/src-tauri/src/main.rs @@ -6,9 +6,7 @@ mod todos; use anyhow::{anyhow, Result}; use futures_lite::StreamExt; -use iroh::client::docs::LiveEvent; -use iroh::client::Iroh; -use iroh::docs::ContentStatus; +use iroh_docs::{store::fs::Store, ContentStatus, rpc::client::{docs::LiveEvent, Iroh}}; use tauri::Manager; use tokio::sync::Mutex; @@ -26,8 +24,13 @@ async fn setup(handle: tauri::AppHandle) -> Result<()> { .ok_or_else(|| anyhow!("can't get application data directory"))? .join("iroh_data"); - // create the iroh node that has persistent storage and docs enabled - let node = iroh::node::Builder::default().enable_docs().persist(data_root) + // create the docs protocol with persistent storage + let store = Store::persistent(data_root)?; + let docs = + // create the iroh that has persistent storage and docs enabled + let node = iroh::node::Builder::default() + .enable_docs() + .persist(data_root) .await? .spawn() .await?; diff --git a/tauri-todos/src-tauri/src/todos.rs b/tauri-todos/src-tauri/src/todos.rs index 66f57f91..c6d2cb48 100644 --- a/tauri-todos/src-tauri/src/todos.rs +++ b/tauri-todos/src-tauri/src/todos.rs @@ -2,8 +2,8 @@ use anyhow::{bail, ensure, Context, Result}; use bytes::Bytes; use futures_lite::{Stream, StreamExt}; use iroh::client::docs::{Entry, LiveEvent, ShareMode}; -use iroh::client::{docs::Doc, Iroh}; -use iroh::docs::{AuthorId, DocTicket}; +use iroh_docs::rpc::client::{docs::Doc, Iroh}; +use iroh_docs::{store::Query, AuthorId, DocTicket}; use std::str::FromStr; // use iroh::ticket::DocTicket; use serde::{Deserialize, Serialize}; @@ -129,10 +129,7 @@ impl Todos { } pub async fn get_todos(&self) -> anyhow::Result> { - let mut entries = self - .doc - .get_many(iroh::docs::store::Query::single_latest_per_key()) - .await?; + let mut entries = self.doc.get_many(Query::single_latest_per_key()).await?; let mut todos = Vec::new(); while let Some(entry) = entries.next().await { @@ -161,7 +158,7 @@ impl Todos { async fn get_todo(&self, id: String) -> anyhow::Result { let entry = self .doc - .get_many(iroh::docs::store::Query::single_latest_per_key().key_exact(id)) + .get_many(Query::single_latest_per_key().key_exact(id)) .await? .next() .await From d5d311c60d51525768530dde40b29c0fb8b89bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Tue, 3 Dec 2024 23:18:27 -0500 Subject: [PATCH 06/14] temp: extism upgrade from Node to iroh-blobs + router --- extism/iroh-extism-host-functions/Cargo.lock | 1284 +++++++----------- extism/iroh-extism-host-functions/Cargo.toml | 6 +- extism/iroh-extism-host-functions/src/lib.rs | 45 +- 3 files changed, 530 insertions(+), 805 deletions(-) diff --git a/extism/iroh-extism-host-functions/Cargo.lock b/extism/iroh-extism-host-functions/Cargo.lock index 839e6a7d..b5224c43 100644 --- a/extism/iroh-extism-host-functions/Cargo.lock +++ b/extism/iroh-extism-host-functions/Cargo.lock @@ -2,20 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "acto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c372578ce4215ccf94ec3f3585fbb6a902e47d07b064ff8a55d850ffb5025e" -dependencies = [ - "parking_lot", - "pin-project-lite", - "rustc_version", - "smol_str", - "tokio", - "tracing", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -72,12 +58,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "ambient-authority" version = "0.0.2" @@ -99,6 +79,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.93" @@ -135,7 +164,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.63", "time", ] @@ -147,7 +176,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "synstructure", ] @@ -159,19 +188,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", -] - -[[package]] -name = "async-channel" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", + "syn 2.0.90", ] [[package]] @@ -182,7 +199,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -193,7 +210,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -245,23 +262,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "bao-tree" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" -dependencies = [ - "bytes", - "futures-lite 2.3.0", - "genawaiter", - "iroh-blake3", - "iroh-io", - "positioned-io", - "range-collections", - "self_cell", - "smallvec", -] - [[package]] name = "base16ct" version = "0.2.0" @@ -286,21 +286,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "binary-merge" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -363,9 +348,6 @@ name = "bytes" version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -dependencies = [ - "serde", -] [[package]] name = "cap-fs-ext" @@ -491,10 +473,8 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", - "js-sys", "num-traits", "serde", - "wasm-bindgen", "windows-targets 0.52.6", ] @@ -509,12 +489,58 @@ dependencies = [ "zeroize", ] +[[package]] +name = "clap" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "clap_lex" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" + [[package]] name = "cobs" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "combine" version = "4.6.7" @@ -848,16 +874,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -912,7 +939,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -942,7 +969,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "unicode-xid", ] @@ -1023,7 +1050,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1052,18 +1079,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dyn-clone" version = "1.0.17" @@ -1110,18 +1125,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "either" version = "1.13.0" @@ -1171,20 +1174,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.72", -] - -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1204,7 +1194,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1224,9 +1214,9 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "errno" @@ -1249,27 +1239,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "event-listener" -version = "5.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" -dependencies = [ - "event-listener 5.3.1", - "pin-project-lite", -] - [[package]] name = "extism" version = "1.5.0" @@ -1321,7 +1290,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1529,9 +1498,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.0", "futures-core", @@ -1548,7 +1517,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1702,14 +1671,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", "dashmap", - "futures", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -1772,19 +1742,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", - "allocator-api2", "serde", ] -[[package]] -name = "hashlink" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" -dependencies = [ - "hashbrown 0.14.5", -] - [[package]] name = "heck" version = "0.4.1" @@ -1809,30 +1769,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.0-alpha.2" @@ -1847,11 +1783,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.5.0", + "idna", "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.63", "time", "tinyvec", "tokio", @@ -1867,7 +1803,7 @@ checksum = "46c110355b5703070d9e29c344d79818a7cde3de9c27fc35750defea6074b0ad" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "ipconfig", "lru-cache", "once_cell", @@ -1875,7 +1811,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -1916,6 +1852,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -2067,16 +2014,6 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -2138,15 +2075,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "inplace-vec-builder" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf64c2edc8226891a71f127587a2861b132d2b942310843814d5001d99a1d307" -dependencies = [ - "smallvec", -] - [[package]] name = "instant" version = "0.1.13" @@ -2186,62 +2114,96 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iroh" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" dependencies = [ "anyhow", - "async-channel", - "bao-tree", + "backoff", + "base64 0.22.1", "bytes", + "der", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", "futures-util", "genawaiter", + "governor", "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "igd-next", "iroh-base", - "iroh-blobs", - "iroh-docs", - "iroh-gossip", - "iroh-io", "iroh-metrics", - "iroh-net", + "iroh-net-report", "iroh-quinn", - "iroh-router", - "nested_enum_utils", - "num_cpus", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum", + "once_cell", "parking_lot", - "portable-atomic", + "pin-project", + "pkarr", + "portmapper", "postcard", - "quic-rpc", - "quic-rpc-derive", "rand", - "ref-cast", + "rcgen", + "reqwest", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls", + "rustls-webpki", "serde", - "serde-error", - "strum 0.25.0", - "tempfile", - "thiserror", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", "tracing", "url", - "walkdir", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi", + "x509-parser", + "z32", ] [[package]] name = "iroh-base" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -2256,10 +2218,9 @@ dependencies = [ "postcard", "rand", "rand_core", - "redb 2.1.1", "serde", "ssh-key", - "thiserror", + "thiserror 2.0.4", "ttl_cache", "url", "zeroize", @@ -2278,91 +2239,6 @@ dependencies = [ "constant_time_eq", ] -[[package]] -name = "iroh-blobs" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" -dependencies = [ - "anyhow", - "async-channel", - "bao-tree", - "bytes", - "chrono", - "derive_more", - "futures-buffered", - "futures-lite 2.3.0", - "genawaiter", - "hashlink", - "hex", - "iroh-base", - "iroh-io", - "iroh-metrics", - "iroh-net", - "iroh-quinn", - "iroh-router", - "num_cpus", - "oneshot", - "parking_lot", - "pin-project", - "postcard", - "rand", - "range-collections", - "redb 1.5.1", - "redb 2.1.1", - "reflink-copy", - "self_cell", - "serde", - "serde-error", - "smallvec", - "tempfile", - "thiserror", - "tokio", - "tokio-util", - "tracing", - "tracing-futures", -] - -[[package]] -name = "iroh-docs" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-buffered", - "futures-lite 2.3.0", - "futures-util", - "hex", - "iroh-base", - "iroh-blake3", - "iroh-blobs", - "iroh-gossip", - "iroh-metrics", - "iroh-net", - "iroh-router", - "lru", - "num_enum", - "postcard", - "rand", - "rand_core", - "redb 1.5.1", - "redb 2.1.1", - "self_cell", - "serde", - "strum 0.25.0", - "tempfile", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", -] - [[package]] name = "iroh-extism-host-functions" version = "0.1.0" @@ -2376,58 +2252,11 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "iroh-gossip" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-util", - "indexmap 2.3.0", - "iroh-base", - "iroh-blake3", - "iroh-metrics", - "iroh-net", - "iroh-router", - "nested_enum_utils", - "postcard", - "quic-rpc", - "quic-rpc-derive", - "rand", - "rand_core", - "serde", - "serde-error", - "strum 0.26.3", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "iroh-io" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d1047ad5ca29ab4ff316b6830d86e7ea52cea54325e4d4a849692e1274b498" -dependencies = [ - "bytes", - "futures-lite 2.3.0", - "pin-project", - "smallvec", - "tokio", -] - [[package]] name = "iroh-metrics" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -2445,83 +2274,31 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64 0.22.1", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto 0.25.0-alpha.2", + "futures-lite 2.5.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", + "iroh-relay", "netwatch", - "num_enum", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", "portmapper", - "postcard", "rand", - "rcgen", "reqwest", - "ring", - "rtnetlink", "rustls", - "rustls-webpki", - "serde", - "smallvec", - "socket2", - "strum 0.26.3", - "stun-rs", "surge-ping", - "swarm-discovery", - "thiserror", - "time", + "thiserror 1.0.63", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi", - "x509-parser", - "z32", ] [[package]] @@ -2537,7 +2314,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "socket2", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -2555,7 +2332,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.63", "tinyvec", "tracing", ] @@ -2574,21 +2351,72 @@ dependencies = [ ] [[package]] -name = "iroh-router" -version = "0.28.0" +name = "iroh-relay" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" dependencies = [ "anyhow", + "base64 0.22.1", + "bytes", + "clap", + "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-sink", "futures-util", - "iroh-net", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen", + "regex", + "reqwest", + "ring", + "rustls", + "rustls-pemfile", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", + "toml 0.8.19", "tracing", + "tracing-subscriber", + "url", + "webpki-roots", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.12.1" @@ -2634,7 +2462,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.63", "walkdir", ] @@ -2751,9 +2579,6 @@ name = "lru" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown 0.14.5", -] [[package]] name = "lru-cache" @@ -2789,7 +2614,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.63", "tracing", ] @@ -2802,7 +2627,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -2843,12 +2668,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -2915,29 +2734,17 @@ dependencies = [ "getrandom", ] -[[package]] -name = "nested_enum_utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration", @@ -2969,6 +2776,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -2978,7 +2814,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -2992,7 +2828,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.63", "tokio", ] @@ -3011,30 +2847,34 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", "netdev", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", + "windows 0.58.0", "wmi", ] @@ -3049,6 +2889,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -3150,16 +3001,6 @@ dependencies = [ "libm", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_enum" version = "0.7.3" @@ -3178,7 +3019,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -3208,12 +3049,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "oneshot" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" - [[package]] name = "opaque-debug" version = "0.3.1" @@ -3222,19 +3057,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "overload" @@ -3347,7 +3172,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.63", "ucd-trie", ] @@ -3371,7 +3196,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -3402,7 +3227,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -3434,7 +3259,7 @@ dependencies = [ "mainline", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.63", "tracing", "ureq", "wasm-bindgen", @@ -3488,7 +3313,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -3531,15 +3356,15 @@ checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "portmapper" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" dependencies = [ "anyhow", "base64 0.22.1", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "igd-next", "iroh-metrics", @@ -3550,7 +3375,7 @@ dependencies = [ "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", "tokio-util", @@ -3558,16 +3383,6 @@ dependencies = [ "url", ] -[[package]] -name = "positioned-io" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "postcard" version = "1.0.8" @@ -3704,9 +3519,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -3731,7 +3546,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -3754,7 +3569,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -3781,43 +3596,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quic-rpc" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" -dependencies = [ - "anyhow", - "bincode", - "derive_more", - "educe", - "flume", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "hex", - "iroh-quinn", - "pin-project", - "serde", - "slab", - "tokio", - "tokio-serde", - "tokio-util", - "tracing", -] - -[[package]] -name = "quic-rpc-derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" -dependencies = [ - "proc-macro2", - "quic-rpc", - "quote", - "syn 1.0.109", -] - [[package]] name = "quick-error" version = "1.2.3" @@ -3837,7 +3615,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "socket2", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -3854,7 +3632,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "slab", - "thiserror", + "thiserror 1.0.63", "tinyvec", "tracing", ] @@ -3927,18 +3705,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "range-collections" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" -dependencies = [ - "binary-merge", - "inplace-vec-builder", - "ref-cast", - "smallvec", -] - [[package]] name = "raw-cpuid" version = "11.1.0" @@ -3970,34 +3736,17 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" dependencies = [ "pem", "ring", + "rustls-pki-types", "time", "yasna", ] -[[package]] -name = "redb" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7f82ecd6ba647a39dd1a7172b8a1cd9453c0adee6da20cb553d83a9a460fa5" -dependencies = [ - "libc", -] - -[[package]] -name = "redb" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6dd20d3cdeb9c7d2366a0b16b93b35b75aec15309fbeb7ce477138c9f68c8c0" -dependencies = [ - "libc", -] - [[package]] name = "redox_syscall" version = "0.5.3" @@ -4015,38 +3764,7 @@ checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", "libredox", - "thiserror", -] - -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "reflink-copy" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6" -dependencies = [ - "cfg-if", - "rustix", - "windows 0.58.0", + "thiserror 1.0.63", ] [[package]] @@ -4160,7 +3878,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -4241,12 +3959,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.26.4", + "thiserror 1.0.63", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", - "thiserror", + "nix 0.27.1", + "thiserror 1.0.63", "tokio", ] @@ -4493,15 +4229,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-error" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47" -dependencies = [ - "serde", -] - [[package]] name = "serde_bencode" version = "0.2.4" @@ -4529,7 +4256,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -4612,16 +4339,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shellexpand" version = "2.1.2" @@ -4683,12 +4400,6 @@ dependencies = [ "serde", ] -[[package]] -name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" - [[package]] name = "socket2" version = "0.5.7" @@ -4781,6 +4492,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "struct_iterable" version = "0.1.1" @@ -4801,7 +4518,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -4810,35 +4527,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.72", + "strum_macros", ] [[package]] @@ -4851,7 +4546,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -4895,22 +4590,7 @@ dependencies = [ "pnet_packet", "rand", "socket2", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "swarm-discovery" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39769914108ae68e261d85ceac7bce7095947130f79c29d4535e9b31fc702a40" -dependencies = [ - "acto", - "anyhow", - "hickory-proto 0.24.1", - "rand", - "socket2", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -4928,9 +4608,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -4962,7 +4642,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5033,7 +4713,16 @@ version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.63", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] @@ -5044,7 +4733,18 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5129,7 +4829,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5144,18 +4844,31 @@ dependencies = [ ] [[package]] -name = "tokio-serde" -version = "0.8.0" +name = "tokio-rustls-acme" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", + "async-trait", + "base64 0.22.1", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen", + "reqwest", + "ring", + "rustls", "serde", + "serde_json", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", ] [[package]] @@ -5167,7 +4880,6 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", ] [[package]] @@ -5179,7 +4891,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -5193,9 +4917,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.63", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -5317,7 +5041,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5330,16 +5054,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -5398,11 +5112,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.63", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.63", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -5496,7 +5228,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -5507,6 +5239,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.10.0" @@ -5578,7 +5316,7 @@ dependencies = [ "once_cell", "rustix", "system-interface", - "thiserror", + "thiserror 1.0.63", "tracing", "wasmtime", "wiggle", @@ -5606,7 +5344,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -5640,7 +5378,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5787,7 +5525,7 @@ dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "wasmtime-component-util", "wasmtime-wit-bindgen", "wit-parser", @@ -5817,7 +5555,7 @@ dependencies = [ "log", "object", "target-lexicon", - "thiserror", + "thiserror 1.0.63", "wasmparser", "wasmtime-environ", "wasmtime-versioned-export-macros", @@ -5914,7 +5652,7 @@ checksum = "de5a9bc4f44ceeb168e9e8e3be4e0b4beb9095b468479663a9e24c667e36826f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5983,10 +5721,10 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45b42a2f611916b5965120a9cde2b60f2db4454826dd9ad5e6f47c24a5b3b259" dependencies = [ - "event-listener 4.0.3", + "event-listener", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -6023,7 +5761,7 @@ dependencies = [ "anyhow", "async-trait", "bitflags 2.6.0", - "thiserror", + "thiserror 1.0.63", "tracing", "wasmtime", "wiggle-macro", @@ -6040,7 +5778,7 @@ dependencies = [ "proc-macro2", "quote", "shellexpand", - "syn 2.0.72", + "syn 2.0.90", "witx", ] @@ -6052,7 +5790,7 @@ checksum = "cc26129a8aea20b62c961d1b9ab4a3c3b56b10042ed85d004f8678af0f21ba6e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "wiggle-generate", ] @@ -6113,16 +5851,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" -dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", -] - [[package]] name = "windows" version = "0.52.0" @@ -6130,8 +5858,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core 0.52.0", - "windows-implement 0.52.0", - "windows-interface 0.52.0", "windows-targets 0.52.6", ] @@ -6145,15 +5871,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-core" version = "0.52.0" @@ -6169,24 +5886,13 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", + "windows-implement", + "windows-interface", "windows-result", "windows-strings", "windows-targets 0.52.6", ] -[[package]] -name = "windows-implement" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", -] - [[package]] name = "windows-implement" version = "0.58.0" @@ -6195,18 +5901,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", -] - -[[package]] -name = "windows-interface" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -6217,7 +5912,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -6461,22 +6156,23 @@ checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b" dependencies = [ "anyhow", "log", - "thiserror", + "thiserror 1.0.63", "wast 35.0.2", ] [[package]] name = "wmi" -version = "0.13.3" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f0a4062ca522aad4705a2948fd4061b3857537990202a8ddd5af21607f79a" +checksum = "70df482bbec7017ce4132154233642de658000b24b805345572036782a66ad55" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", - "windows 0.52.0", + "thiserror 1.0.63", + "windows 0.58.0", + "windows-core 0.58.0", ] [[package]] @@ -6501,7 +6197,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.63", "time", ] @@ -6553,7 +6249,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] diff --git a/extism/iroh-extism-host-functions/Cargo.toml b/extism/iroh-extism-host-functions/Cargo.toml index 3b14bbbf..f04bff61 100644 --- a/extism/iroh-extism-host-functions/Cargo.toml +++ b/extism/iroh-extism-host-functions/Cargo.toml @@ -8,6 +8,10 @@ anyhow = "1.0.79" dirs-next = "2.0.0" extism = "1.0.0" futures = "0.3.29" -iroh = "0.28" +iroh = "0.29" +iroh_blobs = "0.28" tokio = { version = "1", features = ["full"] } tokio-util = { version = "0.7", features = ["codec", "io-util", "io", "time"] } + +[patch.crates-io] +iroh_blobs = { git = "https://github.com/n0-computer/iroh-blobs", branch = "iroh-v0-29-0" } diff --git a/extism/iroh-extism-host-functions/src/lib.rs b/extism/iroh-extism-host-functions/src/lib.rs index 5c03ed7b..4692a313 100644 --- a/extism/iroh-extism-host-functions/src/lib.rs +++ b/extism/iroh-extism-host-functions/src/lib.rs @@ -4,10 +4,11 @@ use std::str::FromStr; use anyhow::{anyhow, Result}; use extism::*; use futures::stream::StreamExt; -use iroh::blobs::util::SetTagOption; -use iroh::node::Node; - -type IrohNode = Node; +use iroh::{protocol::Router, Endpoint}; +use iroh_blobs::{ + net_protocol::Blobs, + util::{LocalPool, SetTagOption}, +}; const IROH_EXTISM_DATA_DIR: &str = "iroh-extism"; @@ -22,14 +23,38 @@ pub async fn default_iroh_extism_data_root() -> Result { Ok(path.join(IROH_EXTISM_DATA_DIR)) } -pub async fn create_iroh(path: PathBuf) -> Result { - let node = iroh::node::Node::persistent(path).await?.spawn().await?; - Ok(node) +pub async fn create_iroh(path: PathBuf) -> Result { + // create store + let store = iroh_blobs::store::fs::Store::load(path)?; + + // create an endpoint + let endpoint = Endpoint::builder().bind().await?; + let addr = endpoint.node_addr().await?; + let local_pool = LocalPool::single(); + // create blobs protocol + let downloader = iroh_blobs::downloader::Downloader::new( + store.clone(), + endpoint.clone(), + local_pool.handle().clone(), + ); + let blobs = Arc::new(Blobs::new( + store.clone(), + local_pool.handle().clone(), + Default::default(), + downloader.clone(), + endpoint.clone(), + )); + let router = Router::builder(endpoint) + .accept(iroh_blobs::ALPN, blobs.clone()) + .spawn() + .await?; + Ok(router) } struct Context { rt: tokio::runtime::Handle, - iroh: IrohNode, + iroh: Router, + blobs: Blobs, } host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { @@ -38,7 +63,7 @@ host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { let (node_addr, hash, format) = iroh::base::ticket::BlobTicket::from_str(ticket).map_err(|_| anyhow!("invalid ticket"))?.into_parts(); - if format != iroh::blobs::BlobFormat::Raw { + if format != iroh_blobs::BlobFormat::Raw { return Err(anyhow!("can only get raw bytes for now, not HashSequences (collections)")); } let client = ctx.iroh.client(); @@ -51,7 +76,7 @@ host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { }).await?; while stream.next().await.is_some() {} - let buffer = client.blobs().read(hash).await?.read_to_bytes().await?; + let buffer = self.blobs.read(hash).await?.read_to_bytes().await?; anyhow::Ok(buffer.to_vec()) })?; From f669fe8d4d1faa65249d60988373f0f3db05d611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 4 Dec 2024 18:41:40 -0500 Subject: [PATCH 07/14] remove patches --- dumbpipe-web/Cargo.toml | 5 +- extism/host/Cargo.lock | 1002 +++++++++--------- extism/iroh-extism-host-functions/Cargo.lock | 299 +++++- extism/iroh-extism-host-functions/Cargo.toml | 5 +- iroh-gateway/Cargo.toml | 5 +- tauri-todos/src-tauri/Cargo.toml | 5 +- 6 files changed, 816 insertions(+), 505 deletions(-) diff --git a/dumbpipe-web/Cargo.toml b/dumbpipe-web/Cargo.toml index 48706028..fc03a7fe 100644 --- a/dumbpipe-web/Cargo.toml +++ b/dumbpipe-web/Cargo.toml @@ -10,7 +10,7 @@ license = "Apache-2.0/MIT" anyhow = "1.0.75" bytes = "1.5.0" clap = { version = "4.4.11", features = ["derive"] } -dumbpipe = "0.20" +dumbpipe = "0.21" http = "1.0.0" http-body-util = "0.1.0" hyper = { version = "1.0.1", features = ["full"] } @@ -20,6 +20,3 @@ iroh-quinn = "0.12.0" tokio = { version = "1.34.0", features = ["full"] } tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } - -[patch.crates-io] -dumbpipe = { git = "https://github.com/n0-computer/dumbpipe", branch = "iroh-v0.29.0" } diff --git a/extism/host/Cargo.lock b/extism/host/Cargo.lock index 0d1a14dc..90ca3cd2 100644 --- a/extism/host/Cargo.lock +++ b/extism/host/Cargo.lock @@ -2,20 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "acto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c372578ce4215ccf94ec3f3585fbb6a902e47d07b064ff8a55d850ffb5025e" -dependencies = [ - "parking_lot", - "pin-project-lite", - "rustc_version", - "smol_str", - "tokio", - "tracing", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -72,12 +58,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "ambient-authority" version = "0.0.2" @@ -99,6 +79,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +dependencies = [ + "anstyle", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.92" @@ -135,7 +164,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -147,7 +176,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "synstructure", ] @@ -159,7 +188,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -182,7 +211,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -193,7 +222,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -252,7 +281,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" dependencies = [ "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "genawaiter", "iroh-blake3", "iroh-io", @@ -292,15 +321,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -445,7 +465,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.79", + "syn 2.0.90", "tempfile", "toml", ] @@ -510,12 +530,58 @@ dependencies = [ "zeroize", ] +[[package]] +name = "clap" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "clap_lex" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" + [[package]] name = "cobs" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "combine" version = "4.6.7" @@ -841,16 +907,17 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] name = "dashmap" -version = "5.5.3" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -905,7 +972,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -935,7 +1002,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "unicode-xid", ] @@ -1016,7 +1083,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1045,18 +1112,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dyn-clone" version = "1.0.17" @@ -1103,18 +1158,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "either" version = "1.13.0" @@ -1170,20 +1213,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.79", -] - -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1203,7 +1233,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1223,9 +1253,9 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "errno" @@ -1321,7 +1351,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1539,9 +1569,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -1558,7 +1588,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -1712,14 +1742,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", "dashmap", - "futures", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -1776,7 +1807,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", - "allocator-api2", "serde", ] @@ -1813,30 +1843,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hickory-proto" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand", - "thiserror", - "tinyvec", - "tokio", - "tracing", - "url", -] - [[package]] name = "hickory-proto" version = "0.25.0-alpha.2" @@ -1851,11 +1857,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.5.0", + "idna", "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.64", "time", "tinyvec", "tokio", @@ -1871,7 +1877,7 @@ checksum = "46c110355b5703070d9e29c344d79818a7cde3de9c27fc35750defea6074b0ad" dependencies = [ "cfg-if", "futures-util", - "hickory-proto 0.25.0-alpha.2", + "hickory-proto", "ipconfig", "lru-cache", "once_cell", @@ -1879,7 +1885,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -1920,6 +1926,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba" +dependencies = [ + "cfg-if", + "libc", + "windows 0.52.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -2070,16 +2087,6 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.5.0" @@ -2185,56 +2192,90 @@ checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "iroh" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cbc2cde0ac94db88a2f0442cf0d18f1f59403cc21c81f7994a6287e78e60dd" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" dependencies = [ "anyhow", - "async-channel", - "bao-tree", + "backoff", + "base64 0.22.1", "bytes", + "der", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-concurrency", + "futures-lite 2.5.0", + "futures-sink", "futures-util", "genawaiter", + "governor", "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "igd-next", "iroh-base", - "iroh-blobs", - "iroh-docs", - "iroh-gossip", - "iroh-io", "iroh-metrics", - "iroh-net", + "iroh-net-report", "iroh-quinn", - "iroh-router", - "nested_enum_utils", - "num_cpus", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum", + "once_cell", "parking_lot", - "portable-atomic", + "pin-project", + "pkarr", + "portmapper", "postcard", - "quic-rpc", - "quic-rpc-derive", "rand", - "ref-cast", + "rcgen", + "reqwest", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls", + "rustls-webpki", "serde", - "serde-error", - "strum 0.25.0", - "tempfile", - "thiserror", + "smallvec", + "socket2", + "strum", + "stun-rs", + "surge-ping", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", "tracing", "url", - "walkdir", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi", + "x509-parser", + "z32", ] [[package]] name = "iroh-base" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -2249,10 +2290,10 @@ dependencies = [ "postcard", "rand", "rand_core", - "redb 2.1.3", + "redb 2.2.0", "serde", "ssh-key", - "thiserror", + "thiserror 2.0.4", "ttl_cache", "url", "zeroize", @@ -2273,9 +2314,9 @@ dependencies = [ [[package]] name = "iroh-blobs" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" +checksum = "5eaff53d1700758783707690b76973775e593841735739678dc240412e1d040f" dependencies = [ "anyhow", "async-channel", @@ -2284,76 +2325,42 @@ dependencies = [ "chrono", "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-util", "genawaiter", "hashlink", "hex", + "iroh", "iroh-base", "iroh-io", "iroh-metrics", - "iroh-net", "iroh-quinn", - "iroh-router", + "nested_enum_utils", "num_cpus", "oneshot", "parking_lot", - "pin-project", + "portable-atomic", "postcard", + "quic-rpc", + "quic-rpc-derive", "rand", "range-collections", "redb 1.5.1", - "redb 2.1.3", + "redb 2.2.0", + "ref-cast", "reflink-copy", "self_cell", "serde", "serde-error", "smallvec", + "strum", "tempfile", - "thiserror", + "thiserror 2.0.4", "tokio", "tokio-util", "tracing", "tracing-futures", -] - -[[package]] -name = "iroh-docs" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b4e9283e9a05a1e1c2b702ea743445a8e41ffd651deccddc2884d05f941db58" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-buffered", - "futures-lite 2.3.0", - "futures-util", - "hex", - "iroh-base", - "iroh-blake3", - "iroh-blobs", - "iroh-gossip", - "iroh-metrics", - "iroh-net", - "iroh-router", - "lru", - "num_enum", - "postcard", - "rand", - "rand_core", - "redb 1.5.1", - "redb 2.1.3", - "self_cell", - "serde", - "strum 0.25.0", - "tempfile", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", + "walkdir", ] [[package]] @@ -2365,44 +2372,11 @@ dependencies = [ "extism", "futures", "iroh", + "iroh-blobs", "tokio", "tokio-util", ] -[[package]] -name = "iroh-gossip" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" -dependencies = [ - "anyhow", - "async-channel", - "bytes", - "derive_more", - "ed25519-dalek", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-util", - "indexmap", - "iroh-base", - "iroh-blake3", - "iroh-metrics", - "iroh-net", - "iroh-router", - "nested_enum_utils", - "postcard", - "quic-rpc", - "quic-rpc-derive", - "rand", - "rand_core", - "serde", - "serde-error", - "strum 0.26.3", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "iroh-io" version = "0.6.1" @@ -2410,7 +2384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" dependencies = [ "bytes", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "pin-project", "smallvec", "tokio", @@ -2418,9 +2392,9 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -2438,83 +2412,31 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64 0.22.1", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto 0.25.0-alpha.2", + "futures-lite 2.5.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", + "iroh-relay", "netwatch", - "num_enum", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", "portmapper", - "postcard", "rand", - "rcgen", "reqwest", - "ring", - "rtnetlink", - "rustls", - "rustls-webpki", - "serde", - "smallvec", - "socket2", - "strum 0.26.3", - "stun-rs", + "rustls", "surge-ping", - "swarm-discovery", - "thiserror", - "time", + "thiserror 1.0.64", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi", - "x509-parser", - "z32", ] [[package]] @@ -2530,7 +2452,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -2548,7 +2470,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -2567,21 +2489,72 @@ dependencies = [ ] [[package]] -name = "iroh-router" -version = "0.28.0" +name = "iroh-relay" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" dependencies = [ "anyhow", + "base64 0.22.1", + "bytes", + "clap", + "derive_more", "futures-buffered", - "futures-lite 2.3.0", + "futures-lite 2.5.0", + "futures-sink", "futures-util", - "iroh-net", + "governor", + "hex", + "hickory-proto", + "hickory-resolver", + "hostname 0.4.0", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen", + "regex", + "reqwest", + "ring", + "rustls", + "rustls-pemfile", + "rustls-webpki", + "serde", + "smallvec", + "socket2", + "stun-rs", + "thiserror 2.0.4", + "time", "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", "tokio-util", + "toml", "tracing", + "tracing-subscriber", + "url", + "webpki-roots", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.12.1" @@ -2636,7 +2609,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -2753,9 +2726,6 @@ name = "lru" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown 0.14.5", -] [[package]] name = "lru-cache" @@ -2791,7 +2761,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.64", "tracing", ] @@ -2804,7 +2774,7 @@ dependencies = [ "manyhow-macros", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -2845,12 +2815,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -2922,15 +2886,15 @@ dependencies = [ [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration", @@ -2962,6 +2926,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -2971,7 +2964,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2985,7 +2978,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -3004,30 +2997,34 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" dependencies = [ "anyhow", + "atomic-waker", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", + "iroh-quinn-udp", "libc", "netdev", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.19.0", "netlink-sys", "once_cell", - "rtnetlink", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", "serde", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", + "tokio-util", "tracing", - "windows 0.51.1", + "windows 0.58.0", "wmi", ] @@ -3042,6 +3039,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -3171,7 +3179,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3222,16 +3230,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "overload" version = "0.1.1" @@ -3343,7 +3341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.64", "ucd-trie", ] @@ -3367,7 +3365,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3398,7 +3396,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3430,7 +3428,7 @@ dependencies = [ "mainline", "self_cell", "simple-dns", - "thiserror", + "thiserror 1.0.64", "tracing", "ureq", "wasm-bindgen", @@ -3484,7 +3482,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3527,15 +3525,15 @@ checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "portmapper" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" dependencies = [ "anyhow", "base64 0.22.1", "bytes", "derive_more", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-util", "igd-next", "iroh-metrics", @@ -3546,7 +3544,7 @@ dependencies = [ "serde", "smallvec", "socket2", - "thiserror", + "thiserror 2.0.4", "time", "tokio", "tokio-util", @@ -3700,9 +3698,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -3727,7 +3725,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3750,7 +3748,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -3779,34 +3777,31 @@ dependencies = [ [[package]] name = "quic-rpc" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" +checksum = "64ae09230350898e9a243a7a4a5fdde934edfb6b010e6a9cfb4136f79b54dbbb" dependencies = [ "anyhow", - "bincode", "derive_more", - "educe", "flume", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "futures-sink", "futures-util", - "hex", - "iroh-quinn", "pin-project", "serde", "slab", + "smallvec", + "time", "tokio", - "tokio-serde", "tokio-util", "tracing", ] [[package]] name = "quic-rpc-derive" -version = "0.14.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" +checksum = "44bb53e37914f7e7c6670dc2c834b9299110620cded49e783e78e9d8baf80128" dependencies = [ "proc-macro2", "quic-rpc", @@ -3833,7 +3828,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "socket2", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -3850,7 +3845,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -3966,12 +3961,13 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.12.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" +checksum = "54077e1872c46788540de1ea3d7f4ccb1983d12f9aa909b234468676c1a36779" dependencies = [ "pem", "ring", + "rustls-pki-types", "time", "yasna", ] @@ -3987,9 +3983,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4760ad04a88ef77075ba86ba9ea79b919e6bab29c1764c5747237cd6eaedcaa" +checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925" dependencies = [ "libc", ] @@ -4011,7 +4007,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -4031,7 +4027,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4156,7 +4152,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -4237,12 +4233,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.26.4", + "thiserror 1.0.64", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", "netlink-packet-utils", "netlink-proto", "netlink-sys", - "nix", - "thiserror", + "nix 0.27.1", + "thiserror 1.0.64", "tokio", ] @@ -4527,7 +4541,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4610,16 +4624,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shellexpand" version = "2.1.2" @@ -4687,12 +4691,6 @@ dependencies = [ "serde", ] -[[package]] -name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" - [[package]] name = "socket2" version = "0.5.7" @@ -4785,6 +4783,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "struct_iterable" version = "0.1.1" @@ -4805,7 +4809,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4814,35 +4818,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a" -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.26.4", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.79", + "strum_macros", ] [[package]] @@ -4855,7 +4837,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -4899,22 +4881,7 @@ dependencies = [ "pnet_packet", "rand", "socket2", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "swarm-discovery" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39769914108ae68e261d85ceac7bce7095947130f79c29d4535e9b31fc702a40" -dependencies = [ - "acto", - "anyhow", - "hickory-proto 0.24.1", - "rand", - "socket2", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -4932,9 +4899,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -4969,7 +4936,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5049,7 +5016,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] @@ -5060,7 +5036,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5145,7 +5132,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5160,18 +5147,31 @@ dependencies = [ ] [[package]] -name = "tokio-serde" -version = "0.8.0" +name = "tokio-rustls-acme" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", + "async-trait", + "base64 0.22.1", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen", + "reqwest", + "ring", + "rustls", "serde", + "serde_json", + "thiserror 2.0.4", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", ] [[package]] @@ -5183,7 +5183,6 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", ] [[package]] @@ -5195,7 +5194,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -5209,9 +5220,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -5292,7 +5303,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5373,11 +5384,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.64", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.64", + "utf-8", +] + [[package]] name = "typenum" version = "1.17.0" @@ -5471,7 +5500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -5482,6 +5511,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.10.0" @@ -5553,7 +5588,7 @@ dependencies = [ "once_cell", "rustix", "system-interface", - "thiserror", + "thiserror 1.0.64", "tracing", "wasmtime", "wiggle", @@ -5582,7 +5617,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -5616,7 +5651,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5764,7 +5799,7 @@ dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wasmtime-component-util", "wasmtime-wit-bindgen", "wit-parser", @@ -5794,7 +5829,7 @@ dependencies = [ "log", "object", "target-lexicon", - "thiserror", + "thiserror 1.0.64", "wasmparser", "wasmtime-environ", "wasmtime-versioned-export-macros", @@ -5894,7 +5929,7 @@ checksum = "99c02af2e9dbeb427304d1a08787d70ed0dbfec1af2236616f84c9f1f03e7969" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -5966,7 +6001,7 @@ dependencies = [ "event-listener 4.0.3", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -6003,7 +6038,7 @@ dependencies = [ "anyhow", "async-trait", "bitflags 2.6.0", - "thiserror", + "thiserror 1.0.64", "tracing", "wasmtime", "wiggle-macro", @@ -6021,7 +6056,7 @@ dependencies = [ "proc-macro2", "quote", "shellexpand", - "syn 2.0.79", + "syn 2.0.90", "witx", ] @@ -6033,7 +6068,7 @@ checksum = "12e0fbccad12e5b406effb8676eb3713fdbe366975fb65d56f960ace6da118e4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", "wiggle-generate", ] @@ -6096,12 +6131,12 @@ dependencies = [ [[package]] name = "windows" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -6114,15 +6149,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-core" version = "0.52.0" @@ -6153,7 +6179,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6164,7 +6190,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] @@ -6400,21 +6426,21 @@ checksum = "e366f27a5cabcddb2706a78296a40b8fcc451e1a6aba2fc1d94b4a01bdaaef4b" dependencies = [ "anyhow", "log", - "thiserror", + "thiserror 1.0.64", "wast 35.0.2", ] [[package]] name = "wmi" -version = "0.13.4" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" +checksum = "dc47c0776cc6c00d2f7a874a0c846d94d45535936e5a1187693a24f23b4dd701" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", + "thiserror 2.0.4", "windows 0.58.0", "windows-core 0.58.0", ] @@ -6441,7 +6467,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -6493,7 +6519,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.90", ] [[package]] diff --git a/extism/iroh-extism-host-functions/Cargo.lock b/extism/iroh-extism-host-functions/Cargo.lock index b5224c43..a2936e6d 100644 --- a/extism/iroh-extism-host-functions/Cargo.lock +++ b/extism/iroh-extism-host-functions/Cargo.lock @@ -191,6 +191,18 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + [[package]] name = "async-recursion" version = "1.1.1" @@ -262,6 +274,23 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "bao-tree" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef" +dependencies = [ + "bytes", + "futures-lite 2.5.0", + "genawaiter", + "iroh-blake3", + "iroh-io", + "positioned-io", + "range-collections", + "self_cell", + "smallvec", +] + [[package]] name = "base16ct" version = "0.2.0" @@ -286,6 +315,12 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "binary-merge" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597bb81c80a54b6a4381b23faba8d7774b144c94cbd1d6fe3f1329bd776554ab" + [[package]] name = "bitflags" version = "1.3.2" @@ -348,6 +383,9 @@ name = "bytes" version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +dependencies = [ + "serde", +] [[package]] name = "cap-fs-ext" @@ -473,8 +511,10 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", "serde", + "wasm-bindgen", "windows-targets 0.52.6", ] @@ -1239,6 +1279,27 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +dependencies = [ + "event-listener 5.3.1", + "pin-project-lite", +] + [[package]] name = "extism" version = "1.5.0" @@ -1745,6 +1806,15 @@ dependencies = [ "serde", ] +[[package]] +name = "hashlink" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "heck" version = "0.4.1" @@ -2075,6 +2145,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "inplace-vec-builder" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf64c2edc8226891a71f127587a2861b132d2b942310843814d5001d99a1d307" +dependencies = [ + "smallvec", +] + [[package]] name = "instant" version = "0.1.13" @@ -2218,6 +2297,7 @@ dependencies = [ "postcard", "rand", "rand_core", + "redb 2.2.0", "serde", "ssh-key", "thiserror 2.0.4", @@ -2239,6 +2319,57 @@ dependencies = [ "constant_time_eq", ] +[[package]] +name = "iroh-blobs" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eaff53d1700758783707690b76973775e593841735739678dc240412e1d040f" +dependencies = [ + "anyhow", + "async-channel", + "bao-tree", + "bytes", + "chrono", + "derive_more", + "futures-buffered", + "futures-lite 2.5.0", + "futures-util", + "genawaiter", + "hashlink", + "hex", + "iroh", + "iroh-base", + "iroh-io", + "iroh-metrics", + "iroh-quinn", + "nested_enum_utils", + "num_cpus", + "oneshot", + "parking_lot", + "portable-atomic", + "postcard", + "quic-rpc", + "quic-rpc-derive", + "rand", + "range-collections", + "redb 1.5.1", + "redb 2.2.0", + "ref-cast", + "reflink-copy", + "self_cell", + "serde", + "serde-error", + "smallvec", + "strum", + "tempfile", + "thiserror 2.0.4", + "tokio", + "tokio-util", + "tracing", + "tracing-futures", + "walkdir", +] + [[package]] name = "iroh-extism-host-functions" version = "0.1.0" @@ -2248,10 +2379,24 @@ dependencies = [ "extism", "futures", "iroh", + "iroh-blobs", "tokio", "tokio-util", ] +[[package]] +name = "iroh-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b" +dependencies = [ + "bytes", + "futures-lite 2.5.0", + "pin-project", + "smallvec", + "tokio", +] + [[package]] name = "iroh-metrics" version = "0.29.0" @@ -2734,6 +2879,18 @@ dependencies = [ "getrandom", ] +[[package]] +name = "nested_enum_utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "netdev" version = "0.31.0" @@ -3001,6 +3158,16 @@ dependencies = [ "libm", ] +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + [[package]] name = "num_enum" version = "0.7.3" @@ -3049,6 +3216,12 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "oneshot" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" + [[package]] name = "opaque-debug" version = "0.3.1" @@ -3383,6 +3556,16 @@ dependencies = [ "url", ] +[[package]] +name = "positioned-io" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "postcard" version = "1.0.8" @@ -3596,6 +3779,40 @@ dependencies = [ "winapi", ] +[[package]] +name = "quic-rpc" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ae09230350898e9a243a7a4a5fdde934edfb6b010e6a9cfb4136f79b54dbbb" +dependencies = [ + "anyhow", + "derive_more", + "flume", + "futures-lite 2.5.0", + "futures-sink", + "futures-util", + "pin-project", + "serde", + "slab", + "smallvec", + "time", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "quic-rpc-derive" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44bb53e37914f7e7c6670dc2c834b9299110620cded49e783e78e9d8baf80128" +dependencies = [ + "proc-macro2", + "quic-rpc", + "quote", + "syn 1.0.109", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -3705,6 +3922,18 @@ dependencies = [ "getrandom", ] +[[package]] +name = "range-collections" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca9edd21e2db51000ac63eccddabba622f826e631a60be7bade9bd6a76b69537" +dependencies = [ + "binary-merge", + "inplace-vec-builder", + "ref-cast", + "smallvec", +] + [[package]] name = "raw-cpuid" version = "11.1.0" @@ -3747,6 +3976,24 @@ dependencies = [ "yasna", ] +[[package]] +name = "redb" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd7f82ecd6ba647a39dd1a7172b8a1cd9453c0adee6da20cb553d83a9a460fa5" +dependencies = [ + "libc", +] + +[[package]] +name = "redb" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925" +dependencies = [ + "libc", +] + [[package]] name = "redox_syscall" version = "0.5.3" @@ -3767,6 +4014,37 @@ dependencies = [ "thiserror 1.0.63", ] +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "reflink-copy" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17400ed684c3a0615932f00c271ae3eea13e47056a1455821995122348ab6438" +dependencies = [ + "cfg-if", + "rustix", + "windows 0.58.0", +] + [[package]] name = "regalloc2" version = "0.9.3" @@ -4229,6 +4507,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-error" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47" +dependencies = [ + "serde", +] + [[package]] name = "serde_bencode" version = "0.2.4" @@ -5054,6 +5341,16 @@ dependencies = [ "valuable", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-log" version = "0.2.0" @@ -5721,7 +6018,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45b42a2f611916b5965120a9cde2b60f2db4454826dd9ad5e6f47c24a5b3b259" dependencies = [ - "event-listener", + "event-listener 4.0.3", "futures-util", "parking_lot", "thiserror 1.0.63", diff --git a/extism/iroh-extism-host-functions/Cargo.toml b/extism/iroh-extism-host-functions/Cargo.toml index f04bff61..0a100eec 100644 --- a/extism/iroh-extism-host-functions/Cargo.toml +++ b/extism/iroh-extism-host-functions/Cargo.toml @@ -9,9 +9,6 @@ dirs-next = "2.0.0" extism = "1.0.0" futures = "0.3.29" iroh = "0.29" -iroh_blobs = "0.28" +iroh-blobs = { version = "0.29", features = ["rpc"] } tokio = { version = "1", features = ["full"] } tokio-util = { version = "0.7", features = ["codec", "io-util", "io", "time"] } - -[patch.crates-io] -iroh_blobs = { git = "https://github.com/n0-computer/iroh-blobs", branch = "iroh-v0-29-0" } diff --git a/iroh-gateway/Cargo.toml b/iroh-gateway/Cargo.toml index 37394df7..7e651994 100644 --- a/iroh-gateway/Cargo.toml +++ b/iroh-gateway/Cargo.toml @@ -10,7 +10,7 @@ headers = { version = "0.4" } hyper = "1" bytes = "1.1" iroh = "0.29" -iroh-blobs = "0.28" +iroh-blobs = "0.29" range-collections = "0.4.5" anyhow = "1.0.75" flume = "0.11.0" @@ -32,6 +32,3 @@ hyper-util = "0.1.3" rustls-pemfile = "1.0.2" tower-service = "0.3.2" mime_guess = "2.0.4" - -[patch.crates-io] -iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs", branch = "iroh-v0-29-0" } diff --git a/tauri-todos/src-tauri/Cargo.toml b/tauri-todos/src-tauri/Cargo.toml index b2a60c13..9c5d8c8f 100644 --- a/tauri-todos/src-tauri/Cargo.toml +++ b/tauri-todos/src-tauri/Cargo.toml @@ -19,7 +19,7 @@ serde = { version = "1.0", features = ["derive"] } tauri = { version = "1.6.1", features = ["api-all"] } tokio = { version = "1" } iroh = "0.29" -iroh-docs = "0.28" +iroh-docs = "0.29" bytes = "1" num_cpus = { version = "1.15.0" } tokio-util = { version = "0.7" } @@ -32,6 +32,3 @@ default = [ "custom-protocol" ] # this feature is used used for production builds where `devPath` points to the filesystem # DO NOT remove this custom-protocol = [ "tauri/custom-protocol" ] - -[patch.crates-io] -iroh-docs = { git = "https://github.com/n0-computer/iroh-docs", branch = "iroh-v0-29-0" } From 455e943975b4f6872079f8560849c7578794c70c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 4 Dec 2024 18:53:04 -0500 Subject: [PATCH 08/14] fix quic-rpc runtime error --- extism/host/src/main.rs | 2 +- extism/iroh-extism-host-functions/src/lib.rs | 112 ++++++++++++------- 2 files changed, 74 insertions(+), 40 deletions(-) diff --git a/extism/host/src/main.rs b/extism/host/src/main.rs index 2f6825be..7d33dd87 100644 --- a/extism/host/src/main.rs +++ b/extism/host/src/main.rs @@ -12,7 +12,7 @@ fn main() -> anyhow::Result<()> { let iroh = rt.block_on(async { let iroh_path = iroh_extism_host_functions::default_iroh_extism_data_root().await?; - iroh_extism_host_functions::create_iroh(iroh_path).await + iroh_extism_host_functions::Iroh::new(iroh_path).await })?; println!("iroh node id: {:?}", iroh.node_id()); diff --git a/extism/iroh-extism-host-functions/src/lib.rs b/extism/iroh-extism-host-functions/src/lib.rs index 4692a313..f4f1bec2 100644 --- a/extism/iroh-extism-host-functions/src/lib.rs +++ b/extism/iroh-extism-host-functions/src/lib.rs @@ -1,13 +1,14 @@ -use std::path::PathBuf; -use std::str::FromStr; +use std::{path::PathBuf, str::FromStr, sync::Arc}; use anyhow::{anyhow, Result}; use extism::*; use futures::stream::StreamExt; -use iroh::{protocol::Router, Endpoint}; +use iroh::{key::PublicKey, protocol::Router, Endpoint}; use iroh_blobs::{ - net_protocol::Blobs, - util::{LocalPool, SetTagOption}, + net_protocol::{Blobs, DownloadMode}, + rpc::client::blobs::DownloadOptions, + store::fs::Store, + util::{local_pool::LocalPool, SetTagOption}, }; const IROH_EXTISM_DATA_DIR: &str = "iroh-extism"; @@ -23,60 +24,93 @@ pub async fn default_iroh_extism_data_root() -> Result { Ok(path.join(IROH_EXTISM_DATA_DIR)) } -pub async fn create_iroh(path: PathBuf) -> Result { - // create store - let store = iroh_blobs::store::fs::Store::load(path)?; - - // create an endpoint - let endpoint = Endpoint::builder().bind().await?; - let addr = endpoint.node_addr().await?; - let local_pool = LocalPool::single(); - // create blobs protocol - let downloader = iroh_blobs::downloader::Downloader::new( - store.clone(), - endpoint.clone(), - local_pool.handle().clone(), - ); - let blobs = Arc::new(Blobs::new( - store.clone(), - local_pool.handle().clone(), - Default::default(), - downloader.clone(), - endpoint.clone(), - )); - let router = Router::builder(endpoint) - .accept(iroh_blobs::ALPN, blobs.clone()) - .spawn() - .await?; - Ok(router) +pub struct Iroh { + router: Router, + blobs: Arc>, + node_id: PublicKey, +} + +impl Iroh { + pub async fn new(path: PathBuf) -> Result { + // create store + let store = Store::load(path).await?; + + // create an endpoint + let endpoint = Endpoint::builder().bind().await?; + let node_id = endpoint.node_id(); + let local_pool = LocalPool::single(); + + // create blobs protocol + let downloader = iroh_blobs::downloader::Downloader::new( + store.clone(), + endpoint.clone(), + local_pool.handle().clone(), + ); + let blobs = Arc::new(Blobs::new( + store.clone(), + local_pool.handle().clone(), + Default::default(), + downloader.clone(), + endpoint.clone(), + )); + let router = Router::builder(endpoint) + .accept(iroh_blobs::ALPN, blobs.clone()) + .spawn() + .await?; + Ok(Iroh { + router, + blobs, + node_id, + }) + } + + pub fn node_id(&self) -> PublicKey { + self.node_id + } + + pub fn blobs(&self) -> Arc> { + self.blobs.clone() + } + + pub fn router(&self) -> &Router { + &self.router + } } struct Context { rt: tokio::runtime::Handle, - iroh: Router, - blobs: Blobs, + iroh: Iroh, } host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { let ctx = user_data.get()?; let ctx = ctx.lock().unwrap(); - let (node_addr, hash, format) = iroh::base::ticket::BlobTicket::from_str(ticket).map_err(|_| anyhow!("invalid ticket"))?.into_parts(); + let (node_addr, hash, format) = iroh::ticket::BlobTicket::from_str(ticket).map_err(|_| anyhow!("invalid ticket"))?.into_parts(); if format != iroh_blobs::BlobFormat::Raw { return Err(anyhow!("can only get raw bytes for now, not HashSequences (collections)")); } - let client = ctx.iroh.client(); + let router = ctx.iroh.router(); + let blobs = ctx.iroh.blobs(); + println!("blobs"); let buf = ctx.rt.block_on(async move { - let mut stream = client.blobs().download_with_opts(hash, iroh::client::blobs::DownloadOptions { + let blobs = blobs.client(); + let mut stream = blobs.download_with_opts(hash, DownloadOptions { format, nodes: vec![node_addr], - mode: iroh::client::blobs::DownloadMode::Queued, + mode: DownloadMode::Queued, tag: SetTagOption::Auto, }).await?; + println!("download"); while stream.next().await.is_some() {} + println!("stream next"); + + let buffer = blobs.read(hash).await?.read_to_bytes().await?; + println!("read"); + router.shutdown().await?; + println!("shutdown"); - let buffer = self.blobs.read(hash).await?.read_to_bytes().await?; anyhow::Ok(buffer.to_vec()) })?; @@ -86,7 +120,7 @@ host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { pub fn add_all_host_functions( rt: tokio::runtime::Handle, b: PluginBuilder, - iroh: IrohNode, + iroh: Iroh, ) -> PluginBuilder { let ctx = UserData::new(Context { rt, iroh }); From b13b85678334d76453557cd16cc81555dd6bda98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 4 Dec 2024 18:59:00 -0500 Subject: [PATCH 09/14] fix local pool problems --- extism/iroh-extism-host-functions/src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extism/iroh-extism-host-functions/src/lib.rs b/extism/iroh-extism-host-functions/src/lib.rs index f4f1bec2..a800a60a 100644 --- a/extism/iroh-extism-host-functions/src/lib.rs +++ b/extism/iroh-extism-host-functions/src/lib.rs @@ -25,6 +25,7 @@ pub async fn default_iroh_extism_data_root() -> Result { } pub struct Iroh { + _local_pool: LocalPool, router: Router, blobs: Arc>, node_id: PublicKey, @@ -35,10 +36,12 @@ impl Iroh { // create store let store = Store::load(path).await?; + // create local pool + let local_pool = LocalPool::single(); + // create an endpoint let endpoint = Endpoint::builder().bind().await?; let node_id = endpoint.node_id(); - let local_pool = LocalPool::single(); // create blobs protocol let downloader = iroh_blobs::downloader::Downloader::new( @@ -58,6 +61,7 @@ impl Iroh { .spawn() .await?; Ok(Iroh { + _local_pool: local_pool, router, blobs, node_id, From 5dcf5c565961e3bd1bc317040743402f7a3ee85a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 4 Dec 2024 21:33:06 -0500 Subject: [PATCH 10/14] use iroh-gossip, iroh-blobs, iroh-docs, and the router in the todo example --- tauri-todos/src-tauri/Cargo.lock | 490 +++++------------------------ tauri-todos/src-tauri/Cargo.toml | 6 +- tauri-todos/src-tauri/src/iroh.rs | 107 +++++++ tauri-todos/src-tauri/src/main.rs | 36 +-- tauri-todos/src-tauri/src/todos.rs | 29 +- 5 files changed, 216 insertions(+), 452 deletions(-) create mode 100644 tauri-todos/src-tauri/src/iroh.rs diff --git a/tauri-todos/src-tauri/Cargo.lock b/tauri-todos/src-tauri/Cargo.lock index 3419a618..998ba2a2 100644 --- a/tauri-todos/src-tauri/Cargo.lock +++ b/tauri-todos/src-tauri/Cargo.lock @@ -142,8 +142,12 @@ dependencies = [ "bytes", "futures-lite 2.5.0", "iroh", + "iroh-blobs", "iroh-docs", + "iroh-gossip", + "iroh-node-util", "num_cpus", + "quic-rpc", "serde", "serde_json", "tauri", @@ -1229,19 +1233,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "dashmap" version = "6.1.0" @@ -1459,18 +1450,6 @@ dependencies = [ "dtoa", ] -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dunce" version = "1.0.5" @@ -1523,18 +1502,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "elliptic-curve" version = "0.13.8" @@ -1613,19 +1580,6 @@ dependencies = [ "syn 2.0.90", ] -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.90", -] - [[package]] name = "enumflags2" version = "0.7.10" @@ -1662,12 +1616,6 @@ dependencies = [ "serde", ] -[[package]] -name = "erased_set" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" - [[package]] name = "erased_set" version = "0.8.0" @@ -2345,26 +2293,6 @@ dependencies = [ "system-deps 6.2.2", ] -[[package]] -name = "governor" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" -dependencies = [ - "cfg-if", - "dashmap 5.5.3", - "futures", - "futures-timer", - "no-std-compat", - "nonzero_ext", - "parking_lot", - "portable-atomic", - "quanta", - "rand 0.8.5", - "smallvec", - "spinning_top", -] - [[package]] name = "governor" version = "0.7.0" @@ -2372,7 +2300,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", - "dashmap 6.1.0", + "dashmap", "futures-sink", "futures-timer", "futures-util", @@ -3051,7 +2979,7 @@ dependencies = [ "futures-sink", "futures-util", "genawaiter", - "governor 0.7.0", + "governor", "hex", "hickory-proto", "hickory-resolver", @@ -3061,29 +2989,29 @@ dependencies = [ "hyper 1.4.1", "hyper-util", "igd-next", - "iroh-base 0.29.0", - "iroh-metrics 0.29.0", + "iroh-base", + "iroh-metrics", "iroh-net-report", "iroh-quinn", "iroh-quinn-proto", "iroh-quinn-udp", "iroh-relay", "libc", - "netdev 0.31.0", + "netdev", "netlink-packet-core", "netlink-packet-route 0.19.0", "netlink-packet-route 0.21.0", "netlink-sys", - "netwatch 0.2.0", + "netwatch", "num_enum 0.7.3", "once_cell", "parking_lot", "pin-project", "pkarr", - "portmapper 0.2.1", + "portmapper", "postcard", "rand 0.8.5", - "rcgen 0.13.1", + "rcgen", "reqwest 0.12.7", "ring", "rtnetlink 0.13.1", @@ -3109,39 +3037,11 @@ dependencies = [ "watchable", "webpki-roots", "windows 0.58.0", - "wmi 0.14.1", + "wmi", "x509-parser", "z32", ] -[[package]] -name = "iroh-base" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c21fd8eb71f166a172a9779c2244db992218e9a9bd929b9df6fc355d2b630c9" -dependencies = [ - "aead", - "anyhow", - "crypto_box", - "data-encoding", - "derive_more 1.0.0", - "ed25519-dalek", - "getrandom 0.2.15", - "hex", - "iroh-blake3", - "once_cell", - "postcard", - "rand 0.8.5", - "rand_core 0.6.4", - "redb 2.2.0", - "serde", - "ssh-key", - "thiserror 1.0.64", - "ttl_cache", - "url", - "zeroize", -] - [[package]] name = "iroh-base" version = "0.29.0" @@ -3161,6 +3061,7 @@ dependencies = [ "postcard", "rand 0.8.5", "rand_core 0.6.4", + "redb 2.2.0", "serde", "ssh-key", "thiserror 2.0.4", @@ -3184,9 +3085,9 @@ dependencies = [ [[package]] name = "iroh-blobs" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce615635f60b5a01f6d066084cc0fca8281df594b6b735840d4796a06422604" +checksum = "5eaff53d1700758783707690b76973775e593841735739678dc240412e1d040f" dependencies = [ "anyhow", "async-channel", @@ -3196,41 +3097,48 @@ dependencies = [ "derive_more 1.0.0", "futures-buffered", "futures-lite 2.5.0", + "futures-util", "genawaiter", "hashlink", "hex", - "iroh-base 0.28.0", + "iroh", + "iroh-base", "iroh-io", - "iroh-metrics 0.28.0", - "iroh-net", + "iroh-metrics", "iroh-quinn", - "iroh-router", + "nested_enum_utils", "num_cpus", "oneshot", "parking_lot", - "pin-project", + "portable-atomic", "postcard", + "quic-rpc", + "quic-rpc-derive", "rand 0.8.5", "range-collections", "redb 1.5.1", "redb 2.2.0", + "ref-cast", "reflink-copy", "self_cell", "serde", "serde-error", "smallvec", + "strum", "tempfile", - "thiserror 1.0.64", + "thiserror 2.0.4", "tokio", "tokio-util", "tracing", "tracing-futures", + "walkdir", ] [[package]] name = "iroh-docs" -version = "0.28.0" -source = "git+https://github.com/n0-computer/iroh-docs?branch=iroh-v0-29-0#4880c529d63dcc7016ef1e2188419bd7b1a076d1" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c986963d222f33144146d77c98678f3a9d7e10f79714c93cd29807c7dec409" dependencies = [ "anyhow", "async-channel", @@ -3242,16 +3150,17 @@ dependencies = [ "futures-util", "hex", "iroh", + "iroh-base", "iroh-blake3", "iroh-blobs", "iroh-gossip", - "iroh-metrics 0.29.0", + "iroh-metrics", "nested_enum_utils", "num_enum 0.7.3", "portable-atomic", "postcard", - "quic-rpc 0.17.0", - "quic-rpc-derive 0.17.0", + "quic-rpc", + "quic-rpc-derive", "rand 0.8.5", "rand_core 0.6.4", "redb 1.5.1", @@ -3270,9 +3179,9 @@ dependencies = [ [[package]] name = "iroh-gossip" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c078057037f0e741c5ef285c67fd9cfdb928163dd046fb547089898bdb02990e" +checksum = "e5688dded24660d9d64ab444768b969f8d4c06aae5221d9e2ef619f12873acee" dependencies = [ "anyhow", "async-channel", @@ -3282,16 +3191,15 @@ dependencies = [ "futures-concurrency", "futures-lite 2.5.0", "futures-util", + "hex", "indexmap 2.5.0", - "iroh-base 0.28.0", + "iroh", "iroh-blake3", - "iroh-metrics 0.28.0", - "iroh-net", - "iroh-router", + "iroh-metrics", "nested_enum_utils", "postcard", - "quic-rpc 0.14.0", - "quic-rpc-derive 0.14.0", + "quic-rpc", + "quic-rpc-derive", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -3315,27 +3223,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "iroh-metrics" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d40f2ee3997489d47403d204a06514ed65373d224b5b43a8ea133f543e5db1" -dependencies = [ - "anyhow", - "erased_set 0.7.0", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "once_cell", - "prometheus-client", - "reqwest 0.12.7", - "serde", - "struct_iterable", - "time", - "tokio", - "tracing", -] - [[package]] name = "iroh-metrics" version = "0.29.0" @@ -3343,7 +3230,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", - "erased_set 0.8.0", + "erased_set", "http-body-util", "hyper 1.4.1", "hyper-util", @@ -3358,110 +3245,51 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.28.1" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40e1f1f9029e198c6d05bd232d3239814b0a66ac4668978729b709aeb6a44e2" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64 0.22.1", "bytes", - "der", "derive_more 1.0.0", - "duct", "futures-buffered", - "futures-concurrency", "futures-lite 2.5.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor 0.6.3", - "hex", - "hickory-proto", "hickory-resolver", - "hostname 0.3.1", - "http 1.1.0", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "igd-next", - "iroh-base 0.28.0", - "iroh-metrics 0.28.0", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev 0.30.0", - "netlink-packet-core", - "netlink-packet-route 0.17.1", - "netlink-sys", - "netwatch 0.1.0", - "num_enum 0.7.3", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", - "portmapper 0.1.0", - "postcard", + "iroh-base", + "iroh-metrics", + "iroh-relay", + "netwatch", + "portmapper", "rand 0.8.5", - "rcgen 0.12.1", "reqwest 0.12.7", - "ring", - "rtnetlink 0.13.1", "rustls", - "rustls-webpki", - "serde", - "smallvec", - "socket2", - "strum", - "stun-rs", "surge-ping", "thiserror 1.0.64", - "time", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite 0.21.0", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite 0.21.0", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi 0.13.4", - "x509-parser", - "z32", ] [[package]] -name = "iroh-net-report" +name = "iroh-node-util" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" +checksum = "1ef6518a30707bb6394d1286ede6fad4ec7d0896fef2c75d7d966eb5d0658a55" dependencies = [ "anyhow", - "bytes", - "derive_more 1.0.0", - "futures-buffered", "futures-lite 2.5.0", - "hickory-resolver", - "iroh-base 0.29.0", - "iroh-metrics 0.29.0", - "iroh-relay", - "netwatch 0.2.0", - "portmapper 0.2.1", - "rand 0.8.5", - "reqwest 0.12.7", - "rustls", - "surge-ping", - "thiserror 1.0.64", + "iroh", + "nested_enum_utils", + "quic-rpc", + "quic-rpc-derive", + "serde", + "serde-error", + "strum", + "tempfile", "tokio", - "tokio-util", "tracing", - "url", ] [[package]] @@ -3528,7 +3356,7 @@ dependencies = [ "futures-lite 2.5.0", "futures-sink", "futures-util", - "governor 0.7.0", + "governor", "hex", "hickory-proto", "hickory-resolver", @@ -3537,8 +3365,8 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-util", - "iroh-base 0.29.0", - "iroh-metrics 0.29.0", + "iroh-base", + "iroh-metrics", "iroh-quinn", "iroh-quinn-proto", "libc", @@ -3548,7 +3376,7 @@ dependencies = [ "pin-project", "postcard", "rand 0.8.5", - "rcgen 0.13.1", + "rcgen", "regex", "reqwest 0.12.7", "ring", @@ -3574,22 +3402,6 @@ dependencies = [ "webpki-roots", ] -[[package]] -name = "iroh-router" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd18ec6325dd3f01625f12c01acff50a4374ee1ab708e7b2078885fd63ad30" -dependencies = [ - "anyhow", - "futures-buffered", - "futures-lite 2.5.0", - "futures-util", - "iroh-net", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -3917,12 +3729,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -4047,23 +3853,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "netdev" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" -dependencies = [ - "dlopen2", - "libc", - "memalloc", - "netlink-packet-core", - "netlink-packet-route 0.17.1", - "netlink-sys", - "once_cell", - "system-configuration 0.6.1", - "windows-sys 0.52.0", -] - [[package]] name = "netdev" version = "0.31.0" @@ -4175,35 +3964,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "netwatch" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a639d52c0996ac640e2a7052a5265c8f71efdbdadc83188435ffc358b7ca931" -dependencies = [ - "anyhow", - "bytes", - "derive_more 1.0.0", - "futures-lite 2.5.0", - "futures-sink", - "futures-util", - "libc", - "netdev 0.30.0", - "netlink-packet-core", - "netlink-packet-route 0.17.1", - "netlink-sys", - "once_cell", - "rtnetlink 0.13.1", - "serde", - "socket2", - "thiserror 1.0.64", - "time", - "tokio", - "tracing", - "windows 0.51.1", - "wmi 0.13.4", -] - [[package]] name = "netwatch" version = "0.2.0" @@ -4219,7 +3979,7 @@ dependencies = [ "futures-util", "iroh-quinn-udp", "libc", - "netdev 0.31.0", + "netdev", "netlink-packet-core", "netlink-packet-route 0.19.0", "netlink-sys", @@ -4234,7 +3994,7 @@ dependencies = [ "tokio-util", "tracing", "windows 0.58.0", - "wmi 0.14.1", + "wmi", ] [[package]] @@ -5245,35 +5005,6 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" -[[package]] -name = "portmapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d60045fdcfe8ff6b781cf1027fdbb08ed319d93aff7da4bedc018e3bc92226" -dependencies = [ - "anyhow", - "base64 0.22.1", - "bytes", - "derive_more 1.0.0", - "futures-lite 2.5.0", - "futures-util", - "igd-next", - "iroh-metrics 0.28.0", - "libc", - "netwatch 0.1.0", - "num_enum 0.7.3", - "rand 0.8.5", - "serde", - "smallvec", - "socket2", - "thiserror 1.0.64", - "time", - "tokio", - "tokio-util", - "tracing", - "url", -] - [[package]] name = "portmapper" version = "0.2.1" @@ -5287,9 +5018,9 @@ dependencies = [ "futures-lite 2.5.0", "futures-util", "igd-next", - "iroh-metrics 0.29.0", + "iroh-metrics", "libc", - "netwatch 0.2.0", + "netwatch", "num_enum 0.7.3", "rand 0.8.5", "serde", @@ -5523,27 +5254,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quic-rpc" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8431b2e7c22929347b61a354d4936d71fe7ab1e6b0475dc50e98276970dfec" -dependencies = [ - "anyhow", - "derive_more 1.0.0", - "educe", - "flume", - "futures-lite 2.5.0", - "futures-sink", - "futures-util", - "hex", - "pin-project", - "serde", - "slab", - "tokio", - "tracing", -] - [[package]] name = "quic-rpc" version = "0.17.0" @@ -5566,18 +5276,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "quic-rpc-derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403bc8506c847468e00170dbbbfe2c54d13b090031bcbe474cd3faea021cbd9f" -dependencies = [ - "proc-macro2", - "quic-rpc 0.14.0", - "quote", - "syn 1.0.109", -] - [[package]] name = "quic-rpc-derive" version = "0.17.0" @@ -5585,7 +5283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44bb53e37914f7e7c6670dc2c834b9299110620cded49e783e78e9d8baf80128" dependencies = [ "proc-macro2", - "quic-rpc 0.17.0", + "quic-rpc", "quote", "syn 1.0.109", ] @@ -5804,18 +5502,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" -[[package]] -name = "rcgen" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" -dependencies = [ - "pem", - "ring", - "time", - "yasna", -] - [[package]] name = "rcgen" version = "0.13.1" @@ -7579,7 +7265,7 @@ dependencies = [ "num-bigint", "pem", "proc-macro2", - "rcgen 0.13.1", + "rcgen", "reqwest 0.12.7", "ring", "rustls", @@ -8461,16 +8147,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" -dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", -] - [[package]] name = "windows" version = "0.52.0" @@ -8511,15 +8187,6 @@ dependencies = [ "windows-tokens", ] -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-core" version = "0.52.0" @@ -8991,21 +8658,6 @@ dependencies = [ "wayland-protocols-wlr", ] -[[package]] -name = "wmi" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" -dependencies = [ - "chrono", - "futures", - "log", - "serde", - "thiserror 1.0.64", - "windows 0.58.0", - "windows-core 0.58.0", -] - [[package]] name = "wmi" version = "0.14.1" diff --git a/tauri-todos/src-tauri/Cargo.toml b/tauri-todos/src-tauri/Cargo.toml index 9c5d8c8f..6262f5b8 100644 --- a/tauri-todos/src-tauri/Cargo.toml +++ b/tauri-todos/src-tauri/Cargo.toml @@ -18,8 +18,12 @@ serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } tauri = { version = "1.6.1", features = ["api-all"] } tokio = { version = "1" } +quic-rpc = { version = "0.17" } iroh = "0.29" -iroh-docs = "0.29" +iroh-docs = { version = "0.29", features = ["rpc"] } +iroh-blobs = { version = "0.29", features = ["rpc"] } +iroh-gossip = { version = "0.29", features = ["rpc"] } +iroh-node-util = "0.29" bytes = "1" num_cpus = { version = "1.15.0" } tokio-util = { version = "0.7" } diff --git a/tauri-todos/src-tauri/src/iroh.rs b/tauri-todos/src-tauri/src/iroh.rs new file mode 100644 index 00000000..fb600ade --- /dev/null +++ b/tauri-todos/src-tauri/src/iroh.rs @@ -0,0 +1,107 @@ +use std::{path::PathBuf, sync::Arc}; + +use anyhow::Result; +use iroh::protocol::Router; +use iroh_blobs::{ + downloader::Downloader, net_protocol::Blobs, provider::EventSender, util::local_pool::LocalPool, +}; +use quic_rpc::transport::flume::FlumeConnector; + +pub(crate) type BlobsClient = iroh_blobs::rpc::client::blobs::Client< + FlumeConnector, +>; +pub(crate) type DocsClient = iroh_docs::rpc::client::docs::Client< + FlumeConnector, +>; + +pub(crate) struct Iroh { + _local_pool: Arc, + router: Router, + pub(crate) blobs: BlobsClient, + pub(crate) docs: DocsClient, +} + +impl Iroh { + pub async fn new(path: PathBuf) -> Result { + // create dir if it doesn't already exist + tokio::fs::create_dir_all(&path).await?; + + // load or create key + let key = iroh_node_util::load_secret_key(path.clone().join("keypair")).await?; + + // load or create stores + let docs_store = iroh_docs::store::Store::persistent(path.join("docs.redb"))?; + let author_store = + iroh_docs::engine::DefaultAuthorStorage::Persistent(path.join("default-author")); + let blobs_store = iroh_blobs::store::fs::Store::load(path.join("blobs")).await?; + + // local thread pool manager for blobs + let local_pool = LocalPool::default(); + + // create endpoint + let endpoint = iroh::Endpoint::builder() + .discovery_n0() + .secret_key(key) + .bind() + .await?; + + // build the protocol router + let mut builder = iroh::protocol::Router::builder(endpoint); + + // add iroh gossip + let addr = builder.endpoint().node_addr().await?; + let gossip = iroh_gossip::net::Gossip::from_endpoint( + builder.endpoint().clone(), + Default::default(), + &addr.info, + ); + builder = builder.accept( + iroh_gossip::net::GOSSIP_ALPN.to_vec(), + Arc::new(gossip.clone()), + ); + + // add iroh blobs + let downloader = Downloader::new( + blobs_store.clone(), + builder.endpoint().clone(), + local_pool.handle().clone(), + ); + let blobs = Arc::new(Blobs::new( + blobs_store.clone(), + local_pool.handle().clone(), + EventSender::default(), + downloader.clone(), + builder.endpoint().clone(), + )); + builder = builder.accept(iroh_blobs::protocol::ALPN.to_vec(), blobs.clone()); + + // add docs + let docs = iroh_docs::engine::Engine::spawn( + builder.endpoint().clone(), + gossip, + docs_store, + blobs_store.clone(), + downloader, + author_store, + local_pool.handle().clone(), + ) + .await?; + builder = builder.accept(iroh_docs::ALPN, Arc::new(docs.clone())); + + let router = builder.spawn().await?; + + let blobs_client = blobs.client(); + let docs_client = docs.client().clone(); + + Ok(Self { + _local_pool: Arc::new(local_pool), + router, + blobs: blobs_client, + docs: docs_client, + }) + } + + pub(crate) async fn shutdown(self) -> Result<()> { + self.router.shutdown().await + } +} diff --git a/tauri-todos/src-tauri/src/main.rs b/tauri-todos/src-tauri/src/main.rs index f698b38d..32fab6cf 100644 --- a/tauri-todos/src-tauri/src/main.rs +++ b/tauri-todos/src-tauri/src/main.rs @@ -2,18 +2,21 @@ all(not(debug_assertions), target_os = "windows"), windows_subsystem = "windows" )] +mod iroh; mod todos; +use std::sync::Arc; + use anyhow::{anyhow, Result}; use futures_lite::StreamExt; -use iroh_docs::{store::fs::Store, ContentStatus, rpc::client::{docs::LiveEvent, Iroh}}; +use iroh_docs::{rpc::client::docs::LiveEvent, ContentStatus}; use tauri::Manager; use tokio::sync::Mutex; -use self::todos::{Todo, Todos}; - -// this example uses a persistend iroh node stored in the application data directory -type IrohNode = iroh::node::Node; +use self::{ + iroh::Iroh, + todos::{Todo, Todos}, +}; // setup an iroh node async fn setup(handle: tauri::AppHandle) -> Result<()> { @@ -24,35 +27,26 @@ async fn setup(handle: tauri::AppHandle) -> Result<()> { .ok_or_else(|| anyhow!("can't get application data directory"))? .join("iroh_data"); - // create the docs protocol with persistent storage - let store = Store::persistent(data_root)?; - let docs = - // create the iroh that has persistent storage and docs enabled - let node = iroh::node::Builder::default() - .enable_docs() - .persist(data_root) - .await? - .spawn() - .await?; - handle.manage(AppState::new(node)); + let iroh = Iroh::new(data_root).await?; + handle.manage(AppState::new(iroh)); Ok(()) } struct AppState { todos: Mutex)>>, - iroh: IrohNode, + iroh: Arc, } impl AppState { - fn new(iroh: IrohNode) -> Self { + fn new(iroh: Iroh) -> Self { AppState { todos: Mutex::new(None), - iroh, + iroh: Arc::new(iroh), } } - fn iroh(&self) -> Iroh { - self.iroh.client().clone() + fn iroh(&self) -> Arc { + self.iroh.clone() } async fn init_todos( diff --git a/tauri-todos/src-tauri/src/todos.rs b/tauri-todos/src-tauri/src/todos.rs index c6d2cb48..ebd954cb 100644 --- a/tauri-todos/src-tauri/src/todos.rs +++ b/tauri-todos/src-tauri/src/todos.rs @@ -1,13 +1,19 @@ +use std::str::FromStr; +use std::sync::Arc; + use anyhow::{bail, ensure, Context, Result}; use bytes::Bytes; use futures_lite::{Stream, StreamExt}; -use iroh::client::docs::{Entry, LiveEvent, ShareMode}; -use iroh_docs::rpc::client::{docs::Doc, Iroh}; +use iroh_docs::rpc::client::docs::Doc; +use iroh_docs::rpc::client::docs::{Entry, LiveEvent, ShareMode}; use iroh_docs::{store::Query, AuthorId, DocTicket}; -use std::str::FromStr; + +use quic_rpc::transport::flume::FlumeConnector; // use iroh::ticket::DocTicket; use serde::{Deserialize, Serialize}; +use super::iroh::Iroh; + /// Todo in a list of todos. #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Todo { @@ -53,28 +59,29 @@ const MAX_LABEL_LEN: usize = 2 * 1000; /// List of todos, including completed todos that have not been archived pub struct Todos { - node: Iroh, - doc: Doc, + iroh: Arc, + doc: Doc>, + ticket: DocTicket, author: AuthorId, } impl Todos { - pub async fn new(ticket: Option, node: Iroh) -> anyhow::Result { - let author = node.authors().create().await?; + pub async fn new(ticket: Option, iroh: Arc) -> anyhow::Result { + let author = iroh.docs.authors().create().await?; let doc = match ticket { - None => node.docs().create().await?, + None => iroh.docs.create().await?, Some(ticket) => { let ticket = DocTicket::from_str(&ticket)?; - node.docs().import(ticket).await? + iroh.docs.import(ticket).await? } }; let ticket = doc.share(ShareMode::Write, Default::default()).await?; Ok(Todos { - node, + iroh, author, doc, ticket, @@ -169,7 +176,7 @@ impl Todos { async fn todo_from_entry(&self, entry: &Entry) -> anyhow::Result { let id = String::from_utf8(entry.key().to_owned()).context("invalid key")?; - match self.node.blobs().read_to_bytes(entry.content_hash()).await { + match self.iroh.blobs.read_to_bytes(entry.content_hash()).await { Ok(b) => Todo::from_bytes(b), Err(_) => Ok(Todo::missing_todo(id)), } From 84385db795ac12e7f705aa82afeb1b14534a5f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 4 Dec 2024 22:08:32 -0500 Subject: [PATCH 11/14] clippy --- dumbpipe-web/Cargo.lock | 5 +++-- iroh-automerge/src/main.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dumbpipe-web/Cargo.lock b/dumbpipe-web/Cargo.lock index 9b7fbf67..bb301e9a 100644 --- a/dumbpipe-web/Cargo.lock +++ b/dumbpipe-web/Cargo.lock @@ -713,8 +713,9 @@ checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" [[package]] name = "dumbpipe" -version = "0.20.0" -source = "git+https://github.com/n0-computer/dumbpipe?branch=iroh-v0.29.0#8b5a08c11a6dc6395e0373505a4328338389793a" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34e265103d05217fd2263bfc741b48911cfb12daa4f72b73b63b730d8f47d04a" dependencies = [ "anyhow", "clap", diff --git a/iroh-automerge/src/main.rs b/iroh-automerge/src/main.rs index 90deff6e..76aba3d9 100644 --- a/iroh-automerge/src/main.rs +++ b/iroh-automerge/src/main.rs @@ -35,7 +35,7 @@ async fn main() -> Result<()> { .await?; let iroh = Router::builder(endpoint) .accept( - IrohAutomergeProtocol::ALPN.to_vec(), + IrohAutomergeProtocol::ALPN, Arc::clone(&automerge) as Arc, ) .spawn() From 55fddad77d7247cdcec0dadc62861e82f5e2b6b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 4 Dec 2024 23:18:34 -0500 Subject: [PATCH 12/14] dont forget discovery --- dumbpipe-web/src/main.rs | 2 +- extism/iroh-extism-host-functions/src/lib.rs | 2 +- iroh-automerge/src/main.rs | 5 +---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/dumbpipe-web/src/main.rs b/dumbpipe-web/src/main.rs index 7ab58729..b76b86a9 100644 --- a/dumbpipe-web/src/main.rs +++ b/dumbpipe-web/src/main.rs @@ -64,7 +64,7 @@ async fn main() -> Result<(), Box> { // Create a iroh endpoint and set it as a global // // Done explicitly here because creation is async - let mut builder = Endpoint::builder().secret_key(secret_key); + let mut builder = Endpoint::builder().secret_key(secret_key).discovery_n0(); if let Some(addr) = args.iroh_ipv4_addr { builder = builder.bind_addr_v4(addr); } diff --git a/extism/iroh-extism-host-functions/src/lib.rs b/extism/iroh-extism-host-functions/src/lib.rs index a800a60a..099ef948 100644 --- a/extism/iroh-extism-host-functions/src/lib.rs +++ b/extism/iroh-extism-host-functions/src/lib.rs @@ -40,7 +40,7 @@ impl Iroh { let local_pool = LocalPool::single(); // create an endpoint - let endpoint = Endpoint::builder().bind().await?; + let endpoint = Endpoint::builder().discovery_n0().bind().await?; let node_id = endpoint.node_id(); // create blobs protocol diff --git a/iroh-automerge/src/main.rs b/iroh-automerge/src/main.rs index 76aba3d9..98a81597 100644 --- a/iroh-automerge/src/main.rs +++ b/iroh-automerge/src/main.rs @@ -29,10 +29,7 @@ async fn main() -> Result<()> { // We set up a channel so we can subscribe to sync events from the automerge protocol let (sync_sender, mut sync_finished) = mpsc::channel(10); let automerge = IrohAutomergeProtocol::new(Automerge::new(), sync_sender); - let endpoint = Endpoint::builder() - .alpns(vec![IrohAutomergeProtocol::ALPN.to_vec()]) - .bind() - .await?; + let endpoint = Endpoint::builder().discovery_n0().bind().await?; let iroh = Router::builder(endpoint) .accept( IrohAutomergeProtocol::ALPN, From 5b54db2ffe83c5ce03297b297769398547a9f2f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Thu, 5 Dec 2024 00:47:56 -0500 Subject: [PATCH 13/14] clean up extism --- extism/iroh-extism-host-functions/src/lib.rs | 25 ++++---------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/extism/iroh-extism-host-functions/src/lib.rs b/extism/iroh-extism-host-functions/src/lib.rs index 099ef948..310e294a 100644 --- a/extism/iroh-extism-host-functions/src/lib.rs +++ b/extism/iroh-extism-host-functions/src/lib.rs @@ -33,9 +33,6 @@ pub struct Iroh { impl Iroh { pub async fn new(path: PathBuf) -> Result { - // create store - let store = Store::load(path).await?; - // create local pool let local_pool = LocalPool::single(); @@ -44,18 +41,11 @@ impl Iroh { let node_id = endpoint.node_id(); // create blobs protocol - let downloader = iroh_blobs::downloader::Downloader::new( - store.clone(), - endpoint.clone(), - local_pool.handle().clone(), - ); - let blobs = Arc::new(Blobs::new( - store.clone(), - local_pool.handle().clone(), - Default::default(), - downloader.clone(), - endpoint.clone(), - )); + let blobs = Blobs::persistent(path) + .await? + .build(local_pool.handle(), &endpoint); + + // create router let router = Router::builder(endpoint) .accept(iroh_blobs::ALPN, blobs.clone()) .spawn() @@ -97,7 +87,6 @@ host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { } let router = ctx.iroh.router(); let blobs = ctx.iroh.blobs(); - println!("blobs"); let buf = ctx.rt.block_on(async move { let blobs = blobs.client(); let mut stream = blobs.download_with_opts(hash, DownloadOptions { @@ -106,14 +95,10 @@ host_fn!(iroh_blob_get_ticket(user_data: Context; ticket: &str) -> Vec { mode: DownloadMode::Queued, tag: SetTagOption::Auto, }).await?; - println!("download"); while stream.next().await.is_some() {} - println!("stream next"); let buffer = blobs.read(hash).await?.read_to_bytes().await?; - println!("read"); router.shutdown().await?; - println!("shutdown"); anyhow::Ok(buffer.to_vec()) })?; From 612fea6a659841a75ae3c377728131e0302ddbe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Fri, 6 Dec 2024 14:30:17 -0500 Subject: [PATCH 14/14] make iroh code simpler --- extism/iroh-extism-host-functions/src/lib.rs | 9 ++---- tauri-todos/src-tauri/src/iroh.rs | 34 ++++++-------------- tauri-todos/src-tauri/src/main.rs | 14 ++++---- tauri-todos/src-tauri/src/todos.rs | 5 ++- 4 files changed, 21 insertions(+), 41 deletions(-) diff --git a/extism/iroh-extism-host-functions/src/lib.rs b/extism/iroh-extism-host-functions/src/lib.rs index 310e294a..aabf8942 100644 --- a/extism/iroh-extism-host-functions/src/lib.rs +++ b/extism/iroh-extism-host-functions/src/lib.rs @@ -3,7 +3,7 @@ use std::{path::PathBuf, str::FromStr, sync::Arc}; use anyhow::{anyhow, Result}; use extism::*; use futures::stream::StreamExt; -use iroh::{key::PublicKey, protocol::Router, Endpoint}; +use iroh::{protocol::Router, Endpoint, NodeId}; use iroh_blobs::{ net_protocol::{Blobs, DownloadMode}, rpc::client::blobs::DownloadOptions, @@ -28,7 +28,6 @@ pub struct Iroh { _local_pool: LocalPool, router: Router, blobs: Arc>, - node_id: PublicKey, } impl Iroh { @@ -38,7 +37,6 @@ impl Iroh { // create an endpoint let endpoint = Endpoint::builder().discovery_n0().bind().await?; - let node_id = endpoint.node_id(); // create blobs protocol let blobs = Blobs::persistent(path) @@ -54,12 +52,11 @@ impl Iroh { _local_pool: local_pool, router, blobs, - node_id, }) } - pub fn node_id(&self) -> PublicKey { - self.node_id + pub fn node_id(&self) -> NodeId { + self.router.endpoint().node_id() } pub fn blobs(&self) -> Arc> { diff --git a/tauri-todos/src-tauri/src/iroh.rs b/tauri-todos/src-tauri/src/iroh.rs index fb600ade..77973ee8 100644 --- a/tauri-todos/src-tauri/src/iroh.rs +++ b/tauri-todos/src-tauri/src/iroh.rs @@ -2,9 +2,7 @@ use std::{path::PathBuf, sync::Arc}; use anyhow::Result; use iroh::protocol::Router; -use iroh_blobs::{ - downloader::Downloader, net_protocol::Blobs, provider::EventSender, util::local_pool::LocalPool, -}; +use iroh_blobs::util::local_pool::LocalPool; use quic_rpc::transport::flume::FlumeConnector; pub(crate) type BlobsClient = iroh_blobs::rpc::client::blobs::Client< @@ -14,6 +12,7 @@ pub(crate) type DocsClient = iroh_docs::rpc::client::docs::Client< FlumeConnector, >; +#[derive(Clone, Debug)] pub(crate) struct Iroh { _local_pool: Arc, router: Router, @@ -29,11 +28,10 @@ impl Iroh { // load or create key let key = iroh_node_util::load_secret_key(path.clone().join("keypair")).await?; - // load or create stores + // load or create docs stores let docs_store = iroh_docs::store::Store::persistent(path.join("docs.redb"))?; let author_store = iroh_docs::engine::DefaultAuthorStorage::Persistent(path.join("default-author")); - let blobs_store = iroh_blobs::store::fs::Store::load(path.join("blobs")).await?; // local thread pool manager for blobs let local_pool = LocalPool::default(); @@ -55,33 +53,21 @@ impl Iroh { Default::default(), &addr.info, ); - builder = builder.accept( - iroh_gossip::net::GOSSIP_ALPN.to_vec(), - Arc::new(gossip.clone()), - ); + builder = builder.accept(iroh_gossip::ALPN, Arc::new(gossip.clone())); // add iroh blobs - let downloader = Downloader::new( - blobs_store.clone(), - builder.endpoint().clone(), - local_pool.handle().clone(), - ); - let blobs = Arc::new(Blobs::new( - blobs_store.clone(), - local_pool.handle().clone(), - EventSender::default(), - downloader.clone(), - builder.endpoint().clone(), - )); - builder = builder.accept(iroh_blobs::protocol::ALPN.to_vec(), blobs.clone()); + let blobs = iroh_blobs::net_protocol::Blobs::persistent(path) + .await? + .build(&local_pool.handle(), builder.endpoint()); + builder = builder.accept(iroh_blobs::ALPN, blobs.clone()); // add docs let docs = iroh_docs::engine::Engine::spawn( builder.endpoint().clone(), gossip, docs_store, - blobs_store.clone(), - downloader, + blobs.store().clone(), + blobs.downloader().clone(), author_store, local_pool.handle().clone(), ) diff --git a/tauri-todos/src-tauri/src/main.rs b/tauri-todos/src-tauri/src/main.rs index 32fab6cf..94e29e53 100644 --- a/tauri-todos/src-tauri/src/main.rs +++ b/tauri-todos/src-tauri/src/main.rs @@ -5,8 +5,6 @@ mod iroh; mod todos; -use std::sync::Arc; - use anyhow::{anyhow, Result}; use futures_lite::StreamExt; use iroh_docs::{rpc::client::docs::LiveEvent, ContentStatus}; @@ -35,18 +33,18 @@ async fn setup(handle: tauri::AppHandle) -> Result<()> { struct AppState { todos: Mutex)>>, - iroh: Arc, + iroh: Iroh, } impl AppState { fn new(iroh: Iroh) -> Self { AppState { todos: Mutex::new(None), - iroh: Arc::new(iroh), + iroh, } } - fn iroh(&self) -> Arc { - self.iroh.clone() + fn iroh(&self) -> &Iroh { + &self.iroh } async fn init_todos( @@ -129,7 +127,7 @@ async fn new_list( app_handle: tauri::AppHandle, state: tauri::State<'_, AppState>, ) -> Result<(), String> { - let todos = Todos::new(None, state.iroh()) + let todos = Todos::new(None, state.iroh().clone()) .await .map_err(|e| e.to_string())?; @@ -189,7 +187,7 @@ async fn set_ticket( ticket: String, state: tauri::State<'_, AppState>, ) -> Result<(), String> { - let todos = Todos::new(Some(ticket), state.iroh()) + let todos = Todos::new(Some(ticket), state.iroh().clone()) .await .map_err(|e| e.to_string())?; diff --git a/tauri-todos/src-tauri/src/todos.rs b/tauri-todos/src-tauri/src/todos.rs index ebd954cb..afdaca17 100644 --- a/tauri-todos/src-tauri/src/todos.rs +++ b/tauri-todos/src-tauri/src/todos.rs @@ -1,5 +1,4 @@ use std::str::FromStr; -use std::sync::Arc; use anyhow::{bail, ensure, Context, Result}; use bytes::Bytes; @@ -59,7 +58,7 @@ const MAX_LABEL_LEN: usize = 2 * 1000; /// List of todos, including completed todos that have not been archived pub struct Todos { - iroh: Arc, + iroh: Iroh, doc: Doc>, ticket: DocTicket, @@ -67,7 +66,7 @@ pub struct Todos { } impl Todos { - pub async fn new(ticket: Option, iroh: Arc) -> anyhow::Result { + pub async fn new(ticket: Option, iroh: Iroh) -> anyhow::Result { let author = iroh.docs.authors().create().await?; let doc = match ticket {