From 10e2c9e8771f9ddcf54bf3cd5f198a94ae0bfa87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 11:58:29 -0400 Subject: [PATCH 1/7] chore: add patch for `iroh` dependencies Updates the following dependencies to use their main branches: - `iroh` from `https://github.com/n0-computer/iroh.git` - `irpc` from `https://github.com/n0-computer/irpc.git` - `iroh-base` from `https://github.com/n0-computer/iroh.git` - `iroh-gossip` from `https://github.com/n0-computer/iroh-gossip.git` - `iroh-blobs` from `https://github.com/n0-computer/iroh-blobs.git` --- Cargo.lock | 389 +++++++++++++++++++++++++++++++++++++---------------- Cargo.toml | 7 + deny.toml | 66 ++++----- 3 files changed, 319 insertions(+), 143 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 35657d04..de6851b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,13 +19,13 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" -version = "0.5.2" +version = "0.6.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +checksum = "ac8202ab55fcbf46ca829833f347a82a2a4ce0596f0304ac322c2d100030cd56" dependencies = [ "bytes", - "crypto-common", - "generic-array", + "crypto-common 0.2.0-rc.4", + "inout", ] [[package]] @@ -368,9 +368,9 @@ dependencies = [ [[package]] name = "base16ct" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +checksum = "d8b59d472eab27ade8d770dcb11da7201c11234bef9f82ce7aa517be028d462b" [[package]] name = "base32" @@ -439,6 +439,16 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.11.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9ef36a6fcdb072aa548f3da057640ec10859eb4e91ddf526ee648d50c76a949" +dependencies = [ + "hybrid-array", + "zeroize", +] + [[package]] name = "bounded-integer" version = "0.5.8" @@ -532,13 +542,14 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chacha20" -version = "0.9.1" +version = "0.10.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +checksum = "9bd162f2b8af3e0639d83f28a637e4e55657b7a74508dba5a9bf4da523d5c9e9" dependencies = [ "cfg-if", "cipher", "cpufeatures", + "zeroize", ] [[package]] @@ -558,11 +569,12 @@ dependencies = [ [[package]] name = "cipher" -version = "0.4.4" +version = "0.5.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +checksum = "1e12a13eb01ded5d32ee9658d94f553a19e804204f2dc811df69ab4d9e0cb8c7" dependencies = [ - "crypto-common", + "block-buffer 0.11.0-rc.5", + "crypto-common 0.2.0-rc.4", "inout", "zeroize", ] @@ -658,6 +670,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-oid" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dabb6555f92fb9ee4140454eb5dcd14c7960e1225c6d1a6cc361f032947713e" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -761,20 +779,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8235645834fbc6832939736ce2f2d08192652269e11010a6240f61b908a1c6" +dependencies = [ + "hybrid-array", + "rand_core 0.9.3", +] + [[package]] name = "crypto_box" -version = "0.9.1" +version = "0.10.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16182b4f39a82ec8a6851155cc4c0cda3065bb1db33651726a29e1951de0f009" +checksum = "2bda4de3e070830cf3a27a394de135b6709aefcc54d1e16f2f029271254a6ed9" dependencies = [ "aead", "chacha20", "crypto_secretbox", - "curve25519-dalek", + "curve25519-dalek 5.0.0-pre.1", "salsa20", "serdect", "subtle", @@ -783,14 +810,14 @@ dependencies = [ [[package]] name = "crypto_secretbox" -version = "0.1.1" +version = "0.2.0-pre.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1" +checksum = "54532aae6546084a52cef855593daf9555945719eeeda9974150e0def854873e" dependencies = [ "aead", "chacha20", "cipher", - "generic-array", + "hybrid-array", "poly1305", "salsa20", "subtle", @@ -806,9 +833,25 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest", - "fiat-crypto", - "rand_core 0.6.4", + "digest 0.10.7", + "fiat-crypto 0.2.9", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "5.0.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f9200d1d13637f15a6acb71e758f64624048d85b31a5fdbfd8eca1e2687d0b7" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.11.0-rc.3", + "fiat-crypto 0.3.0", + "rand_core 0.9.3", "rustc_version", "serde", "subtle", @@ -852,7 +895,17 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid", + "const-oid 0.9.6", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.0-rc.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9d8dd2f26c86b27a2a8ea2767ec7f9df7a89516e4794e54ac01ee618dda3aa4" +dependencies = [ + "const-oid 0.10.1", "der_derive", "pem-rfc7468", "zeroize", @@ -874,9 +927,9 @@ dependencies = [ [[package]] name = "der_derive" -version = "0.7.3" +version = "0.8.0-rc.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" +checksum = "be645fee2afe89d293b96c19e4456e6ac69520fc9c6b8a58298550138e361ffe" dependencies = [ "proc-macro2", "quote", @@ -958,11 +1011,21 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "crypto-common", + "block-buffer 0.10.4", + "crypto-common 0.1.6", "subtle", ] +[[package]] +name = "digest" +version = "0.11.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac89f8a64533a9b0eaa73a68e424db0fb1fd6271c74cc0125336a05f090568d" +dependencies = [ + "block-buffer 0.11.0-rc.5", + "crypto-common 0.2.0-rc.4", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -1006,9 +1069,20 @@ version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "pkcs8", + "pkcs8 0.10.2", "serde", - "signature", + "signature 2.2.0", +] + +[[package]] +name = "ed25519" +version = "3.0.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ef49c0b20c0ad088893ad2a790a29c06a012b3f05bcfc66661fd22a94b32129" +dependencies = [ + "pkcs8 0.11.0-rc.7", + "serde", + "signature 3.0.0-rc.4", ] [[package]] @@ -1017,11 +1091,27 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ - "curve25519-dalek", - "ed25519", + "curve25519-dalek 4.1.3", + "ed25519 2.2.3", "rand_core 0.6.4", "serde", - "sha2", + "sha2 0.10.9", + "subtle", + "zeroize", +] + +[[package]] +name = "ed25519-dalek" +version = "3.0.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad207ed88a133091f83224265eac21109930db09bedcad05d5252f2af2de20a1" +dependencies = [ + "curve25519-dalek 5.0.0-pre.1", + "ed25519 3.0.0-rc.1", + "rand_core 0.9.3", + "serde", + "sha2 0.11.0-rc.2", + "signature 3.0.0-rc.4", "subtle", "zeroize", ] @@ -1125,6 +1215,12 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "fiat-crypto" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" + [[package]] name = "fixedbitset" version = "0.5.7" @@ -1341,7 +1437,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -1397,9 +1492,9 @@ dependencies = [ [[package]] name = "governor" -version = "0.8.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be93b4ec2e4710b04d9264c0c7350cdd62a8c20e5e4ac732552ebb8f0debe8eb" +checksum = "444405bbb1a762387aa22dd569429533b54a1d8759d35d3b64cb39b0293eaa19" dependencies = [ "cfg-if", "dashmap", @@ -1407,7 +1502,7 @@ dependencies = [ "futures-timer", "futures-util", "getrandom 0.3.3", - "no-std-compat", + "hashbrown 0.15.4", "nonzero_ext", "parking_lot", "portable-atomic", @@ -1496,20 +1591,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" dependencies = [ "async-trait", + "bytes", "cfg-if", "data-encoding", "enum-as-inner", "futures-channel", "futures-io", "futures-util", + "h2", + "http", "idna", "ipnet", "once_cell", "rand 0.9.2", "ring", + "rustls", "thiserror 2.0.12", "tinyvec", "tokio", + "tokio-rustls", "tracing", "url", ] @@ -1529,9 +1629,11 @@ dependencies = [ "parking_lot", "rand 0.9.2", "resolv-conf", + "rustls", "smallvec", "thiserror 2.0.12", "tokio", + "tokio-rustls", "tracing", ] @@ -1541,7 +1643,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -1612,6 +1714,16 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "hybrid-array" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0" +dependencies = [ + "typenum", + "zeroize", +] + [[package]] name = "hyper" version = "1.6.0" @@ -1838,11 +1950,11 @@ dependencies = [ [[package]] name = "inout" -version = "0.1.4" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +checksum = "c7357b6e7aa75618c7864ebd0634b115a7218b0615f4cb1df33ac3eca23943d4" dependencies = [ - "generic-array", + "hybrid-array", ] [[package]] @@ -1908,8 +2020,7 @@ dependencies = [ [[package]] name = "iroh" version = "0.92.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135ad6b793a5851b9e5435ad36fea63df485f8fd4520a58117e7dc3326a69c15" +source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" dependencies = [ "aead", "axum", @@ -1918,9 +2029,9 @@ dependencies = [ "cfg_aliases", "crypto_box", "data-encoding", - "der", + "der 0.8.0-rc.9", "derive_more 2.0.1", - "ed25519-dalek", + "ed25519-dalek 3.0.0-pre.1", "futures-buffered", "futures-util", "getrandom 0.3.3", @@ -1929,7 +2040,7 @@ dependencies = [ "igd-next", "instant", "iroh-base", - "iroh-metrics", + "iroh-metrics 0.36.1", "iroh-quinn", "iroh-quinn-proto", "iroh-quinn-udp", @@ -1942,8 +2053,9 @@ dependencies = [ "netwatch", "pin-project", "pkarr", + "pkcs8 0.11.0-rc.7", "portmapper", - "rand 0.8.5", + "rand 0.9.2", "reqwest", "ring", "rustls", @@ -1952,7 +2064,6 @@ dependencies = [ "serde", "smallvec", "snafu", - "spki", "strum 0.27.2", "stun-rs", "surge-ping", @@ -1970,17 +2081,16 @@ dependencies = [ [[package]] name = "iroh-base" version = "0.92.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ae51a14c9255a735b1db2d8cf29b875b971e96a5b23e4d0d1ee7d85bf32132" +source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 5.0.0-pre.1", "data-encoding", "derive_more 2.0.1", - "ed25519-dalek", + "ed25519-dalek 3.0.0-pre.1", "n0-snafu", "nested_enum_utils 0.2.2", "postcard", - "rand_core 0.6.4", + "rand_core 0.9.3", "serde", "snafu", "url", @@ -1989,8 +2099,7 @@ dependencies = [ [[package]] name = "iroh-blobs" version = "0.94.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1ebaa36eb3a36492c3b661bdd6eaf359f85def358c1c661d2d04edbe4ad5778" +source = "git+https://github.com/n0-computer/iroh-blobs.git?branch=main#33f1582becedceeb015c33792c74274ffad80948" dependencies = [ "anyhow", "arrayvec", @@ -2005,16 +2114,16 @@ dependencies = [ "iroh", "iroh-base", "iroh-io", - "iroh-metrics", + "iroh-metrics 0.35.0", "iroh-quinn", "irpc", "n0-future 0.2.0", "n0-snafu", "nested_enum_utils 0.2.2", "postcard", - "rand 0.8.5", + "rand 0.9.2", "range-collections", - "redb 2.4.0", + "redb 2.6.3", "ref-cast", "reflink-copy", "self_cell", @@ -2036,7 +2145,7 @@ dependencies = [ "bytes", "data-encoding", "derive_more 1.0.0", - "ed25519-dalek", + "ed25519-dalek 2.2.0", "futures-buffered", "futures-lite", "futures-util", @@ -2045,7 +2154,7 @@ dependencies = [ "iroh-base", "iroh-blobs", "iroh-gossip", - "iroh-metrics", + "iroh-metrics 0.35.0", "iroh-quinn", "irpc", "n0-future 0.1.3", @@ -2058,7 +2167,7 @@ dependencies = [ "rand_chacha 0.3.1", "rand_core 0.6.4", "redb 1.5.1", - "redb 2.4.0", + "redb 2.6.3", "self_cell", "serde", "serde-error", @@ -2079,14 +2188,13 @@ dependencies = [ [[package]] name = "iroh-gossip" version = "0.92.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d530166ebdcfe321fb3a406dba62d777c98e1159237c7aaf0591e3758eb013c" +source = "git+https://github.com/n0-computer/iroh-gossip.git?branch=main#340afd9314f7e9eda063311cacffac52c864be6f" dependencies = [ "blake3", "bytes", "data-encoding", "derive_more 1.0.0", - "ed25519-dalek", + "ed25519-dalek 2.2.0", "futures-concurrency", "futures-lite", "futures-util", @@ -2094,7 +2202,7 @@ dependencies = [ "indexmap", "iroh", "iroh-base", - "iroh-metrics", + "iroh-metrics 0.35.0", "irpc", "n0-future 0.1.3", "n0-snafu", @@ -2127,14 +2235,29 @@ name = "iroh-metrics" version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8922c169f1b84d39d325c02ef1bbe1419d4de6e35f0403462b3c7e60cc19634" +dependencies = [ + "iroh-metrics-derive 0.2.0", + "itoa", + "postcard", + "serde", + "snafu", + "tracing", +] + +[[package]] +name = "iroh-metrics" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090161e84532a0cb78ab13e70abb882b769ec67cf5a2d2dcea39bd002e1f7172" dependencies = [ "http-body-util", "hyper", "hyper-util", - "iroh-metrics-derive", + "iroh-metrics-derive 0.3.0", "itoa", "postcard", "reqwest", + "ryu", "serde", "snafu", "tokio", @@ -2153,6 +2276,18 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "iroh-metrics-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a39de3779d200dadde3a27b9fbdb34389a2af1b85ea445afca47bf4d7672573" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "iroh-quinn" version = "0.14.0" @@ -2211,8 +2346,7 @@ dependencies = [ [[package]] name = "iroh-relay" version = "0.92.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "315cb02e660de0de339303296df9a29b27550180bb3979d0753a267649b34a7f" +source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" dependencies = [ "ahash", "blake3", @@ -2231,10 +2365,10 @@ dependencies = [ "hyper", "hyper-util", "iroh-base", - "iroh-metrics", + "iroh-metrics 0.36.1", "iroh-quinn", "iroh-quinn-proto", - "lru", + "lru 0.16.1", "n0-future 0.1.3", "n0-snafu", "nested_enum_utils 0.2.2", @@ -2242,7 +2376,7 @@ dependencies = [ "pin-project", "pkarr", "postcard", - "rand 0.8.5", + "rand 0.9.2", "rcgen 0.14.3", "regex", "reloadable-state", @@ -2277,8 +2411,7 @@ dependencies = [ [[package]] name = "irpc" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092c0b20697bbc7de4839eebcb49be975cc09221021626d301eea55fc10bfeb7" +source = "git+https://github.com/n0-computer/irpc.git?branch=main#2cdc1a0d6524fcde3645f960964b7ddbc2ba8aa4" dependencies = [ "anyhow", "futures-buffered", @@ -2300,8 +2433,7 @@ dependencies = [ [[package]] name = "irpc-derive" version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209d38d83c0f7043916e90de2d3a8d01035db3a2f49ea7d5fb41b8f43e889924" +source = "git+https://github.com/n0-computer/irpc.git?branch=main#2cdc1a0d6524fcde3645f960964b7ddbc2ba8aa4" dependencies = [ "proc-macro2", "quote", @@ -2416,6 +2548,12 @@ name = "lru" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" + +[[package]] +name = "lru" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe949189f46fabb938b3a9a0be30fdd93fd8a09260da863399a8cf3db756ec8" dependencies = [ "hashbrown 0.15.4", ] @@ -2743,12 +2881,6 @@ dependencies = [ "wmi", ] -[[package]] -name = "no-std-compat" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" - [[package]] name = "no-std-net" version = "0.6.0" @@ -2894,12 +3026,6 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - [[package]] name = "openssl-probe" version = "0.1.6" @@ -2953,9 +3079,9 @@ dependencies = [ [[package]] name = "pem-rfc7468" -version = "0.7.0" +version = "1.0.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "a8e58fab693c712c0d4e88f8eb3087b6521d060bcaf76aeb20cb192d809115ba" dependencies = [ "base64ct", ] @@ -3007,7 +3133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" dependencies = [ "pest", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -3054,9 +3180,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkarr" -version = "3.10.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eb1f2f4311bae1da11f930c804c724c9914cf55ae51a9ee0440fc98826984f7" +checksum = "792c1328860f6874e90e3b387b4929819cc7783a6bd5a4728e918706eb436a48" dependencies = [ "async-compat", "base32", @@ -3064,12 +3190,12 @@ dependencies = [ "cfg_aliases", "document-features", "dyn-clone", - "ed25519-dalek", + "ed25519-dalek 3.0.0-pre.1", "futures-buffered", "futures-lite", - "getrandom 0.2.16", + "getrandom 0.3.3", "log", - "lru", + "lru 0.13.0", "ntimestamp", "reqwest", "self_cell", @@ -3089,8 +3215,18 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der", - "spki", + "der 0.7.10", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.11.0-rc.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93eac55f10aceed84769df670ea4a32d2ffad7399400d41ee1c13b1cd8e1b478" +dependencies = [ + "der 0.8.0-rc.9", + "spki 0.8.0-rc.4", ] [[package]] @@ -3137,12 +3273,11 @@ dependencies = [ [[package]] name = "poly1305" -version = "0.8.0" +version = "0.9.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +checksum = "fb78a635f75d76d856374961deecf61031c0b6f928c83dc9c0924ab6c019c298" dependencies = [ "cpufeatures", - "opaque-debug", "universal-hash", ] @@ -3154,9 +3289,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portmapper" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f99e8cd25cd8ee09fc7da59357fd433c0a19272956ebb4ad7443b21842988d" +checksum = "90f7313cafd74e95e6a358c1d0a495112f175502cc2e69870d0a5b12b6553059" dependencies = [ "base64", "bytes", @@ -3165,7 +3300,7 @@ dependencies = [ "futures-util", "hyper-util", "igd-next", - "iroh-metrics", + "iroh-metrics 0.36.1", "libc", "nested_enum_utils 0.2.2", "netwatch", @@ -3574,9 +3709,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.4.0" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0a72cd7140de9fc3e318823b883abf819c20d478ec89ce880466dc2ef263c6" +checksum = "8eca1e9d98d5a7e9002d0013e18d5a9b000aee942eb134883a82f06ebffb6c01" dependencies = [ "libc", ] @@ -3923,10 +4058,11 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "salsa20" -version = "0.10.2" +version = "0.11.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +checksum = "d3ff3b81c8a6e381bc1673768141383f9328048a60edddcfc752a8291a138443" dependencies = [ + "cfg-if", "cipher", ] @@ -4087,9 +4223,9 @@ dependencies = [ [[package]] name = "serdect" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +checksum = "d3ef0e35b322ddfaecbc60f34ab448e157e48531288ee49fafbb053696b8ffe2" dependencies = [ "base16ct", "serde", @@ -4103,7 +4239,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", ] [[package]] @@ -4120,7 +4256,18 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1e3878ab0f98e35b2df35fe53201d088299b41a6bb63e3e34dada2ac4abd924" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.11.0-rc.3", ] [[package]] @@ -4156,6 +4303,12 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "signature" +version = "3.0.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc280a6ff65c79fbd6622f64d7127f32b85563bca8c53cd2e9141d6744a9056d" + [[package]] name = "simdutf8" version = "0.1.5" @@ -4259,7 +4412,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der", + "der 0.7.10", +] + +[[package]] +name = "spki" +version = "0.8.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" +dependencies = [ + "base64ct", + "der 0.8.0-rc.9", ] [[package]] @@ -5012,11 +5175,11 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" -version = "0.5.1" +version = "0.6.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +checksum = "a55be643b40a21558f44806b53ee9319595bc7ca6896372e4e08e5d7d83c9cd6" dependencies = [ - "crypto-common", + "crypto-common 0.2.0-rc.4", "subtle", ] diff --git a/Cargo.toml b/Cargo.toml index 0ca6e6e1..5df3dca3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -95,3 +95,10 @@ missing_debug_implementations = "warn" # do. To enable for a crate set `#![cfg_attr(iroh_docsrs, # feature(doc_cfg))]` in the crate. unexpected_cfgs = { level = "warn", check-cfg = ["cfg(iroh_docsrs)"] } + +[patch.crates-io] +iroh = { git = "https://github.com/n0-computer/iroh.git", branch = "main" } +irpc = { git = "https://github.com/n0-computer/irpc.git", branch = "main" } +iroh-base = { git = "https://github.com/n0-computer/iroh.git", branch = "main" } +iroh-gossip = { git = "https://github.com/n0-computer/iroh-gossip.git", branch = "main" } +iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs.git", branch = "main" } diff --git a/deny.toml b/deny.toml index c124e79e..dbb889d5 100644 --- a/deny.toml +++ b/deny.toml @@ -1,43 +1,49 @@ +[advisories] +ignore = [ + "RUSTSEC-2024-0370", + "RUSTSEC-2024-0384", + "RUSTSEC-2024-0436", + "RUSTSEC-2023-0089", +] + [bans] -multiple-versions = "allow" deny = [ - "aws-lc", - "aws-lc-rs", - "aws-lc-sys", - "native-tls", - "openssl", + "aws-lc", + "aws-lc-rs", + "aws-lc-sys", + "native-tls", + "openssl", ] +multiple-versions = "allow" [licenses] allow = [ - "Apache-2.0", - "Apache-2.0 WITH LLVM-exception", - "BSD-2-Clause", - "BSD-3-Clause", - "BSL-1.0", # BOSL license - "CDLA-Permissive-2.0", - "ISC", - "MIT", - "Zlib", - "MPL-2.0", # https://fossa.com/blog/open-source-software-licenses-101-mozilla-public-license-2-0/ - "Unicode-3.0", - "Unlicense" # https://unlicense.org/ + "Apache-2.0", + "Apache-2.0 WITH LLVM-exception", + "BSD-2-Clause", + "BSD-3-Clause", + "BSL-1.0", + "CDLA-Permissive-2.0", + "ISC", + "MIT", + "Zlib", + "MPL-2.0", + "Unicode-3.0", + "Unlicense", ] [[licenses.clarify]] -name = "ring" expression = "MIT AND ISC AND OpenSSL" -license-files = [ - { path = "LICENSE", hash = 0xbd0eed23 }, -] +name = "ring" -[advisories] -ignore = [ - "RUSTSEC-2024-0370", # unmaintained, no upgrade available - "RUSTSEC-2024-0384", # unmaintained, no upgrade available - "RUSTSEC-2024-0436", # paste - "RUSTSEC-2023-0089", # unmainatined: postcard -> heapless -> atomic-polyfill -] +[[licenses.clarify.license-files]] +hash = 3171872035 +path = "LICENSE" [sources] -allow-git = [] +allow-git = [ + "https://github.com/n0-computer/iroh-gossip.git", + "https://github.com/n0-computer/iroh.git", + "https://github.com/n0-computer/irpc.git", + "https://github.com/n0-computer/iroh-blobs.git", +] From 0d57f797cda6b3981fe4d8e6aa2fc49008dacb5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 20:25:45 -0400 Subject: [PATCH 2/7] chore: upgrade to latest iroh, irpc, iroh-gossip, iroh-docs --- Cargo.lock | 155 +++++++++------------------------------------ Cargo.toml | 15 ++--- src/actor.rs | 2 +- src/api.rs | 2 +- src/api/actor.rs | 9 ++- src/engine.rs | 6 +- src/engine/live.rs | 4 +- src/keys.rs | 6 +- src/net/codec.rs | 6 +- src/store/fs.rs | 18 +++--- src/sync.rs | 28 ++++---- 11 files changed, 77 insertions(+), 174 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index de6851b3..69e55e42 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -664,12 +664,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "const-oid" version = "0.10.1" @@ -801,7 +795,7 @@ dependencies = [ "aead", "chacha20", "crypto_secretbox", - "curve25519-dalek 5.0.0-pre.1", + "curve25519-dalek", "salsa20", "serdect", "subtle", @@ -824,22 +818,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto 0.2.9", - "rustc_version", - "subtle", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "5.0.0-pre.1" @@ -850,7 +828,7 @@ dependencies = [ "cpufeatures", "curve25519-dalek-derive", "digest 0.11.0-rc.3", - "fiat-crypto 0.3.0", + "fiat-crypto", "rand_core 0.9.3", "rustc_version", "serde", @@ -889,23 +867,13 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" -[[package]] -name = "der" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" -dependencies = [ - "const-oid 0.9.6", - "zeroize", -] - [[package]] name = "der" version = "0.8.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9d8dd2f26c86b27a2a8ea2767ec7f9df7a89516e4794e54ac01ee618dda3aa4" dependencies = [ - "const-oid 0.10.1", + "const-oid", "der_derive", "pem-rfc7468", "zeroize", @@ -1063,41 +1031,15 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8 0.10.2", - "serde", - "signature 2.2.0", -] - [[package]] name = "ed25519" version = "3.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ef49c0b20c0ad088893ad2a790a29c06a012b3f05bcfc66661fd22a94b32129" dependencies = [ - "pkcs8 0.11.0-rc.7", + "pkcs8", "serde", - "signature 3.0.0-rc.4", -] - -[[package]] -name = "ed25519-dalek" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" -dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", - "rand_core 0.6.4", - "serde", - "sha2 0.10.9", - "subtle", - "zeroize", + "signature", ] [[package]] @@ -1106,12 +1048,12 @@ version = "3.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad207ed88a133091f83224265eac21109930db09bedcad05d5252f2af2de20a1" dependencies = [ - "curve25519-dalek 5.0.0-pre.1", - "ed25519 3.0.0-rc.1", + "curve25519-dalek", + "ed25519", "rand_core 0.9.3", "serde", "sha2 0.11.0-rc.2", - "signature 3.0.0-rc.4", + "signature", "subtle", "zeroize", ] @@ -1209,12 +1151,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "fiat-crypto" version = "0.3.0" @@ -2029,9 +1965,9 @@ dependencies = [ "cfg_aliases", "crypto_box", "data-encoding", - "der 0.8.0-rc.9", + "der", "derive_more 2.0.1", - "ed25519-dalek 3.0.0-pre.1", + "ed25519-dalek", "futures-buffered", "futures-util", "getrandom 0.3.3", @@ -2053,7 +1989,7 @@ dependencies = [ "netwatch", "pin-project", "pkarr", - "pkcs8 0.11.0-rc.7", + "pkcs8", "portmapper", "rand 0.9.2", "reqwest", @@ -2083,10 +2019,10 @@ name = "iroh-base" version = "0.92.0" source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" dependencies = [ - "curve25519-dalek 5.0.0-pre.1", + "curve25519-dalek", "data-encoding", "derive_more 2.0.1", - "ed25519-dalek 3.0.0-pre.1", + "ed25519-dalek", "n0-snafu", "nested_enum_utils 0.2.2", "postcard", @@ -2099,7 +2035,7 @@ dependencies = [ [[package]] name = "iroh-blobs" version = "0.94.0" -source = "git+https://github.com/n0-computer/iroh-blobs.git?branch=main#33f1582becedceeb015c33792c74274ffad80948" +source = "git+https://github.com/n0-computer/iroh-blobs.git?branch=iroh-0-93#be552194373917d388047808ac006db4b0dea167" dependencies = [ "anyhow", "arrayvec", @@ -2114,7 +2050,7 @@ dependencies = [ "iroh", "iroh-base", "iroh-io", - "iroh-metrics 0.35.0", + "iroh-metrics 0.36.1", "iroh-quinn", "irpc", "n0-future 0.2.0", @@ -2144,8 +2080,8 @@ dependencies = [ "blake3", "bytes", "data-encoding", - "derive_more 1.0.0", - "ed25519-dalek 2.2.0", + "derive_more 2.0.1", + "ed25519-dalek", "futures-buffered", "futures-lite", "futures-util", @@ -2163,9 +2099,8 @@ dependencies = [ "parking_lot", "postcard", "proptest", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "rand 0.9.2", + "rand_chacha 0.9.0", "redb 1.5.1", "redb 2.6.3", "self_cell", @@ -2188,13 +2123,13 @@ dependencies = [ [[package]] name = "iroh-gossip" version = "0.92.0" -source = "git+https://github.com/n0-computer/iroh-gossip.git?branch=main#340afd9314f7e9eda063311cacffac52c864be6f" +source = "git+https://github.com/n0-computer/iroh-gossip.git?branch=iroh-0-93#9925ee73ece74d5efd1ca4b48d7d6bdb1eade0d4" dependencies = [ "blake3", "bytes", "data-encoding", - "derive_more 1.0.0", - "ed25519-dalek 2.2.0", + "derive_more 2.0.1", + "ed25519-dalek", "futures-concurrency", "futures-lite", "futures-util", @@ -2202,14 +2137,13 @@ dependencies = [ "indexmap", "iroh", "iroh-base", - "iroh-metrics 0.35.0", + "iroh-metrics 0.36.1", "irpc", "n0-future 0.1.3", "n0-snafu", "nested_enum_utils 0.2.2", "postcard", - "rand 0.8.5", - "rand_core 0.6.4", + "rand 0.9.2", "serde", "snafu", "tokio", @@ -2411,7 +2345,7 @@ dependencies = [ [[package]] name = "irpc" version = "0.8.0" -source = "git+https://github.com/n0-computer/irpc.git?branch=main#2cdc1a0d6524fcde3645f960964b7ddbc2ba8aa4" +source = "git+https://github.com/n0-computer/irpc.git?branch=iroh-0-93#e6905093e971de2e3480fb55ddf146bfdc495796" dependencies = [ "anyhow", "futures-buffered", @@ -2433,7 +2367,7 @@ dependencies = [ [[package]] name = "irpc-derive" version = "0.6.0" -source = "git+https://github.com/n0-computer/irpc.git?branch=main#2cdc1a0d6524fcde3645f960964b7ddbc2ba8aa4" +source = "git+https://github.com/n0-computer/irpc.git?branch=iroh-0-93#e6905093e971de2e3480fb55ddf146bfdc495796" dependencies = [ "proc-macro2", "quote", @@ -3190,7 +3124,7 @@ dependencies = [ "cfg_aliases", "document-features", "dyn-clone", - "ed25519-dalek 3.0.0-pre.1", + "ed25519-dalek", "futures-buffered", "futures-lite", "getrandom 0.3.3", @@ -3209,24 +3143,14 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der 0.7.10", - "spki 0.7.3", -] - [[package]] name = "pkcs8" version = "0.11.0-rc.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93eac55f10aceed84769df670ea4a32d2ffad7399400d41ee1c13b1cd8e1b478" dependencies = [ - "der 0.8.0-rc.9", - "spki 0.8.0-rc.4", + "der", + "spki", ] [[package]] @@ -4294,15 +4218,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "signature" version = "3.0.0-rc.4" @@ -4405,16 +4320,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der 0.7.10", -] - [[package]] name = "spki" version = "0.8.0-rc.4" @@ -4422,7 +4327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" dependencies = [ "base64ct", - "der 0.8.0-rc.9", + "der", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 5df3dca3..acf943dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ anyhow = "1" async-channel = "2.3.1" blake3 = "1.8" bytes = { version = "1.7", features = ["serde"] } -derive_more = { version = "1.0.0", features = [ +derive_more = { version = "2.0.1", features = [ "debug", "deref", "display", @@ -26,7 +26,7 @@ derive_more = { version = "1.0.0", features = [ "into", "as_ref", ] } -ed25519-dalek = { version = "2.0.0", features = ["serde", "rand_core"] } +ed25519-dalek = { version = "3.0.0-pre.1", features = ["serde", "rand_core"] } futures-buffered = "0.2.4" futures-lite = "2.3.0" futures-util = { version = "0.3.25" } @@ -45,8 +45,7 @@ postcard = { version = "1", default-features = false, features = [ "experimental-derive", ] } quinn = { package = "iroh-quinn", version = "0.14.0" } -rand = "0.8.5" -rand_core = "0.6.4" +rand = "0.9.2" redb = { version = "2.0.0" } redb_v1 = { package = "redb", version = "1.5.1" } self_cell = "1.0.3" @@ -66,7 +65,7 @@ iroh = { version = "0.92", features = ["test-utils"] } nested_enum_utils = "0.1.0" parking_lot = "0.12.3" proptest = "1.2.0" -rand_chacha = "0.3.1" +rand_chacha = "0.9" tempfile = "3.4" test-strategy = "0.4" testdir = "0.7" @@ -98,7 +97,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ["cfg(iroh_docsrs)"] } [patch.crates-io] iroh = { git = "https://github.com/n0-computer/iroh.git", branch = "main" } -irpc = { git = "https://github.com/n0-computer/irpc.git", branch = "main" } +irpc = { git = "https://github.com/n0-computer/irpc.git", branch = "iroh-0-93" } iroh-base = { git = "https://github.com/n0-computer/iroh.git", branch = "main" } -iroh-gossip = { git = "https://github.com/n0-computer/iroh-gossip.git", branch = "main" } -iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs.git", branch = "main" } +iroh-gossip = { git = "https://github.com/n0-computer/iroh-gossip.git", branch = "iroh-0-93" } +iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs.git", branch = "iroh-0-93" } diff --git a/src/actor.rs b/src/actor.rs index 5fe90123..7b9f9241 100644 --- a/src/actor.rs +++ b/src/actor.rs @@ -1061,7 +1061,7 @@ mod tests { async fn open_close() -> anyhow::Result<()> { let store = store::Store::memory(); let sync = SyncHandle::spawn(store, None, "foo".into()); - let namespace = NamespaceSecret::new(&mut rand::rngs::OsRng {}); + let namespace = NamespaceSecret::new(&mut rand::rng()); let id = namespace.id(); sync.import_namespace(namespace.into()).await?; sync.open(id, Default::default()).await?; diff --git a/src/api.rs b/src/api.rs index e217b4de..1604f303 100644 --- a/src/api.rs +++ b/src/api.rs @@ -634,7 +634,7 @@ impl Stream for ImportFileProgress { .take() .expect("AddProgressItem::Done may be emitted only once"); let size = size.expect("Size must be emitted before done"); - let hash = *tag.hash(); + let hash = tag.hash(); *this = Self(ImportInner::Entry(Box::pin(async move { doc.set_hash(author, key.clone(), hash, size).await?; Ok(ImportFileOutcome { hash, size, key }) diff --git a/src/api/actor.rs b/src/api/actor.rs index 89db95cd..9faf088c 100644 --- a/src/api/actor.rs +++ b/src/api/actor.rs @@ -2,7 +2,6 @@ use std::sync::Arc; use anyhow::anyhow; use futures_lite::StreamExt; -use iroh::Watcher; use irpc::{channel::mpsc, LocalSender, WithChannels}; use n0_future::task::{self}; use tokio::sync::mpsc as tokio_mpsc; @@ -241,7 +240,7 @@ impl RpcActor { _req: AuthorCreateRequest, ) -> RpcResult { // TODO: pass rng - let author = Author::new(&mut rand::rngs::OsRng {}); + let author = Author::new(&mut rand::rng()); self.sync .import_author(author.clone()) .await @@ -322,7 +321,7 @@ impl RpcActor { } pub(super) async fn doc_create(&self, _req: CreateRequest) -> RpcResult { - let namespace = NamespaceSecret::new(&mut rand::rngs::OsRng {}); + let namespace = NamespaceSecret::new(&mut rand::rng()); let id = namespace.id(); self.sync .import_namespace(namespace.into()) @@ -390,7 +389,7 @@ impl RpcActor { mode, addr_options, } = req; - let me = self.endpoint.node_addr().initialized().await; + let me = self.endpoint.node_addr(); let me = addr_options.apply(&me); let capability = match mode { @@ -498,7 +497,7 @@ impl RpcActor { .await .map_err(|e| RpcError::new(&e))?; self.sync - .insert_local(doc_id, author_id, key.clone(), *tag.hash(), len as u64) + .insert_local(doc_id, author_id, key.clone(), tag.hash(), len as u64) .await .map_err(|e| RpcError::new(&*e))?; let entry = self diff --git a/src/engine.rs b/src/engine.rs index 315dd60f..237018b0 100644 --- a/src/engine.rs +++ b/src/engine.rs @@ -75,7 +75,7 @@ impl Engine { protect_cb: Option, ) -> anyhow::Result { let (live_actor_tx, to_live_actor_recv) = mpsc::channel(ACTOR_CHANNEL_CAP); - let me = endpoint.node_id().fmt_short(); + let me = endpoint.node_id().fmt_short().to_string(); let content_status_cb: ContentStatusCallback = { let blobs = bao_store.blobs().clone(); @@ -368,7 +368,7 @@ impl DefaultAuthorStorage { pub async fn load(&self, docs_store: &SyncHandle) -> anyhow::Result { match self { Self::Mem => { - let author = Author::new(&mut rand::thread_rng()); + let author = Author::new(&mut rand::rng()); let author_id = author.id(); docs_store.import_author(author).await?; Ok(author_id) @@ -392,7 +392,7 @@ impl DefaultAuthorStorage { } Ok(author_id) } else { - let author = Author::new(&mut rand::thread_rng()); + let author = Author::new(&mut rand::rng()); let author_id = author.id(); docs_store.import_author(author).await?; // Make sure to write the default author to the store diff --git a/src/engine/live.rs b/src/engine/live.rs index 58dc2854..8f00654a 100644 --- a/src/engine/live.rs +++ b/src/engine/live.rs @@ -971,10 +971,10 @@ impl Subscribers { fn fmt_accept_peer(res: &Result) -> String { match res { - Ok(res) => res.peer.fmt_short(), + Ok(res) => res.peer.fmt_short().to_string(), Err(err) => err .peer() - .map(|x| x.fmt_short()) + .map(|x| x.fmt_short().to_string()) .unwrap_or_else(|| "unknown".to_string()), } } diff --git a/src/keys.rs b/src/keys.rs index fec7bed3..ef984056 100644 --- a/src/keys.rs +++ b/src/keys.rs @@ -3,7 +3,7 @@ use std::{cmp::Ordering, fmt, str::FromStr}; use ed25519_dalek::{Signature, SignatureError, Signer, SigningKey, VerifyingKey}; -use rand_core::CryptoRngCore; +use rand::CryptoRng; use serde::{Deserialize, Serialize}; use crate::store::PublicKeyStore; @@ -17,7 +17,7 @@ pub struct Author { } impl Author { /// Create a new [`Author`] with a random key. - pub fn new(rng: &mut R) -> Self { + pub fn new(rng: &mut R) -> Self { let signing_key = SigningKey::generate(rng); Author { signing_key } } @@ -93,7 +93,7 @@ pub struct NamespaceSecret { impl NamespaceSecret { /// Create a new [`NamespaceSecret`] with a random key. - pub fn new(rng: &mut R) -> Self { + pub fn new(rng: &mut R) -> Self { let signing_key = SigningKey::generate(rng); NamespaceSecret { signing_key } diff --git a/src/net/codec.rs b/src/net/codec.rs index 571bce14..81dbc0ef 100644 --- a/src/net/codec.rs +++ b/src/net/codec.rs @@ -296,7 +296,7 @@ mod tests { use anyhow::Result; use iroh::SecretKey; use iroh_blobs::Hash; - use rand_core::{CryptoRngCore, SeedableRng}; + use rand::{CryptoRng, SeedableRng}; use tracing_test::traced_test; use super::*; @@ -308,7 +308,7 @@ mod tests { #[tokio::test] async fn test_sync_simple() -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let alice_peer_id = SecretKey::from_bytes(&[1u8; 32]).public(); let bob_peer_id = SecretKey::from_bytes(&[2u8; 32]).public(); @@ -439,7 +439,7 @@ mod tests { type Message = (AuthorId, Vec, Hash); fn insert_messages( - mut rng: impl CryptoRngCore, + mut rng: impl CryptoRng, replica: &mut crate::sync::Replica, num_authors: usize, msgs_per_author: usize, diff --git a/src/store/fs.rs b/src/store/fs.rs index 0ab58e55..61da2ac4 100644 --- a/src/store/fs.rs +++ b/src/store/fs.rs @@ -12,7 +12,7 @@ use std::{ use anyhow::{anyhow, Result}; use ed25519_dalek::{SignatureError, VerifyingKey}; use iroh_blobs::Hash; -use rand_core::CryptoRngCore; +use rand::CryptoRng; use redb::{Database, DatabaseError, ReadableMultimapTable, ReadableTable}; use tracing::warn; @@ -265,7 +265,7 @@ impl Store { } /// Create a new author key and persist it in the store. - pub fn new_author(&mut self, rng: &mut R) -> Result { + pub fn new_author(&mut self, rng: &mut R) -> Result { let author = Author::new(rng); self.import_author(author.clone())?; Ok(author) @@ -988,8 +988,8 @@ mod tests { let dbfile = tempfile::NamedTempFile::new()?; let mut store = Store::persistent(dbfile.path())?; - let author = store.new_author(&mut rand::thread_rng())?; - let namespace = NamespaceSecret::new(&mut rand::thread_rng()); + let author = store.new_author(&mut rand::rng())?; + let namespace = NamespaceSecret::new(&mut rand::rng()); let mut replica = store.new_replica(namespace.clone())?; // test author prefix relation for all-255 keys @@ -1018,8 +1018,8 @@ mod tests { let authors: Vec<_> = store.list_authors()?.collect::>()?; assert!(authors.is_empty()); - let author = store.new_author(&mut rand::thread_rng())?; - let namespace = NamespaceSecret::new(&mut rand::thread_rng()); + let author = store.new_author(&mut rand::rng())?; + let namespace = NamespaceSecret::new(&mut rand::rng()); let _replica = store.new_replica(namespace.clone())?; store.close_replica(namespace.id()); let replica = store.load_replica_info(&namespace.id())?; @@ -1104,13 +1104,13 @@ mod tests { #[test] fn test_migration_001_populate_latest_table() -> Result<()> { let dbfile = tempfile::NamedTempFile::new()?; - let namespace = NamespaceSecret::new(&mut rand::thread_rng()); + let namespace = NamespaceSecret::new(&mut rand::rng()); // create a store and add some data let expected = { let mut store = Store::persistent(dbfile.path())?; - let author1 = store.new_author(&mut rand::thread_rng())?; - let author2 = store.new_author(&mut rand::thread_rng())?; + let author1 = store.new_author(&mut rand::rng())?; + let author2 = store.new_author(&mut rand::rng())?; let mut replica = store.new_replica(namespace.clone())?; replica.hash_and_insert(b"k1", &author1, b"v1")?; replica.hash_and_insert(b"k2", &author2, b"v1")?; diff --git a/src/sync.rs b/src/sync.rs index 8728f05f..ddb140b6 100644 --- a/src/sync.rs +++ b/src/sync.rs @@ -1196,7 +1196,7 @@ mod tests { use std::collections::HashSet; use anyhow::Result; - use rand_core::SeedableRng; + use rand::SeedableRng; use super::*; use crate::{ @@ -1222,7 +1222,7 @@ mod tests { } fn test_basics(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let alice = Author::new(&mut rng); let bob = Author::new(&mut rng); let myspace = NamespaceSecret::new(&mut rng); @@ -1406,7 +1406,7 @@ mod tests { } fn test_content_hashes_iterator(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let mut expected = HashSet::new(); let n_replicas = 3; let n_entries = 4; @@ -1429,7 +1429,7 @@ mod tests { #[test] fn test_multikey() { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let k = ["a", "c", "z"]; @@ -1602,7 +1602,7 @@ mod tests { let alice_set = ["ape", "eel", "fox", "gnu"]; let bob_set = ["bee", "cat", "doe", "eel", "fox", "hog"]; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let author = Author::new(&mut rng); let myspace = NamespaceSecret::new(&mut rng); let mut alice = alice_store.new_replica(myspace.clone())?; @@ -1655,7 +1655,7 @@ mod tests { mut alice_store: Store, mut bob_store: Store, ) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let author = Author::new(&mut rng); let namespace = NamespaceSecret::new(&mut rng); let mut alice = alice_store.new_replica(namespace.clone())?; @@ -1700,7 +1700,7 @@ mod tests { #[test] fn test_future_timestamp() -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let mut store = store::Store::memory(); let author = Author::new(&mut rng); let namespace = NamespaceSecret::new(&mut rng); @@ -1759,7 +1759,7 @@ mod tests { #[test] fn test_insert_empty() -> Result<()> { let mut store = store::Store::memory(); - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let alice = Author::new(&mut rng); let myspace = NamespaceSecret::new(&mut rng); let mut replica = store.new_replica(myspace.clone())?; @@ -1786,7 +1786,7 @@ mod tests { } fn test_prefix_delete(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let alice = Author::new(&mut rng); let myspace = NamespaceSecret::new(&mut rng); let mut replica = store.new_replica(myspace.clone())?; @@ -1844,7 +1844,7 @@ mod tests { let alice_set = ["foot"]; let bob_set = ["fool", "foo", "fog"]; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let author = Author::new(&mut rng); let myspace = NamespaceSecret::new(&mut rng); let mut alice = alice_store.new_replica(myspace.clone())?; @@ -1890,7 +1890,7 @@ mod tests { } fn test_replica_remove(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let namespace = NamespaceSecret::new(&mut rng); let author = Author::new(&mut rng); let mut replica = store.new_replica(namespace.clone())?; @@ -1942,7 +1942,7 @@ mod tests { } fn test_replica_delete_edge_cases(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let author = Author::new(&mut rng); let namespace = NamespaceSecret::new(&mut rng); @@ -2009,7 +2009,7 @@ mod tests { } fn test_latest_iter(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let author0 = Author::new(&mut rng); let author1 = Author::new(&mut rng); let namespace = NamespaceSecret::new(&mut rng); @@ -2053,7 +2053,7 @@ mod tests { } fn test_replica_byte_keys(mut store: Store) -> Result<()> { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let author = Author::new(&mut rng); let namespace = NamespaceSecret::new(&mut rng); From 1251f6966918c68f702811ebc8717624c16f3e18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 20:41:02 -0400 Subject: [PATCH 3/7] chore: fix tests --- examples/setup.rs | 5 +--- src/api.rs | 60 ++++++++++++++++++++++++----------------------- tests/client.rs | 2 +- tests/gc.rs | 2 +- tests/sync.rs | 14 ++++++----- tests/util.rs | 8 ++++++- 6 files changed, 49 insertions(+), 42 deletions(-) diff --git a/examples/setup.rs b/examples/setup.rs index 5b29874b..5f1a677a 100644 --- a/examples/setup.rs +++ b/examples/setup.rs @@ -27,10 +27,7 @@ async fn main() -> anyhow::Result<()> { // setup router let _router = builder - .accept( - BLOBS_ALPN, - BlobsProtocol::new(&blobs, endpoint.clone(), None), - ) + .accept(BLOBS_ALPN, BlobsProtocol::new(&blobs, None)) .accept(GOSSIP_ALPN, gossip) .accept(DOCS_ALPN, docs) .spawn(); diff --git a/src/api.rs b/src/api.rs index 1604f303..1e2e75c9 100644 --- a/src/api.rs +++ b/src/api.rs @@ -81,35 +81,37 @@ impl DocsApi { .context("cannot listen on remote API")?; let handler: Handler = Arc::new(move |msg, _rx, tx| { let local = local.clone(); - Box::pin(match msg { - DocsProtocol::Open(msg) => local.send((msg, tx)), - DocsProtocol::Close(msg) => local.send((msg, tx)), - DocsProtocol::Status(msg) => local.send((msg, tx)), - DocsProtocol::List(msg) => local.send((msg, tx)), - DocsProtocol::Create(msg) => local.send((msg, tx)), - DocsProtocol::Drop(msg) => local.send((msg, tx)), - DocsProtocol::Import(msg) => local.send((msg, tx)), - DocsProtocol::Set(msg) => local.send((msg, tx)), - DocsProtocol::SetHash(msg) => local.send((msg, tx)), - DocsProtocol::Get(msg) => local.send((msg, tx)), - DocsProtocol::GetExact(msg) => local.send((msg, tx)), - // DocsProtocol::ImportFile(msg) => local.send((msg, tx)), - // DocsProtocol::ExportFile(msg) => local.send((msg, tx)), - DocsProtocol::Del(msg) => local.send((msg, tx)), - DocsProtocol::StartSync(msg) => local.send((msg, tx)), - DocsProtocol::Leave(msg) => local.send((msg, tx)), - DocsProtocol::Share(msg) => local.send((msg, tx)), - DocsProtocol::Subscribe(msg) => local.send((msg, tx)), - DocsProtocol::GetDownloadPolicy(msg) => local.send((msg, tx)), - DocsProtocol::SetDownloadPolicy(msg) => local.send((msg, tx)), - DocsProtocol::GetSyncPeers(msg) => local.send((msg, tx)), - DocsProtocol::AuthorList(msg) => local.send((msg, tx)), - DocsProtocol::AuthorCreate(msg) => local.send((msg, tx)), - DocsProtocol::AuthorGetDefault(msg) => local.send((msg, tx)), - DocsProtocol::AuthorSetDefault(msg) => local.send((msg, tx)), - DocsProtocol::AuthorImport(msg) => local.send((msg, tx)), - DocsProtocol::AuthorExport(msg) => local.send((msg, tx)), - DocsProtocol::AuthorDelete(msg) => local.send((msg, tx)), + Box::pin(async move { + match msg { + DocsProtocol::Open(msg) => local.send((msg, tx)).await, + DocsProtocol::Close(msg) => local.send((msg, tx)).await, + DocsProtocol::Status(msg) => local.send((msg, tx)).await, + DocsProtocol::List(msg) => local.send((msg, tx)).await, + DocsProtocol::Create(msg) => local.send((msg, tx)).await, + DocsProtocol::Drop(msg) => local.send((msg, tx)).await, + DocsProtocol::Import(msg) => local.send((msg, tx)).await, + DocsProtocol::Set(msg) => local.send((msg, tx)).await, + DocsProtocol::SetHash(msg) => local.send((msg, tx)).await, + DocsProtocol::Get(msg) => local.send((msg, tx)).await, + DocsProtocol::GetExact(msg) => local.send((msg, tx)).await, + // DocsProtocol::ImportFile(msg) => local.send((msg, tx)).await, + // DocsProtocol::ExportFile(msg) => local.send((msg, tx)).await, + DocsProtocol::Del(msg) => local.send((msg, tx)).await, + DocsProtocol::StartSync(msg) => local.send((msg, tx)).await, + DocsProtocol::Leave(msg) => local.send((msg, tx)).await, + DocsProtocol::Share(msg) => local.send((msg, tx)).await, + DocsProtocol::Subscribe(msg) => local.send((msg, tx)).await, + DocsProtocol::GetDownloadPolicy(msg) => local.send((msg, tx)).await, + DocsProtocol::SetDownloadPolicy(msg) => local.send((msg, tx)).await, + DocsProtocol::GetSyncPeers(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorList(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorCreate(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorGetDefault(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorSetDefault(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorImport(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorExport(msg) => local.send((msg, tx)).await, + DocsProtocol::AuthorDelete(msg) => local.send((msg, tx)).await, + } }) }); let join_handle = task::spawn(irpc::rpc::listen(endpoint, handler)); diff --git a/tests/client.rs b/tests/client.rs index 8175d9af..ed93a949 100644 --- a/tests/client.rs +++ b/tests/client.rs @@ -56,7 +56,7 @@ async fn test_doc_import_export() -> TestResult<()> { let size = 100; let mut buf = vec![0u8; size]; - rand::thread_rng().fill_bytes(&mut buf); + rand::rng().fill_bytes(&mut buf); let mut file = tokio::fs::File::create(path.clone()) .await .context("create file")?; diff --git a/tests/gc.rs b/tests/gc.rs index 1f9353ad..df726a75 100644 --- a/tests/gc.rs +++ b/tests/gc.rs @@ -11,7 +11,7 @@ use util::Node; mod util; pub fn create_test_data(size: usize) -> Bytes { - let mut rand = rand::thread_rng(); + let mut rand = rand::rng(); let mut res = vec![0u8; size]; rand.fill_bytes(&mut res); res.into() diff --git a/tests/sync.rs b/tests/sync.rs index 72d04da7..b878e48a 100644 --- a/tests/sync.rs +++ b/tests/sync.rs @@ -502,6 +502,8 @@ async fn test_sync_via_relay() -> Result<()> { .spawn() .await?; + node1.online().await; + node2.online().await; let doc1 = node1.docs().create().await?; let author1 = node1.docs().author_create().await?; let inserted_hash = doc1 @@ -644,17 +646,17 @@ async fn sync_restart_node() -> Result<()> { .await; assert_latest(blobs1, &doc1, b"n2/a", b"a").await; - info!(me = id1.fmt_short(), "node1 start shutdown"); + info!(me = %id1.fmt_short(), "node1 start shutdown"); node1.shutdown().await?; - info!(me = id1.fmt_short(), "node1 down"); + info!(me = %id1.fmt_short(), "node1 down"); - info!(me = id1.fmt_short(), "sleep 1s"); + info!(me = %id1.fmt_short(), "sleep 1s"); tokio::time::sleep(Duration::from_secs(1)).await; - info!(me = id2.fmt_short(), "node2 set b"); + info!(me = %id2.fmt_short(), "node2 set b"); let hash_b = doc2.set_bytes(author2, "n2/b", "b").await?; - info!(me = id1.fmt_short(), "node1 respawn"); + info!(me = %id1.fmt_short(), "node1 respawn"); let node1 = Node::persistent(&node1_dir) .secret_key(secret_key_1.clone()) .insecure_skip_relay_cert_verify(true) @@ -689,7 +691,7 @@ async fn sync_restart_node() -> Result<()> { assert_latest(blobs1, &doc1, b"n2/b", b"b").await; // check that live conn is working - info!(me = id2.fmt_short(), "node2 set c"); + info!(me = %id2.fmt_short(), "node2 set c"); let hash_c = doc2.set_bytes(author2, "n2/c", "c").await?; assert_next_unordered_with_optionals( &mut events1, diff --git a/tests/util.rs b/tests/util.rs index bdec50fd..5c573a76 100644 --- a/tests/util.rs +++ b/tests/util.rs @@ -112,7 +112,7 @@ impl Builder { }; router = router.accept( iroh_blobs::ALPN, - iroh_blobs::BlobsProtocol::new(&blobs, endpoint.clone(), None), + iroh_blobs::BlobsProtocol::new(&blobs, None), ); router = router.accept(iroh_docs::ALPN, docs.clone()); router = router.accept(iroh_gossip::ALPN, gossip.clone()); @@ -246,6 +246,12 @@ impl Node { // &self.store // } + /// Ensure the node is "online", aka, is connected to a relay and + /// has a direct addreses + pub async fn online(&self) { + self.router.endpoint().online().await + } + /// Shuts down the node pub async fn shutdown(self) -> anyhow::Result<()> { self.router.shutdown().await?; From c2664c15c1d2008ab7ee4ee859cb43bd3685bdaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 20:43:39 -0400 Subject: [PATCH 4/7] chore: spelling --- tests/util.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/util.rs b/tests/util.rs index 5c573a76..26d661bc 100644 --- a/tests/util.rs +++ b/tests/util.rs @@ -247,7 +247,7 @@ impl Node { // } /// Ensure the node is "online", aka, is connected to a relay and - /// has a direct addreses + /// has a direct addresses pub async fn online(&self) { self.router.endpoint().online().await } From ccb89aafffa5b8a9ee75fb1fbf637c91f4adec39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 20:45:25 -0400 Subject: [PATCH 5/7] chore: fix example --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ea307008..46daa23a 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ async fn main() -> anyhow::Result<()> { // setup router let _router = builder - .accept(BLOBS_ALPN, BlobsProtocol::new(&blobs, endpoint.clone(), None)) + .accept(BLOBS_ALPN, BlobsProtocol::new(&blobs, None)) .accept(GOSSIP_ALPN, gossip) .accept(DOCS_ALPN, docs) .spawn(); From 5ee3e93de523d5d06342c9b4b053ebdb879e356e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 22:21:44 -0400 Subject: [PATCH 6/7] chore: upgrade to released iroh, irpc, iroh-gossip, iroh-blobs --- Cargo.lock | 75 ++++++++++++++++++++---------------------------------- Cargo.toml | 21 +++++---------- 2 files changed, 35 insertions(+), 61 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 69e55e42..9be816b0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1955,8 +1955,9 @@ dependencies = [ [[package]] name = "iroh" -version = "0.92.0" -source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" +version = "0.93.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50369f3db3f3fbc2cc14fc1baab2f3ee16e0abd89eca0b814258d02a6a13040c" dependencies = [ "aead", "axum", @@ -1976,7 +1977,7 @@ dependencies = [ "igd-next", "instant", "iroh-base", - "iroh-metrics 0.36.1", + "iroh-metrics", "iroh-quinn", "iroh-quinn-proto", "iroh-quinn-udp", @@ -2016,8 +2017,9 @@ dependencies = [ [[package]] name = "iroh-base" -version = "0.92.0" -source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" +version = "0.93.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "929fbe14046dfb01b41ccccaa5b476549924daa54438518bda11a9ab1598b2a9" dependencies = [ "curve25519-dalek", "data-encoding", @@ -2034,8 +2036,9 @@ dependencies = [ [[package]] name = "iroh-blobs" -version = "0.94.0" -source = "git+https://github.com/n0-computer/iroh-blobs.git?branch=iroh-0-93#be552194373917d388047808ac006db4b0dea167" +version = "0.95.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f437bfba05366e2e53e38b45eef254af0f14aa3dd8c8d1104e7a0669f7562fd4" dependencies = [ "anyhow", "arrayvec", @@ -2050,7 +2053,7 @@ dependencies = [ "iroh", "iroh-base", "iroh-io", - "iroh-metrics 0.36.1", + "iroh-metrics", "iroh-quinn", "irpc", "n0-future 0.2.0", @@ -2090,7 +2093,7 @@ dependencies = [ "iroh-base", "iroh-blobs", "iroh-gossip", - "iroh-metrics 0.35.0", + "iroh-metrics", "iroh-quinn", "irpc", "n0-future 0.1.3", @@ -2122,8 +2125,9 @@ dependencies = [ [[package]] name = "iroh-gossip" -version = "0.92.0" -source = "git+https://github.com/n0-computer/iroh-gossip.git?branch=iroh-0-93#9925ee73ece74d5efd1ca4b48d7d6bdb1eade0d4" +version = "0.93.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2dbea495851836cf9f44bc6028db1a932370d78f9c5b448200ada20a6bd305a" dependencies = [ "blake3", "bytes", @@ -2137,7 +2141,7 @@ dependencies = [ "indexmap", "iroh", "iroh-base", - "iroh-metrics 0.36.1", + "iroh-metrics", "irpc", "n0-future 0.1.3", "n0-snafu", @@ -2164,20 +2168,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "iroh-metrics" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8922c169f1b84d39d325c02ef1bbe1419d4de6e35f0403462b3c7e60cc19634" -dependencies = [ - "iroh-metrics-derive 0.2.0", - "itoa", - "postcard", - "serde", - "snafu", - "tracing", -] - [[package]] name = "iroh-metrics" version = "0.36.1" @@ -2187,7 +2177,7 @@ dependencies = [ "http-body-util", "hyper", "hyper-util", - "iroh-metrics-derive 0.3.0", + "iroh-metrics-derive", "itoa", "postcard", "reqwest", @@ -2198,18 +2188,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "iroh-metrics-derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d12f5c45c4ed2436302a4e03cad9a0ad34b2962ad0c5791e1019c0ee30eeb09" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "iroh-metrics-derive" version = "0.3.0" @@ -2279,8 +2257,9 @@ dependencies = [ [[package]] name = "iroh-relay" -version = "0.92.0" -source = "git+https://github.com/n0-computer/iroh.git?branch=main#da311a6a480a4a75cb3e4752048efb6d990972f6" +version = "0.93.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbc49e535c2cf410d19f82d46dac2b3d0bff1763759a28cd1c67870085f2fc4" dependencies = [ "ahash", "blake3", @@ -2299,7 +2278,7 @@ dependencies = [ "hyper", "hyper-util", "iroh-base", - "iroh-metrics 0.36.1", + "iroh-metrics", "iroh-quinn", "iroh-quinn-proto", "lru 0.16.1", @@ -2344,8 +2323,9 @@ dependencies = [ [[package]] name = "irpc" -version = "0.8.0" -source = "git+https://github.com/n0-computer/irpc.git?branch=iroh-0-93#e6905093e971de2e3480fb55ddf146bfdc495796" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e3fc4aa2bc2c1002655fab4254390f016f8b9bb65390600f9d8b11f9bdac76d" dependencies = [ "anyhow", "futures-buffered", @@ -2366,8 +2346,9 @@ dependencies = [ [[package]] name = "irpc-derive" -version = "0.6.0" -source = "git+https://github.com/n0-computer/irpc.git?branch=iroh-0-93#e6905093e971de2e3480fb55ddf146bfdc495796" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f5706d47257e3f40b9e7dbc1934942b5792cc6a8670b7dda8856c2f5709cf98" dependencies = [ "proc-macro2", "quote", @@ -3224,7 +3205,7 @@ dependencies = [ "futures-util", "hyper-util", "igd-next", - "iroh-metrics 0.36.1", + "iroh-metrics", "libc", "nested_enum_utils 0.2.2", "netwatch", diff --git a/Cargo.toml b/Cargo.toml index acf943dc..b49f08e2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,12 +31,12 @@ futures-buffered = "0.2.4" futures-lite = "2.3.0" futures-util = { version = "0.3.25" } hex = "0.4" -iroh = { version = "0.92" } -iroh-base = { version = "0.92", features = ["ticket"] } -iroh-blobs = { version = "0.94" } -iroh-gossip = { version = "0.92", features = ["net"] } -iroh-metrics = { version = "0.35", default-features = false } -irpc = { version = "0.8.0" } +iroh = { version = "0.93" } +iroh-base = { version = "0.93", features = ["ticket"] } +iroh-blobs = { version = "0.95" } +iroh-gossip = { version = "0.93", features = ["net"] } +iroh-metrics = { version = "0.36", default-features = false } +irpc = { version = "0.9.0" } n0-future = "0.1.3" num_enum = "0.7" postcard = { version = "1", default-features = false, features = [ @@ -61,7 +61,7 @@ tracing = "0.1" [dev-dependencies] data-encoding = "2.6.0" -iroh = { version = "0.92", features = ["test-utils"] } +iroh = { version = "0.93", features = ["test-utils"] } nested_enum_utils = "0.1.0" parking_lot = "0.12.3" proptest = "1.2.0" @@ -94,10 +94,3 @@ missing_debug_implementations = "warn" # do. To enable for a crate set `#![cfg_attr(iroh_docsrs, # feature(doc_cfg))]` in the crate. unexpected_cfgs = { level = "warn", check-cfg = ["cfg(iroh_docsrs)"] } - -[patch.crates-io] -iroh = { git = "https://github.com/n0-computer/iroh.git", branch = "main" } -irpc = { git = "https://github.com/n0-computer/irpc.git", branch = "iroh-0-93" } -iroh-base = { git = "https://github.com/n0-computer/iroh.git", branch = "main" } -iroh-gossip = { git = "https://github.com/n0-computer/iroh-gossip.git", branch = "iroh-0-93" } -iroh-blobs = { git = "https://github.com/n0-computer/iroh-blobs.git", branch = "iroh-0-93" } From 824c4d705a02ab2aaa9470e811c5d31b142cb126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cramfox=E2=80=9D?= <“kasey@n0.computer”> Date: Wed, 8 Oct 2025 22:22:50 -0400 Subject: [PATCH 7/7] chore: fix deny file --- deny.toml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/deny.toml b/deny.toml index dbb889d5..aa77aac8 100644 --- a/deny.toml +++ b/deny.toml @@ -39,11 +39,3 @@ name = "ring" [[licenses.clarify.license-files]] hash = 3171872035 path = "LICENSE" - -[sources] -allow-git = [ - "https://github.com/n0-computer/iroh-gossip.git", - "https://github.com/n0-computer/iroh.git", - "https://github.com/n0-computer/irpc.git", - "https://github.com/n0-computer/iroh-blobs.git", -]