diff --git a/content-discovery/Cargo.lock b/content-discovery/Cargo.lock index 33ce2dd..c902aec 100644 --- a/content-discovery/Cargo.lock +++ b/content-discovery/Cargo.lock @@ -19,13 +19,40 @@ 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]] +name = "aes" +version = "0.9.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e713c57c2a2b19159e7be83b9194600d7e8eb3b7c2cd67e671adf47ce189a05" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", + "zeroize", +] + +[[package]] +name = "aes-gcm" +version = "0.11.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0686ba04dc80c816104c96cd7782b748f6ad58c5dd4ee619ff3258cf68e83d54" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", + "zeroize", ] [[package]] @@ -243,9 +270,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" @@ -299,6 +326,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" @@ -361,13 +398,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]] @@ -387,11 +425,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", ] @@ -471,9 +510,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "0dabb6555f92fb9ee4140454eb5dcd14c7960e1225c6d1a6cc361f032947713e" [[package]] name = "constant_time_eq" @@ -572,33 +611,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] -name = "crypto-bigint" -version = "0.5.5" +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", + "typenum", ] [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.2.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "6a8235645834fbc6832939736ce2f2d08192652269e11010a6240f61b908a1c6" dependencies = [ - "generic-array", - "rand_core 0.6.4", - "typenum", + "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", @@ -612,32 +648,41 @@ 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", "zeroize", ] +[[package]] +name = "ctr" +version = "0.10.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e41d01c6f73b9330177f5cf782ae5b581b5f2c7840e298e0275ceee5001434" +dependencies = [ + "cipher", +] + [[package]] name = "curve25519-dalek" -version = "4.1.3" +version = "5.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +checksum = "6f9200d1d13637f15a6acb71e758f64624048d85b31a5fdbfd8eca1e2687d0b7" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest", + "digest 0.11.0-rc.3", "fiat-crypto", - "rand_core 0.6.4", + "rand_core 0.9.3", "rustc_version", "serde", "subtle", @@ -663,9 +708,9 @@ checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "der" -version = "0.7.10" +version = "0.8.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +checksum = "e9d8dd2f26c86b27a2a8ea2767ec7f9df7a89516e4794e54ac01ee618dda3aa4" dependencies = [ "const-oid", "der_derive", @@ -675,9 +720,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", @@ -735,6 +780,15 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "des" +version = "0.9.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f51594a70805988feb1c85495ddec0c2052e4fbe59d9c0bb7f94bfc164f4f90" +dependencies = [ + "cipher", +] + [[package]] name = "diatomic-waker" version = "0.2.3" @@ -747,12 +801,21 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", + "block-buffer 0.10.4", + "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 = "dirs-next" version = "2.0.0" @@ -811,25 +874,11 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - [[package]] name = "ed25519" -version = "2.2.3" +version = "3.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +checksum = "9ef49c0b20c0ad088893ad2a790a29c06a012b3f05bcfc66661fd22a94b32129" dependencies = [ "pkcs8", "serde", @@ -838,34 +887,16 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "3.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "ad207ed88a133091f83224265eac21109930db09bedcad05d5252f2af2de20a1" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core 0.6.4", + "rand_core 0.9.3", "serde", - "sha2", - "subtle", - "zeroize", -] - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core 0.6.4", - "sec1", + "sha2 0.11.0-rc.2", + "signature", "subtle", "zeroize", ] @@ -942,21 +973,11 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "ff" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "fiat-crypto" -version = "0.2.9" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" [[package]] name = "flume" @@ -966,7 +987,7 @@ checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" dependencies = [ "futures-core", "futures-sink", - "spin", + "spin 0.9.8", ] [[package]] @@ -977,9 +998,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "form_urlencoded" @@ -1007,15 +1028,15 @@ dependencies = [ [[package]] name = "futures-buffered" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472" +checksum = "a8e0e1f38ec07ba4abbde21eed377082f17ccb988be9d988a5adbf4bafc118fd" dependencies = [ "cordyceps", "diatomic-waker", "futures-core", "pin-project-lite", - "spin", + "spin 0.10.0", ] [[package]] @@ -1158,7 +1179,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -1188,6 +1208,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "ghash" +version = "0.6.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f88107cb02ed63adcc4282942e60c4d09d80208d33b360ce7c729ce6dae1739" +dependencies = [ + "polyval", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1212,17 +1241,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "h2" version = "0.4.10" @@ -1256,6 +1274,12 @@ name = "hashbrown" version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" + +[[package]] +name = "hashbrown" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" dependencies = [ "allocator-api2", "equivalent", @@ -1272,7 +1296,7 @@ dependencies = [ "hash32", "rustc_version", "serde", - "spin", + "spin 0.9.8", "stable_deref_trait", ] @@ -1295,20 +1319,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 1.3.1", "idna", "ipnet", "once_cell", - "rand 0.9.1", + "rand 0.9.2", "ring", + "rustls", "thiserror 2.0.12", "tinyvec", "tokio", + "tokio-rustls", "tracing", "url", ] @@ -1326,11 +1355,13 @@ dependencies = [ "moka", "once_cell", "parking_lot", - "rand 0.9.1", + "rand 0.9.2", "resolv-conf", + "rustls", "smallvec", "thiserror 2.0.12", "tokio", + "tokio-rustls", "tracing", ] @@ -1340,7 +1371,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -1359,6 +1390,15 @@ version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad6880c8d4a9ebf39c6e8b77007ce223f646a4d21ce29d99f70cb16420545425" +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -1428,6 +1468,16 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +[[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" @@ -1463,7 +1513,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots 1.0.0", + "webpki-roots", ] [[package]] @@ -1636,7 +1686,7 @@ dependencies = [ "hyper", "hyper-util", "log", - "rand 0.9.1", + "rand 0.9.2", "tokio", "url", "xmltree", @@ -1649,16 +1699,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.15.4", ] [[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]] @@ -1712,9 +1762,9 @@ dependencies = [ [[package]] name = "iroh" -version = "0.91.1" +version = "0.93.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6a98c47bb5f720edeb77be502a8acd238a3c0755f0b1ad865a716224d794a59" +checksum = "5edb130239eba2cabe28fa7a068b6f58ba0599823ca19149ee46e8a099892376" dependencies = [ "aead", "backon", @@ -1738,16 +1788,17 @@ dependencies = [ "iroh-quinn-proto", "iroh-quinn-udp", "iroh-relay", - "n0-future", + "n0-future 0.2.0", "n0-snafu", "n0-watcher", "nested_enum_utils", - "netdev", + "netdev 0.36.0", "netwatch", "pin-project", "pkarr", + "pkcs8", "portmapper", - "rand 0.8.5", + "rand 0.9.2", "reqwest", "ring", "rustls", @@ -1756,7 +1807,6 @@ dependencies = [ "serde", "smallvec", "snafu", - "spki", "strum", "stun-rs", "surge-ping", @@ -1767,15 +1817,15 @@ dependencies = [ "tracing", "url", "wasm-bindgen-futures", - "webpki-roots 0.26.11", + "webpki-roots", "z32", ] [[package]] name = "iroh-base" -version = "0.91.1" +version = "0.93.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bde4e612191173e8ade55e3aa719044514edfff952292ffbf581be35cbb59c" +checksum = "7899388d105980b64c49dd421f9b3ff18fb1f0898983cb8f3d54dbb6772983da" dependencies = [ "curve25519-dalek", "data-encoding", @@ -1784,7 +1834,7 @@ dependencies = [ "n0-snafu", "nested_enum_utils", "postcard", - "rand_core 0.6.4", + "rand_core 0.9.3", "serde", "snafu", "url", @@ -1792,9 +1842,9 @@ dependencies = [ [[package]] name = "iroh-blobs" -version = "0.93.0" +version = "0.95.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26339cddac491899d7e38d4ff24a629b893f7e7fbaa7e818742477ab7442efb" +checksum = "f437bfba05366e2e53e38b45eef254af0f14aa3dd8c8d1104e7a0669f7562fd4" dependencies = [ "anyhow", "arrayvec", @@ -1812,13 +1862,13 @@ dependencies = [ "iroh-metrics", "iroh-quinn", "irpc", - "n0-future", + "n0-future 0.2.0", "n0-snafu", "nested_enum_utils", "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", @@ -1842,7 +1892,7 @@ dependencies = [ "iroh", "iroh-base", "iroh-blobs", - "n0-future", + "n0-future 0.1.3", "postcard", "serde", "serde-big-array", @@ -1885,7 +1935,7 @@ dependencies = [ "iroh-blobs", "iroh-content-discovery", "postcard", - "rand 0.8.5", + "rand 0.9.2", "rcgen 0.12.1", "redb 1.5.1", "serde", @@ -1917,13 +1967,14 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.35.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8922c169f1b84d39d325c02ef1bbe1419d4de6e35f0403462b3c7e60cc19634" +checksum = "090161e84532a0cb78ab13e70abb882b769ec67cf5a2d2dcea39bd002e1f7172" dependencies = [ "iroh-metrics-derive", "itoa", "postcard", + "ryu", "serde", "snafu", "tracing", @@ -1931,9 +1982,9 @@ dependencies = [ [[package]] name = "iroh-metrics-derive" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d12f5c45c4ed2436302a4e03cad9a0ad34b2962ad0c5791e1019c0ee30eeb09" +checksum = "8a39de3779d200dadde3a27b9fbdb34389a2af1b85ea445afca47bf4d7672573" dependencies = [ "heck", "proc-macro2", @@ -1998,9 +2049,9 @@ dependencies = [ [[package]] name = "iroh-relay" -version = "0.91.1" +version = "0.93.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f19e43de2cfc04748054e1cbf7854ae1e192ddc45a4adeae7be7076a8f1fd43" +checksum = "d3f31a5830127df04d4d54cac933bf34246df6cc47944ff0e168e2e4f2e8d9e5" dependencies = [ "blake3", "bytes", @@ -2017,15 +2068,15 @@ dependencies = [ "iroh-metrics", "iroh-quinn", "iroh-quinn-proto", - "lru", - "n0-future", + "lru 0.16.2", + "n0-future 0.2.0", "n0-snafu", "nested_enum_utils", "num_enum", "pin-project", "pkarr", "postcard", - "rand 0.8.5", + "rand 0.9.2", "reqwest", "rustls", "rustls-pki-types", @@ -2041,23 +2092,23 @@ dependencies = [ "tokio-websockets", "tracing", "url", - "webpki-roots 0.26.11", + "webpki-roots", "ws_stream_wasm", "z32", ] [[package]] name = "irpc" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f8f1d0987ea9da3d74698f921d0a817a214c83b2635a33ed4bc3efa4de1acd" +checksum = "3e3fc4aa2bc2c1002655fab4254390f016f8b9bb65390600f9d8b11f9bdac76d" dependencies = [ "anyhow", "futures-buffered", "futures-util", "iroh-quinn", "irpc-derive", - "n0-future", + "n0-future 0.1.3", "postcard", "rcgen 0.13.2", "rustls", @@ -2071,9 +2122,9 @@ dependencies = [ [[package]] name = "irpc-derive" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0b26b834d401a046dd9d47bc236517c746eddbb5d25ff3e1a6075bfa4eebdb" +checksum = "7f5706d47257e3f40b9e7dbc1934942b5792cc6a8670b7dda8856c2f5709cf98" dependencies = [ "proc-macro2", "quote", @@ -2129,9 +2180,6 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] [[package]] name = "libc" @@ -2139,12 +2187,6 @@ version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" -[[package]] -name = "libm" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" - [[package]] name = "libredox" version = "0.1.3" @@ -2213,8 +2255,14 @@ name = "lru" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" + +[[package]] +name = "lru" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96051b46fc183dc9cd4a223960ef37b9af631b55191852a8274bfef064cda20f" dependencies = [ - "hashbrown", + "hashbrown 0.16.0", ] [[package]] @@ -2225,9 +2273,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "mainline" -version = "5.4.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c258b001fa52b7270dc1a239b36a9b608b024e68733648c1757b025204fdc248" +checksum = "5be6c12ff79bfbf65bcbec84882a4bf700177df6d83a7b866c6a01cda7db4777" dependencies = [ "crc", "document-features", @@ -2235,8 +2283,8 @@ dependencies = [ "ed25519-dalek", "flume", "futures-lite", - "getrandom 0.2.16", - "lru", + "getrandom 0.3.3", + "lru 0.16.2", "serde", "serde_bencode", "serde_bytes", @@ -2326,11 +2374,32 @@ dependencies = [ "web-time", ] +[[package]] +name = "n0-future" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d7dd42bd0114c9daa9c4f2255d692a73bba45767ec32cf62892af6fe5d31f6" +dependencies = [ + "cfg_aliases", + "derive_more 1.0.0", + "futures-buffered", + "futures-lite", + "futures-util", + "js-sys", + "pin-project", + "send_wrapper", + "tokio", + "tokio-util", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-time", +] + [[package]] name = "n0-snafu" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fed465ff57041f29db78a9adc8864296ef93c6c16029f9e192dc303404ebd0" +checksum = "1815107e577a95bfccedb4cfabc73d709c0db6d12de3f14e0f284a8c5036dc4f" dependencies = [ "anyhow", "btparse", @@ -2346,7 +2415,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c31462392a10d5ada4b945e840cbec2d5f3fee752b96c4b33eb41414d8f45c2a" dependencies = [ "derive_more 1.0.0", - "n0-future", + "n0-future 0.1.3", "snafu", ] @@ -2379,6 +2448,23 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "netdev" +version = "0.37.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daa1e3eaf125c54c21e6221df12dd2a0a682784a068782dd564c836c0f281b6d" +dependencies = [ + "dlopen2", + "ipnet", + "libc", + "netlink-packet-core", + "netlink-packet-route 0.22.0", + "netlink-sys", + "once_cell", + "system-configuration", + "windows-sys 0.59.0", +] + [[package]] name = "netlink-packet-core" version = "0.7.0" @@ -2461,9 +2547,9 @@ dependencies = [ [[package]] name = "netwatch" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901dbb408894af3df3fc51420ba0c6faf3a7d896077b797c39b7001e2f787bd" +checksum = "8a63d76f52f3f15ebde3ca751a2ab73a33ae156662bc04383bac8e824f84e9bb" dependencies = [ "atomic-waker", "bytes", @@ -2472,10 +2558,10 @@ dependencies = [ "iroh-quinn-udp", "js-sys", "libc", - "n0-future", + "n0-future 0.1.3", "n0-watcher", "nested_enum_utils", - "netdev", + "netdev 0.37.3", "netlink-packet-core", "netlink-packet-route 0.24.0", "netlink-proto", @@ -2525,49 +2611,12 @@ dependencies = [ "winapi", ] -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - [[package]] name = "num-conv" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -2575,7 +2624,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -2624,12 +2672,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" @@ -2642,44 +2684,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - -[[package]] -name = "p384" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - -[[package]] -name = "p521" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2" -dependencies = [ - "base16ct", - "ecdsa", - "elliptic-curve", - "primeorder", - "rand_core 0.6.4", - "sha2", -] - [[package]] name = "parking" version = "2.2.1" @@ -2727,9 +2731,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", ] @@ -2781,7 +2785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" dependencies = [ "pest", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -2828,9 +2832,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkarr" -version = "3.8.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a50f65a2b97031863fbdff2f085ba832360b4bef3106d1fcff9ab5bf4063fe" +checksum = "792c1328860f6874e90e3b387b4929819cc7783a6bd5a4728e918706eb436a48" dependencies = [ "async-compat", "base32", @@ -2841,9 +2845,9 @@ dependencies = [ "ed25519-dalek", "futures-buffered", "futures-lite", - "getrandom 0.2.16", + "getrandom 0.3.3", "log", - "lru", + "lru 0.13.0", "mainline", "ntimestamp", "reqwest", @@ -2858,22 +2862,11 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - [[package]] name = "pkcs8" -version = "0.10.2" +version = "0.11.0-rc.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +checksum = "93eac55f10aceed84769df670ea4a32d2ffad7399400d41ee1c13b1cd8e1b478" dependencies = [ "der", "spki", @@ -2923,12 +2916,23 @@ 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 = "fb78a635f75d76d856374961deecf61031c0b6f928c83dc9c0924ab6c019c298" +dependencies = [ + "cpufeatures", + "universal-hash", + "zeroize", +] + +[[package]] +name = "polyval" +version = "0.7.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +checksum = "1ffd40cc99d0fbb02b4b3771346b811df94194bc103983efa0203c8893755085" dependencies = [ + "cfg-if", "cpufeatures", - "opaque-debug", "universal-hash", ] @@ -2940,9 +2944,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portmapper" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f1975debe62a70557e42b9ff9466e4890cf9d3d156d296408a711f1c5f642b" +checksum = "90f7313cafd74e95e6a358c1d0a495112f175502cc2e69870d0a5b12b6553059" dependencies = [ "base64", "bytes", @@ -2956,7 +2960,7 @@ dependencies = [ "nested_enum_utils", "netwatch", "num_enum", - "rand 0.9.1", + "rand 0.9.2", "serde", "smallvec", "snafu", @@ -3062,15 +3066,6 @@ dependencies = [ "ucd-parse", ] -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - [[package]] name = "proc-macro-crate" version = "3.3.0" @@ -3150,7 +3145,7 @@ dependencies = [ "bytes", "getrandom 0.3.3", "lru-slab", - "rand 0.9.1", + "rand 0.9.2", "ring", "rustc-hash", "rustls", @@ -3214,9 +3209,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -3309,9 +3304,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", ] @@ -3456,7 +3451,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 1.0.0", + "webpki-roots", ] [[package]] @@ -3465,16 +3460,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - [[package]] name = "ring" version = "0.17.14" @@ -3489,27 +3474,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rsa" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "sha2", - "signature", - "spki", - "subtle", - "zeroize", -] - [[package]] name = "rustc-demangle" version = "0.1.25" @@ -3633,10 +3597,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", ] @@ -3672,16 +3637,12 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sec1" -version = "0.7.3" +version = "0.8.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +checksum = "1dff52f6118bc9f0ac974a54a639d499ac26a6cad7a6e39bc0990c19625e793b" dependencies = [ "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", + "hybrid-array", ] [[package]] @@ -3808,9 +3769,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", @@ -3824,7 +3785,7 @@ checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", - "digest", + "digest 0.10.7", ] [[package]] @@ -3841,7 +3802,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]] @@ -3870,13 +3842,9 @@ dependencies = [ [[package]] name = "signature" -version = "2.2.0" +version = "3.0.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] +checksum = "fc280a6ff65c79fbd6622f64d7127f32b85563bca8c53cd2e9141d6744a9056d" [[package]] name = "simdutf8" @@ -3959,11 +3927,17 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spin" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" + [[package]] name = "spki" -version = "0.7.3" +version = "0.8.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "8baeff88f34ed0691978ec34440140e1572b68c7dd4a495fd14a3dc1944daa80" dependencies = [ "base64ct", "der", @@ -3971,39 +3945,44 @@ dependencies = [ [[package]] name = "ssh-cipher" -version = "0.2.0" +version = "0.3.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caac132742f0d33c3af65bfcde7f6aa8f62f0e991d80db99149eb9d44708784f" +checksum = "481f53252058ad302f9dff47a3ca03c5e30e34e49226d9549a7e9d16cb210700" dependencies = [ + "aes", + "aes-gcm", + "chacha20", "cipher", + "des", + "poly1305", "ssh-encoding", + "zeroize", ] [[package]] name = "ssh-encoding" -version = "0.2.0" +version = "0.3.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9242b9ef4108a78e8cd1a2c98e193ef372437f8c22be363075233321dd4a15" +checksum = "2f1447aab1592c131dec60f7d8cc0b2fb4042d0bf2c90c40f972c2c046b25d1b" dependencies = [ "base64ct", + "digest 0.11.0-rc.3", "pem-rfc7468", - "sha2", + "subtle", + "zeroize", ] [[package]] name = "ssh-key" -version = "0.6.7" +version = "0.7.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b86f5297f0f04d08cabaa0f6bff7cb6aec4d9c3b49d87990d63da9d9156a8c3" +checksum = "7307406fcbbeb6933b5c8cc84ec0fefee80fec53ba5b88b96674c0a75495090a" dependencies = [ "ed25519-dalek", - "p256", - "p384", - "p521", - "rand_core 0.6.4", - "rsa", + "home", + "rand_core 0.9.3", "sec1", - "sha2", + "sha2 0.11.0-rc.2", "signature", "ssh-cipher", "ssh-encoding", @@ -4065,7 +4044,7 @@ dependencies = [ "precis-core", "precis-profiles", "quoted-string-parser", - "rand 0.9.1", + "rand 0.9.2", ] [[package]] @@ -4083,7 +4062,7 @@ dependencies = [ "hex", "parking_lot", "pnet_packet", - "rand 0.9.1", + "rand 0.9.2", "socket2 0.5.10", "thiserror 1.0.69", "tokio", @@ -4348,7 +4327,7 @@ dependencies = [ "futures-io", "futures-sink", "futures-util", - "hashbrown", + "hashbrown 0.15.4", "pin-project-lite", "slab", "tokio", @@ -4367,7 +4346,7 @@ dependencies = [ "getrandom 0.3.3", "http 1.3.1", "httparse", - "rand 0.9.1", + "rand 0.9.2", "ring", "rustls-pki-types", "simdutf8", @@ -4597,11 +4576,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", ] @@ -4814,15 +4793,6 @@ dependencies = [ "rustls-pki-types", ] -[[package]] -name = "webpki-roots" -version = "0.26.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" -dependencies = [ - "webpki-roots 1.0.0", -] - [[package]] name = "webpki-roots" version = "1.0.0" diff --git a/content-discovery/Cargo.toml b/content-discovery/Cargo.toml index b6bcf12..dad9b8d 100644 --- a/content-discovery/Cargo.toml +++ b/content-discovery/Cargo.toml @@ -26,9 +26,9 @@ missing_debug_implementations = "warn" unused-async = "warn" [workspace.dependencies] -iroh = { version ="0.91", features = ["discovery-pkarr-dht"] } -iroh-base = "0.91" -iroh-blobs = { version = "0.93" } +iroh = { version ="0.93", features = ["discovery-pkarr-dht"] } +iroh-base = "0.93" +iroh-blobs = { version = "0.95" } # explicitly specified until iroh minimal crates issues are solved, see https://github.com/n0-computer/iroh/pull/3255 tokio = { version = "1.44.1" } tokio-stream = { version = "0.1.17" } diff --git a/content-discovery/iroh-content-discovery-cli/src/main.rs b/content-discovery/iroh-content-discovery-cli/src/main.rs index 012689f..9c6dd38 100644 --- a/content-discovery/iroh-content-discovery-cli/src/main.rs +++ b/content-discovery/iroh-content-discovery-cli/src/main.rs @@ -86,8 +86,7 @@ async fn query(args: QueryArgs) -> anyhow::Result<()> { async fn create_client_endpoint() -> Result { let discovery = iroh::discovery::pkarr::dht::DhtDiscovery::builder() .dht(true) - .n0_dns_pkarr_relay() - .build()?; + .n0_dns_pkarr_relay(); endpoint::Endpoint::builder() .discovery(discovery) .bind() diff --git a/content-discovery/iroh-content-discovery/Cargo.toml b/content-discovery/iroh-content-discovery/Cargo.toml index 501fa92..fb43ff3 100644 --- a/content-discovery/iroh-content-discovery/Cargo.toml +++ b/content-discovery/iroh-content-discovery/Cargo.toml @@ -28,7 +28,7 @@ tokio-stream = { workspace = true } n0-future = { workspace = true, optional = true } futures-buffered = { workspace = true, optional = true } snafu = "0.8.6" -ed25519-dalek = "2.1.1" +ed25519-dalek = "3.0.0-pre.1" [features] client = [ diff --git a/content-discovery/iroh-content-tracker/Cargo.toml b/content-discovery/iroh-content-tracker/Cargo.toml index b2c3a2d..7e5daf7 100644 --- a/content-discovery/iroh-content-tracker/Cargo.toml +++ b/content-discovery/iroh-content-tracker/Cargo.toml @@ -20,7 +20,7 @@ humantime = "2.1.0" iroh = { workspace = true } iroh-blobs = { workspace = true } postcard = { workspace = true, features = ["alloc", "use-std"] } -rand = "0.8" +rand = "0.9.2" rcgen = "0.12.0" redb = "1.5.0" serde = { version = "1", features = ["derive"] } @@ -37,7 +37,7 @@ iroh-content-discovery = { path = "../iroh-content-discovery", features = ["clie clap = { version = "4", features = ["derive"], optional = true } serde-big-array = "0.5.1" -ssh-key = { version = "0.6", features = ["ed25519"] } +ssh-key = { version = "0.7.0-rc.3", features = ["ed25519"] } [features] cli = ["clap"] diff --git a/content-discovery/iroh-content-tracker/src/iroh_blobs_util.rs b/content-discovery/iroh-content-tracker/src/iroh_blobs_util.rs index ebc2201..1acd9ce 100644 --- a/content-discovery/iroh-content-tracker/src/iroh_blobs_util.rs +++ b/content-discovery/iroh-content-tracker/src/iroh_blobs_util.rs @@ -207,7 +207,7 @@ pub fn random_hash_seq_ranges(sizes: &[u64], mut rng: impl Rng) -> ChunkRangesSe .iter() .map(|size| ChunkNum::full_chunks(*size).0) .sum::(); - let random_chunk = rng.gen_range(0..total_chunks); + let random_chunk = rng.random_range(0..total_chunks); let mut remaining = random_chunk; let mut ranges = vec![]; ranges.push(ChunkRanges::empty()); diff --git a/content-discovery/iroh-content-tracker/src/main.rs b/content-discovery/iroh-content-tracker/src/main.rs index ff4cf9e..ba21f4d 100644 --- a/content-discovery/iroh-content-tracker/src/main.rs +++ b/content-discovery/iroh-content-tracker/src/main.rs @@ -4,11 +4,10 @@ use std::{ net::{SocketAddrV4, SocketAddrV6}, path::PathBuf, sync::atomic::{AtomicBool, Ordering}, - time::{Duration, Instant}, }; use clap::Parser; -use iroh::{endpoint::BindError, Endpoint, Watcher}; +use iroh::{endpoint::BindError, Endpoint}; use iroh_content_discovery::protocol::ALPN; use iroh_content_tracker::{ io::{ @@ -43,22 +42,6 @@ macro_rules! log { }; } -/// Wait until the endpoint has figured out it's own DERP region. -async fn await_relay_region(endpoint: &Endpoint) -> anyhow::Result<()> { - let t0 = Instant::now(); - loop { - let addr = endpoint.node_addr().initialized().await; - if addr.relay_url().is_some() { - break; - } - if t0.elapsed() > Duration::from_secs(10) { - anyhow::bail!("timeout waiting for DERP region"); - } - tokio::time::sleep(Duration::from_millis(50)).await; - } - Ok(()) -} - async fn create_endpoint( key: iroh::SecretKey, ipv4_addr: Option, @@ -112,8 +95,8 @@ async fn server(args: Args) -> anyhow::Result<()> { create_endpoint(key.clone(), options.ipv4_bind_addr, options.ipv6_bind_addr).await?; let db = Tracker::new(options, endpoint.clone())?; db.dump().await?; - await_relay_region(&endpoint).await?; - let addr = endpoint.node_addr().initialized().await; + endpoint.online().await; + let addr = endpoint.node_addr(); println!("tracker addr: {}\n", addr.node_id); info!("listening on {:?}", addr); // let db2 = db.clone(); @@ -169,7 +152,7 @@ pub async fn load_secret_key(key_path: PathBuf) -> anyhow::Result anyhow::Result { let cap = format!("{content} at {host}"); let HashAndFormat { hash, format } = content; - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let stats = if probe_kind == ProbeKind::Incomplete { tracing::debug!("Size probing {}...", cap); let (size, stats) = unverified_size(connection, hash).await?; @@ -1042,7 +1042,7 @@ impl Tracker { match format { BlobFormat::Raw => { let size = self.get_or_insert_size(connection, hash).await?; - let random_chunk = rng.gen_range(0..ChunkNum::chunks(size).0); + let random_chunk = rng.random_range(0..ChunkNum::chunks(size).0); tracing::debug!("Chunk probing {}, chunk {}", cap, random_chunk); let stats = chunk_probe(connection, hash, ChunkNum(random_chunk)).await?; tracing::debug!( @@ -1055,7 +1055,7 @@ impl Tracker { } BlobFormat::HashSeq => { let (hs, sizes) = self.get_or_insert_sizes(connection, hash).await?; - let ranges = random_hash_seq_ranges(&sizes, rand::thread_rng()); + let ranges = random_hash_seq_ranges(&sizes, rand::rng()); let text = ranges .iter_non_empty_infinite() .map(|(index, ranges)| format!("child={index}, ranges={ranges:?}")) diff --git a/content-discovery/iroh-content-tracker/tests/smoke.rs b/content-discovery/iroh-content-tracker/tests/smoke.rs index 941c558..120260c 100644 --- a/content-discovery/iroh-content-tracker/tests/smoke.rs +++ b/content-discovery/iroh-content-tracker/tests/smoke.rs @@ -26,7 +26,7 @@ async fn smoke_test() -> anyhow::Result<()> { let accept_task = tokio::spawn(tracker.clone().accept_loop(tracker_ep.clone())); let tracker_id = tracker_ep.node_id(); let store = MemStore::new(); - let blobs = BlobsProtocol::new(&store, provider_ep.clone(), None); + let blobs = BlobsProtocol::new(&store, None); let provider_router = RouterBuilder::new(provider_ep.clone()) .accept(iroh_blobs::ALPN, blobs.clone()) .spawn(); diff --git a/h3-iroh/Cargo.toml b/h3-iroh/Cargo.toml index 3d91a7d..c730a5f 100644 --- a/h3-iroh/Cargo.toml +++ b/h3-iroh/Cargo.toml @@ -15,8 +15,8 @@ http-body = { version = "1", optional = true } http-body-util = { version = "0.1", optional = true } hyper = { version = "1.5", optional = true } hyper-util = { version = "0.1", optional = true } -iroh = "0.91" -iroh-base = { version = "0.91", features = ["ticket"] } +iroh = "0.93" +iroh-base = { version = "0.93", features = ["ticket"] } tokio = { version = "1", features = ["io-util"], default-features = false} tokio-util = "0.7" tower = { version = "0.5", optional = true } diff --git a/h3-iroh/examples/server-axum.rs b/h3-iroh/examples/server-axum.rs index de54c0b..94bd62a 100644 --- a/h3-iroh/examples/server-axum.rs +++ b/h3-iroh/examples/server-axum.rs @@ -4,7 +4,6 @@ use anyhow::Result; use axum::{response::Html, routing::get, Router}; -use iroh::Watcher; use iroh_base::ticket::NodeTicket; use tracing::info; @@ -21,9 +20,8 @@ async fn main() -> Result<()> { info!("accepting connections on node: {}", ep.node_id()); // Wait for direct addresses and a RelayUrl before printing a NodeTicket. - ep.direct_addresses().initialized().await; - ep.home_relay().initialized().await; - let ticket = NodeTicket::new(ep.node_addr().initialized().await); + ep.online().await; + let ticket = NodeTicket::new(ep.node_addr()); info!("node ticket: {ticket}"); info!("run: cargo run --example client -- iroh+h3://{ticket}/"); diff --git a/h3-iroh/examples/server.rs b/h3-iroh/examples/server.rs index 4dd3ef1..1193f62 100644 --- a/h3-iroh/examples/server.rs +++ b/h3-iroh/examples/server.rs @@ -9,7 +9,7 @@ use bytes::{Bytes, BytesMut}; use clap::Parser; use h3::{error::ErrorLevel, quic::BidiStream, server::RequestStream}; use http::{Request, StatusCode}; -use iroh::{endpoint::Incoming, Watcher}; +use iroh::endpoint::Incoming; use iroh_base::ticket::NodeTicket; use tokio::{fs::File, io::AsyncReadExt}; use tracing::{debug, error, field, info, info_span, Instrument, Span}; @@ -50,9 +50,8 @@ async fn main() -> Result<()> { info!("accepting connections on node: {}", ep.node_id()); // Wait for direct addresses and a RelayUrl before printing a NodeTicket. - ep.direct_addresses().initialized().await; - ep.home_relay().initialized().await; - let ticket = NodeTicket::new(ep.node_addr().initialized().await); + ep.online().await; + let ticket = NodeTicket::new(ep.node_addr()); info!("node ticket: {ticket}"); info!("run e.g.: cargo run --example client -- iroh+h3://{ticket}/Cargo.toml"); @@ -77,7 +76,7 @@ async fn handle_connection(incoming: Incoming, root: Arc>) -> Re let conn = incoming.accept()?.await?; let remote_node_id = conn.remote_node_id()?; let span = Span::current(); - span.record("remote_node_id", remote_node_id.fmt_short()); + span.record("remote_node_id", remote_node_id.fmt_short().to_string()); info!("new connection"); let mut h3_conn = h3::server::Connection::new(h3_iroh::Connection::new(conn)).await?; diff --git a/iroh-dag-sync/Cargo.toml b/iroh-dag-sync/Cargo.toml index 4413113..59c4b24 100644 --- a/iroh-dag-sync/Cargo.toml +++ b/iroh-dag-sync/Cargo.toml @@ -4,11 +4,11 @@ version = "0.1.0" edition = "2021" [dependencies] -iroh-blobs = "0.93" -iroh-gossip = "0.91" -iroh = "0.91" -iroh-base = { version ="0.91", features = ["ticket"] } -iroh-car = "0.5.0" +iroh-blobs = "0.95" +iroh-gossip = "0.93" +iroh = "0.93" +iroh-base = { version ="0.93", features = ["ticket"] } +iroh-car = "0.5" redb = "2.1.1" clap = { version = "4.5.7", features = ["derive"] } tracing-subscriber = "0.3.18" @@ -24,7 +24,7 @@ genawaiter = "0.99.1" bytes = "1.6.0" hex = "0.4.3" ron = "0.8.1" -rand = "0.8.5" +rand = "0.9.2" tracing = "0.1.40" serde_bytes = "0.11.14" ipld-core = "0.4.1" diff --git a/iroh-dag-sync/src/main.rs b/iroh-dag-sync/src/main.rs index ad534fb..5c48d7b 100644 --- a/iroh-dag-sync/src/main.rs +++ b/iroh-dag-sync/src/main.rs @@ -6,7 +6,7 @@ use clap::Parser; use futures_lite::StreamExt; use ipld_core::codec::Links; use iroh::discovery::{dns::DnsDiscovery, pkarr::PkarrPublisher, ConcurrentDiscovery}; -use iroh::{NodeAddr, Watcher}; +use iroh::NodeAddr; use iroh_base::ticket::NodeTicket; use iroh_car::CarReader; use protocol::{ron_parser, Cid, Request}; @@ -123,8 +123,8 @@ async fn main() -> anyhow::Result<()> { args::SubCommand::Node(args) => { let endpoint = create_endpoint(args.net.iroh_ipv4_addr, args.net.iroh_ipv6_addr).await?; - endpoint.home_relay().initialized().await; - let addr = endpoint.node_addr().initialized().await; + endpoint.online().await; + let addr = endpoint.node_addr(); println!("Node id:\n{}", addr.node_id); println!( "Listening on {:#?}, {:#?}", diff --git a/iroh-dag-sync/src/protocol.rs b/iroh-dag-sync/src/protocol.rs index 58b4937..8d55325 100644 --- a/iroh-dag-sync/src/protocol.rs +++ b/iroh-dag-sync/src/protocol.rs @@ -113,15 +113,6 @@ impl SyncResponseHeader { } } -#[derive(Debug, Serialize, Deserialize)] -#[repr(u8)] -pub enum DataMode { - /// no data is included - None = 0, - /// data is included - Inline = 1, -} - /// Options to configure a traversal /// /// The exact traversal options will probably be project specific, since we don't diff --git a/iroh-dag-sync/src/sync.rs b/iroh-dag-sync/src/sync.rs index 202b0d4..751283e 100644 --- a/iroh-dag-sync/src/sync.rs +++ b/iroh-dag-sync/src/sync.rs @@ -2,7 +2,7 @@ use anyhow::Context; use bao_tree::{io::outboard::EmptyOutboard, BaoTree, ChunkRanges}; use iroh::endpoint::{Connecting, RecvStream, SendStream}; use iroh_blobs::store::{fs::FsStore, IROH_BLOCK_SIZE}; -use iroh_io::TokioStreamReader; +use iroh_io::{TokioStreamReader, TokioStreamWriter}; use multihash_codetable::MultihashDigest; use tokio::io::AsyncReadExt; @@ -61,25 +61,28 @@ where T::Db: ReadableTables, { let mut traversal = traversal; + let mut send = TokioStreamWriter(send); while let Some(cid) = traversal.next().await? { let hash = traversal .db_mut() .blake3_hash(cid.hash())? .context("blake3 hash not found")?; if inline(&cid) { - send.write_all(&SyncResponseHeader::Data(hash).as_bytes()) + send.0 + .write_all(&SyncResponseHeader::Data(hash).as_bytes()) .await?; blobs .export_bao(hash, ChunkRanges::all()) - .write_quinn(send) + .write(&mut send) .await?; } else { - send.write_all(&SyncResponseHeader::Hash(hash).as_bytes()) + send.0 + .write_all(&SyncResponseHeader::Hash(hash).as_bytes()) .await?; } } - send.finish()?; + send.0.finish()?; Ok(()) } diff --git a/iroh-dag-sync/src/util.rs b/iroh-dag-sync/src/util.rs index 4398354..89538f9 100644 --- a/iroh-dag-sync/src/util.rs +++ b/iroh-dag-sync/src/util.rs @@ -11,7 +11,7 @@ pub fn get_or_create_secret() -> anyhow::Result { Ok(secret) } Err(_) => { - let secret = SecretKey::generate(rand::thread_rng()); + let secret = SecretKey::generate(&mut rand::rng()); std::fs::write(FILENAME, secret.to_bytes())?; Ok(secret) } diff --git a/iroh-pkarr-naming-system/Cargo.toml b/iroh-pkarr-naming-system/Cargo.toml index 628b3de..8ffa8ce 100644 --- a/iroh-pkarr-naming-system/Cargo.toml +++ b/iroh-pkarr-naming-system/Cargo.toml @@ -8,8 +8,8 @@ edition = "2021" [dependencies] anyhow = "1.0.79" derive_more = "0.99.17" -iroh = "0.91" -iroh-blobs = "0.93" +iroh = "0.93" +iroh-blobs = "0.95" pkarr = { version = "2.3.1", features = ["async", "dht"] } tokio = "1.35.1" tokio-util = "0.7.12"