diff --git a/Cargo.lock b/Cargo.lock index 21cab333d9c1..a83a3e34ff4b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -45,9 +45,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -67,21 +67,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" -[[package]] -name = "anstream" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" -dependencies = [ - "anstyle", - "anstyle-parse 0.2.6", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - [[package]] name = "anstream" version = "1.0.0" @@ -89,7 +74,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", - "anstyle-parse 1.0.0", + "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", @@ -103,15 +88,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" -[[package]] -name = "anstyle-parse" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" -dependencies = [ - "utf8parse", -] - [[package]] name = "anstyle-parse" version = "1.0.0" @@ -123,22 +99,22 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] @@ -149,15 +125,18 @@ checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" [[package]] name = "arc-swap" -version = "1.7.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" +checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" +dependencies = [ + "rustversion", +] [[package]] name = "arrayref" @@ -183,9 +162,9 @@ dependencies = [ [[package]] name = "asn1-rs" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" +checksum = "b7f43a50ac4fdca5df8e885c21b835997f0a1cdee65494a6847694a98652d9d8" dependencies = [ "asn1-rs-derive 0.6.0", "asn1-rs-impl", @@ -234,9 +213,9 @@ dependencies = [ [[package]] name = "asn1_der" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" +checksum = "4858a9d740c5007a9069007c3b4e91152d0506f13c1b31dd49051fd537656156" [[package]] name = "async-channel" @@ -252,32 +231,20 @@ dependencies = [ [[package]] name = "async-io" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" dependencies = [ - "async-lock", + "autocfg", "cfg-if", "concurrent-queue", "futures-io", "futures-lite", "parking", "polling", - "rustix 0.38.44", + "rustix", "slab", - "tracing", - "windows-sys 0.59.0", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", + "windows-sys 0.61.2", ] [[package]] @@ -346,9 +313,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "autonat-example" @@ -371,7 +338,7 @@ dependencies = [ "opentelemetry", "opentelemetry-otlp", "opentelemetry_sdk", - "rand 0.8.5", + "rand 0.10.1", "tokio", "tracing", "tracing-opentelemetry", @@ -380,9 +347,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.16.3" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec6fb3fe69024a75fa7e1bfb48aa6cf59706a101658ea01bfd33b2b248a038f" +checksum = "5ec2f1fc3ec205783a5da9a7e6c1509cc69dedf09a1949e412c1e18469326d00" dependencies = [ "aws-lc-sys", "zeroize", @@ -390,9 +357,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50037ee5e1e41e7b8f9d161680a725bd1626cb6f8c7e901f91f942850852fe7" +checksum = "1a2f9779ce85b93ab6170dd940ad0169b5766ff848247aff13bb788b832fe3f4" dependencies = [ "cc", "cmake", @@ -428,7 +395,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower 0.5.3", "tower-layer", "tower-service", "tracing", @@ -485,9 +452,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "bimap" @@ -546,12 +513,12 @@ dependencies = [ "libp2p-webrtc", "libp2p-webrtc-websys", "mime_guess", - "rand 0.8.5", + "rand 0.10.1", "rust-embed", "tokio", "tokio-util", - "tower 0.5.2", - "tower-http 0.6.10", + "tower 0.5.3", + "tower-http 0.6.11", "tracing", "tracing-subscriber", "tracing-wasm", @@ -571,9 +538,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "serde", @@ -581,9 +548,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytecheck" @@ -671,12 +638,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - [[package]] name = "cfg-if" version = "1.0.4" @@ -708,7 +669,7 @@ checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" dependencies = [ "cfg-if", "cpufeatures 0.3.0", - "rand_core 0.10.0", + "rand_core 0.10.1", ] [[package]] @@ -788,7 +749,7 @@ version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ - "anstream 1.0.0", + "anstream", "anstyle", "clap_lex", "strsim", @@ -823,9 +784,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "combine" @@ -939,18 +900,18 @@ dependencies = [ [[package]] name = "crc" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ "crc-catalog", ] [[package]] name = "crc-catalog" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" +checksum = "217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853" [[package]] name = "crc32fast" @@ -1076,9 +1037,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1094,9 +1055,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1152,15 +1113,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.8.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" +checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" [[package]] name = "data-encoding-macro" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9724adfcf41f45bf652b3995837669d73c4d49a1b5ac1ff82905ac7d9b5558" +checksum = "3259c913752a86488b501ed8680446a5ed2d5aeac6e596cb23ba3800768ea32c" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1168,9 +1129,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e4fdb82bd54a12e42fb58a800dcae6b9e13982238ce2296dc3570b92148e1f" +checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090" dependencies = [ "data-encoding", "syn", @@ -1191,9 +1152,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -1220,7 +1181,7 @@ version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" dependencies = [ - "asn1-rs 0.7.1", + "asn1-rs 0.7.2", "displaydoc", "nom", "num-bigint", @@ -1230,9 +1191,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", ] @@ -1249,34 +1210,13 @@ dependencies = [ "subtle", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", -] - [[package]] name = "dirs" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "dirs-sys 0.5.0", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.4.6", - "windows-sys 0.48.0", + "dirs-sys", ] [[package]] @@ -1287,7 +1227,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.2", + "redox_users", "windows-sys 0.61.2", ] @@ -1351,9 +1291,9 @@ dependencies = [ [[package]] name = "dtoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" [[package]] name = "dunce" @@ -1401,9 +1341,9 @@ dependencies = [ [[package]] name = "either" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] name = "elliptic-curve" @@ -1437,9 +1377,9 @@ dependencies = [ [[package]] name = "env_filter" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f" +checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef" dependencies = [ "log", "regex", @@ -1447,11 +1387,11 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.9" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" +checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a" dependencies = [ - "anstream 0.6.18", + "anstream", "anstyle", "env_filter", "jiff", @@ -1466,19 +1406,19 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.11" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "event-listener" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -1497,9 +1437,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "ff" @@ -1531,9 +1471,9 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.28" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d5b2eef6fafbf69f877e55509ce5b11a760690ac9700a2921be067aa6afaef6" +checksum = "5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759" dependencies = [ "cfg-if", "libc", @@ -1591,9 +1531,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1604,7 +1544,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e72ed92b67c146290f88e9c89d60ca163ea417a446f61ffd7b72df3e7f1dfd5" dependencies = [ - "rustix 1.1.4", + "rustix", "tokio", "windows-sys 0.61.2", ] @@ -1617,9 +1557,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1642,9 +1582,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1652,33 +1592,32 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", "futures-util", - "num_cpus", ] [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-lite" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "futures-core", "pin-project-lite", @@ -1686,9 +1625,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", @@ -1708,15 +1647,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -1730,9 +1669,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -1742,7 +1681,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -1758,19 +1696,6 @@ dependencies = [ "rustc_version", ] -[[package]] -name = "generator" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" -dependencies = [ - "cfg-if", - "libc", - "log", - "rustversion", - "windows 0.58.0", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1795,28 +1720,28 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi 5.2.0", - "wasi 0.14.2+wasi-0.2.4", + "r-efi 5.3.0", + "wasip2", "wasm-bindgen", ] @@ -1829,7 +1754,7 @@ dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", - "rand_core 0.10.0", + "rand_core 0.10.1", "wasip2", "wasip3", ] @@ -1846,15 +1771,15 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "globset" -version = "0.4.16" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5" +checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" dependencies = [ "aho-corasick", "bstr", @@ -1888,9 +1813,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.8" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +checksum = "171fefbc92fe4a4de27e0698d6a5b392d6a0e333506bc49133760b3bcf948733" dependencies = [ "atomic-waker", "bytes", @@ -1898,7 +1823,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.13.0", + "indexmap 2.14.0", "slab", "tokio", "tokio-util", @@ -1907,12 +1832,13 @@ dependencies = [ [[package]] name = "half" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "cfg-if", "crunchy", + "zerocopy", ] [[package]] @@ -1962,21 +1888,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hermit-abi" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2017,8 +1931,8 @@ dependencies = [ "hickory-proto", "idna", "ipnet", - "jni 0.22.4", - "rand 0.10.0", + "jni", + "rand 0.10.1", "thiserror 2.0.18", "tinyvec", "tokio", @@ -2035,10 +1949,10 @@ dependencies = [ "data-encoding", "idna", "ipnet", - "jni 0.22.4", + "jni", "once_cell", "prefix-trie", - "rand 0.10.0", + "rand 0.10.1", "ring", "thiserror 2.0.18", "tinyvec", @@ -2058,15 +1972,15 @@ dependencies = [ "hickory-proto", "ipconfig", "ipnet", - "jni 0.22.4", + "jni", "moka", "ndk-context", "once_cell", "parking_lot", - "rand 0.10.0", + "rand 0.10.1", "resolv-conf", "smallvec", - "system-configuration 0.7.0", + "system-configuration", "thiserror 2.0.18", "tokio", "tracing", @@ -2106,25 +2020,13 @@ dependencies = [ "tracing", ] -[[package]] -name = "hostname" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" -dependencies = [ - "cfg-if", - "libc", - "windows-link 0.1.1", -] - [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -2171,9 +2073,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" dependencies = [ "atomic-waker", "bytes", @@ -2186,7 +2088,6 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "pin-utils", "smallvec", "tokio", "want", @@ -2194,16 +2095,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "futures-util", "http", "hyper", "hyper-util", "rustls", - "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", @@ -2240,14 +2139,13 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64", "bytes", "futures-channel", - "futures-core", "futures-util", "http", "http-body", @@ -2257,7 +2155,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2 0.6.3", - "system-configuration 0.6.1", + "system-configuration", "tokio", "tower-service", "tracing", @@ -2266,21 +2164,23 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", + "potential_utf", + "utf8_iter", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", @@ -2289,99 +2189,61 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ - "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", + "icu_locale_core", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "id-arena" version = "2.3.0" @@ -2400,9 +2262,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2411,9 +2273,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" dependencies = [ "icu_normalizer", "icu_properties", @@ -2447,9 +2309,9 @@ dependencies = [ "netlink-proto", "netlink-sys", "rtnetlink", - "system-configuration 0.7.0", + "system-configuration", "tokio", - "windows 0.62.2", + "windows", ] [[package]] @@ -2466,7 +2328,7 @@ dependencies = [ "hyper", "hyper-util", "log", - "rand 0.10.0", + "rand 0.10.1", "tokio", "url", "xmltree", @@ -2484,12 +2346,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "serde", "serde_core", ] @@ -2541,9 +2403,9 @@ dependencies = [ "libp2p-webrtc", "libp2p-webrtc-websys", "mime_guess", - "rand 0.8.5", + "rand 0.10.1", "redis", - "reqwest 0.12.24", + "reqwest 0.12.28", "rust-embed", "serde", "serde_json", @@ -2560,14 +2422,15 @@ dependencies = [ [[package]] name = "ipconfig" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" +checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" dependencies = [ - "socket2 0.5.9", + "socket2 0.6.3", "widestring", - "windows-sys 0.48.0", - "winreg", + "windows-registry", + "windows-result", + "windows-sys 0.61.2", ] [[package]] @@ -2595,29 +2458,29 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" dependencies = [ "serde", ] [[package]] name = "is-terminal" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "hermit-abi 0.5.0", + "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -2648,50 +2511,34 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jiff" -version = "0.2.6" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f33145a5cbea837164362c7bd596106eb7c5198f97d1ba6f6ebb3223952e488" +checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" dependencies = [ "jiff-static", "log", "portable-atomic", "portable-atomic-util", - "serde", + "serde_core", ] [[package]] name = "jiff-static" -version = "0.2.6" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43ce13c40ec6956157a3635d97a1ee2df323b263f09ea14165131289cb0f5c19" +checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys 0.3.1", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - [[package]] name = "jni" version = "0.22.4" @@ -2701,12 +2548,12 @@ dependencies = [ "cfg-if", "combine", "jni-macros", - "jni-sys 0.4.1", + "jni-sys", "log", "simd_cesu8", "thiserror 2.0.18", "walkdir", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -2722,15 +2569,6 @@ dependencies = [ "syn", ] -[[package]] -name = "jni-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" -dependencies = [ - "jni-sys 0.4.1", -] - [[package]] name = "jni-sys" version = "0.4.1" @@ -2756,7 +2594,7 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", "libc", ] @@ -2852,7 +2690,7 @@ dependencies = [ "either", "futures", "futures-timer", - "getrandom 0.2.15", + "getrandom 0.2.17", "libp2p-allow-block-list", "libp2p-autonat", "libp2p-connection-limits", @@ -2923,7 +2761,7 @@ dependencies = [ "libp2p-swarm-test", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.10.1", "rand_core 0.6.4", "thiserror 2.0.18", "tokio", @@ -2944,7 +2782,7 @@ dependencies = [ "libp2p-swarm-derive", "libp2p-swarm-test", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "tokio", ] @@ -2965,7 +2803,7 @@ dependencies = [ "parking_lot", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand 0.10.1", "rw-stream-sink", "thiserror 2.0.18", "tokio", @@ -3031,7 +2869,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.10.1", "smallvec", "thiserror 2.0.18", "tracing", @@ -3050,7 +2888,7 @@ dependencies = [ "fnv", "futures", "futures-timer", - "getrandom 0.2.15", + "getrandom 0.2.17", "hashlink", "hex_fmt", "libp2p-core", @@ -3061,7 +2899,7 @@ dependencies = [ "quick-protobuf", "quick-protobuf-codec", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "regex", "serde", "sha2", @@ -3108,7 +2946,7 @@ dependencies = [ "p256", "quick-protobuf", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "ring", "rmp-serde", "sec1", @@ -3141,7 +2979,7 @@ dependencies = [ "quick-protobuf", "quick-protobuf-codec", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "serde", "sha2", "smallvec", @@ -3164,7 +3002,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "libp2p-swarm-test", - "rand 0.8.5", + "rand 0.10.1", "smallvec", "socket2 0.6.3", "tokio", @@ -3223,7 +3061,7 @@ dependencies = [ "nohash-hasher", "parking_lot", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "smallvec", "tokio", "tracing", @@ -3256,7 +3094,8 @@ dependencies = [ "multihash", "quick-protobuf", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", + "rand_core 0.10.1", "snow", "static_assertions", "thiserror 2.0.18", @@ -3317,7 +3156,7 @@ dependencies = [ "libp2p-swarm", "libp2p-swarm-test", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "tokio", "tracing", "web-time", @@ -3354,7 +3193,7 @@ dependencies = [ "libp2p-yamux", "pin-project", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "salsa20", "sha3", "tokio", @@ -3377,7 +3216,7 @@ dependencies = [ "libp2p-yamux", "quickcheck", "quinn", - "rand 0.8.5", + "rand 0.10.1", "ring", "rustls", "socket2 0.6.3", @@ -3407,7 +3246,7 @@ dependencies = [ "quick-protobuf", "quick-protobuf-codec", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "static_assertions", "thiserror 2.0.18", "tokio", @@ -3432,7 +3271,7 @@ dependencies = [ "libp2p-swarm-test", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.10.1", "thiserror 2.0.18", "tokio", "tracing", @@ -3453,7 +3292,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "libp2p-swarm-test", - "rand 0.8.5", + "rand 0.10.1", "serde", "serde_json", "smallvec", @@ -3489,7 +3328,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "libp2p-swarm-test", - "rand 0.8.5", + "rand 0.10.1", "tokio", "tracing", "tracing-subscriber", @@ -3504,7 +3343,7 @@ dependencies = [ "fnv", "futures", "futures-timer", - "getrandom 0.2.15", + "getrandom 0.2.17", "hashlink", "libp2p-core", "libp2p-identify", @@ -3517,7 +3356,7 @@ dependencies = [ "libp2p-yamux", "multistream-select", "quickcheck-ext", - "rand 0.8.5", + "rand 0.10.1", "smallvec", "tokio", "tracing", @@ -3627,7 +3466,7 @@ dependencies = [ "libp2p-webrtc-utils", "multihash", "quickcheck", - "rand 0.8.5", + "rand 0.10.1", "rcgen", "stun", "thiserror 2.0.18", @@ -3652,7 +3491,7 @@ dependencies = [ "libp2p-noise", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.10.1", "serde", "sha2", "tinytemplate", @@ -3665,7 +3504,7 @@ version = "0.5.0" dependencies = [ "bytes", "futures", - "getrandom 0.2.15", + "getrandom 0.2.17", "hex", "js-sys", "libp2p-core", @@ -3699,7 +3538,7 @@ dependencies = [ "tokio", "tracing", "url", - "webpki-roots", + "webpki-roots 0.26.11", ] [[package]] @@ -3752,25 +3591,18 @@ dependencies = [ "tokio", "tracing", "yamux 0.12.1", - "yamux 0.13.4", + "yamux 0.13.10", ] [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags 2.11.1", "libc", ] -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -3779,9 +3611,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "lock_api" @@ -3794,22 +3626,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" - -[[package]] -name = "loom" -version = "0.7.2" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" -dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", -] +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru-slab" @@ -3855,9 +3674,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memoffset" @@ -3944,26 +3763,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.61.2", ] [[package]] name = "moka" -version = "0.12.10" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" +checksum = "957228ad12042ee839f93c8f257b62b4c0ab5eaae1d4fa60de53b27c9d7c5046" dependencies = [ "crossbeam-channel", "crossbeam-epoch", "crossbeam-utils", - "loom", + "equivalent", "parking_lot", "portable-atomic", - "rustc_version", "smallvec", "tagptr", - "thiserror 1.0.69", "uuid", ] @@ -4006,7 +3823,7 @@ checksum = "577c63b00ad74d57e8c9aa870b5fccebf2fd64a308a5aee9f1bb88e4aea19447" dependencies = [ "arbitrary", "quickcheck", - "rand 0.10.0", + "rand 0.10.1", "serde", "unsigned-varint", ] @@ -4051,17 +3868,17 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" dependencies = [ "libc", "log", "openssl", - "openssl-probe 0.1.6", + "openssl-probe", "openssl-sys", "schannel", - "security-framework 2.11.1", + "security-framework", "security-framework-sys", "tempfile", ] @@ -4163,20 +3980,20 @@ dependencies = [ [[package]] name = "ntapi" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4191,9 +4008,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "num-integer" @@ -4214,16 +4031,6 @@ dependencies = [ "libm", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - [[package]] name = "objc2-core-foundation" version = "0.3.2" @@ -4258,19 +4065,25 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" dependencies = [ - "asn1-rs 0.7.1", + "asn1-rs 0.7.2", ] [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" dependencies = [ "critical-section", "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "oorandom" version = "11.1.5" @@ -4308,12 +4121,6 @@ dependencies = [ "syn", ] -[[package]] -name = "openssl-probe" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" - [[package]] name = "openssl-probe" version = "0.2.1" @@ -4390,7 +4197,7 @@ dependencies = [ "glob", "opentelemetry", "percent-encoding", - "rand 0.8.5", + "rand 0.8.6", "serde_json", "thiserror 1.0.69", "tokio", @@ -4464,7 +4271,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -4475,18 +4282,18 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pastey" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a797f0e07bdf071d15742978fc3128ec6c22891c31a3a931513263904c982a" +checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4" [[package]] name = "pem" -version = "3.0.5" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" +checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ "base64", - "serde", + "serde_core", ] [[package]] @@ -4500,9 +4307,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project" @@ -4558,9 +4365,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "plotters" @@ -4592,17 +4399,16 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.4" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.4.0", + "hermit-abi", "pin-project-lite", - "rustix 0.38.44", - "tracing", - "windows-sys 0.59.0", + "rustix", + "windows-sys 0.61.2", ] [[package]] @@ -4630,19 +4436,28 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" -version = "0.2.4" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" dependencies = [ "portable-atomic", ] +[[package]] +name = "potential_utf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -4660,9 +4475,9 @@ dependencies = [ [[package]] name = "prefix-trie" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f561214012d3fc240a1f9c817cc4d57f5310910d066069c1b093f766bb5966" +checksum = "4cf6e3177f0684016a5c209b00882e15f8bdd3f3bb48f0491df10cd102d0c6e7" dependencies = [ "either", "ipnet", @@ -4794,7 +4609,7 @@ checksum = "95c589f335db0f6aaa168a7cd27b1fc6920f5e1470c804f814d9cd6e62a0f70b" dependencies = [ "env_logger", "log", - "rand 0.10.0", + "rand 0.10.1", ] [[package]] @@ -4834,7 +4649,7 @@ checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" dependencies = [ "aws-lc-rs", "bytes", - "getrandom 0.3.2", + "getrandom 0.3.4", "lru-slab", "rand 0.9.4", "ring", @@ -4850,16 +4665,16 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.11" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.9", + "socket2 0.6.3", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4873,9 +4688,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "r-efi" @@ -4907,9 +4722,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -4923,18 +4738,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] name = "rand" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ "chacha20 0.10.0", "getrandom 0.4.2", - "rand_core 0.10.0", + "rand_core 0.10.1", ] [[package]] @@ -4964,7 +4779,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -4982,23 +4797,23 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", ] [[package]] name = "rand_core" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" [[package]] name = "rand_hc" @@ -5011,9 +4826,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -5021,9 +4836,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -5045,9 +4860,9 @@ dependencies = [ [[package]] name = "redis" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c580d9cbbe1d1b479e8d67cf9daf6a62c957e6846048408b80b43ac3f6af84cd" +checksum = "9e23805debcc4435229c51187c0023a4d04499d354c101490e60744c087e973a" dependencies = [ "async-trait", "bytes", @@ -5064,31 +4879,20 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags 2.11.1", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror 1.0.69", -] - [[package]] name = "redox_users" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "libredox", "thiserror 2.0.18", ] @@ -5118,9 +4922,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "relay-server-example" @@ -5155,9 +4959,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64", "bytes", @@ -5184,8 +4988,8 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-native-tls", - "tower 0.5.2", - "tower-http 0.6.10", + "tower 0.5.3", + "tower-http 0.6.11", "tower-service", "url", "wasm-bindgen", @@ -5195,9 +4999,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e9018c9d814e5f30cc16a0f03271aeab3571e609612d9fe78c1aa8d11c2f62" +checksum = "62e0021ea2c22aed41653bc7e1419abb2c97e038ff2c33d0e1309e49a97deec0" dependencies = [ "base64", "bytes", @@ -5223,8 +5027,8 @@ dependencies = [ "tokio", "tokio-rustls", "tokio-util", - "tower 0.5.2", - "tower-http 0.6.10", + "tower 0.5.3", + "tower-http 0.6.11", "tower-service", "url", "wasm-bindgen", @@ -5235,12 +5039,9 @@ dependencies = [ [[package]] name = "resolv-conf" -version = "0.7.1" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4" -dependencies = [ - "hostname", -] +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "rfc6979" @@ -5260,7 +5061,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", @@ -5284,7 +5085,7 @@ dependencies = [ "bytecheck", "bytes", "hashbrown 0.17.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "munge", "ptr_meta", "rancor", @@ -5307,13 +5108,11 @@ dependencies = [ [[package]] name = "rmp" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" dependencies = [ - "byteorder", "num-traits", - "paste", ] [[package]] @@ -5408,9 +5207,9 @@ dependencies = [ [[package]] name = "rustc-hash" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" [[package]] name = "rustc_version" @@ -5430,19 +5229,6 @@ dependencies = [ "nom", ] -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.11.1", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - [[package]] name = "rustix" version = "1.1.4" @@ -5452,7 +5238,7 @@ dependencies = [ "bitflags 2.11.1", "errno", "libc", - "linux-raw-sys 0.12.1", + "linux-raw-sys", "windows-sys 0.61.2", ] @@ -5477,10 +5263,10 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ - "openssl-probe 0.2.1", + "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.7.0", + "security-framework", ] [[package]] @@ -5495,20 +5281,20 @@ dependencies = [ [[package]] name = "rustls-platform-verifier" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +checksum = "26d1e2536ce4f35f4846aa13bff16bd0ff40157cdb14cc056c7b14ba41233ba0" dependencies = [ "core-foundation 0.10.1", "core-foundation-sys", - "jni 0.21.1", + "jni", "log", "once_cell", "rustls", "rustls-native-certs", "rustls-platform-verifier-android", "rustls-webpki", - "security-framework 3.7.0", + "security-framework", "security-framework-sys", "webpki-root-certs", "windows-sys 0.61.2", @@ -5534,9 +5320,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rw-stream-sink" @@ -5550,9 +5336,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "salsa20" @@ -5574,19 +5360,13 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - [[package]] name = "scopeguard" version = "1.2.0" @@ -5619,19 +5399,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.11.1", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - [[package]] name = "security-framework" version = "3.7.0" @@ -5657,9 +5424,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "send_wrapper" @@ -5708,11 +5475,11 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "itoa", "memchr", "serde", @@ -5722,12 +5489,13 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] @@ -5743,9 +5511,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.4" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" dependencies = [ "serde_core", ] @@ -5775,9 +5543,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures 0.2.17", @@ -5786,9 +5554,9 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ "digest", "keccak", @@ -5805,11 +5573,11 @@ dependencies = [ [[package]] name = "shellexpand" -version = "3.1.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" +checksum = "32824fab5e16e6c4d86dc1ba84489390419a39f97699852b66480bb87d297ed8" dependencies = [ - "dirs 5.0.1", + "dirs", ] [[package]] @@ -5820,10 +5588,11 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -5861,12 +5630,9 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" @@ -5885,15 +5651,15 @@ dependencies = [ [[package]] name = "snow" -version = "0.9.6" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" +checksum = "599b506ccc4aff8cf7844bc42cf783009a434c1e26c964432560fb6d6ad02d82" dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", "curve25519-dalek", - "rand_core 0.6.4", + "getrandom 0.3.4", "ring", "rustc_version", "sha2", @@ -5902,9 +5668,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -5931,7 +5697,7 @@ dependencies = [ "futures", "httparse", "log", - "rand 0.8.5", + "rand 0.8.6", "sha1", ] @@ -5947,9 +5713,9 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -5965,7 +5731,7 @@ dependencies = [ "futures", "libp2p", "libp2p-stream", - "rand 0.8.5", + "rand 0.10.1", "tokio", "tracing", "tracing-subscriber", @@ -6042,9 +5808,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", @@ -6062,18 +5828,7 @@ dependencies = [ "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows 0.62.2", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.11.1", - "core-foundation 0.9.4", - "system-configuration-sys", + "windows", ] [[package]] @@ -6105,9 +5860,9 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" [[package]] name = "tar" -version = "0.4.45" +version = "0.4.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22692a6476a21fa75fdfc11d452fda482af402c008cdbaf3476414e122040973" +checksum = "3f6221d9a6003c78398e3b239969f352578258df48c8eb051caadae0015bc840" dependencies = [ "filetime", "libc", @@ -6129,7 +5884,7 @@ dependencies = [ "fastrand", "getrandom 0.4.2", "once_cell", - "rustix 1.1.4", + "rustix", "windows-sys 0.61.2", ] @@ -6154,14 +5909,14 @@ dependencies = [ "bytes", "cfg-if", "const_format", - "dirs 6.0.0", + "dirs", "flate2", "fs4", "futures-util", "http", - "indexmap 2.13.0", + "indexmap 2.14.0", "pastey", - "reqwest 0.13.1", + "reqwest 0.13.3", "serde", "serde_json", "serde_repr", @@ -6228,12 +5983,11 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -6269,9 +6023,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", @@ -6289,9 +6043,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" dependencies = [ "tinyvec_macros", ] @@ -6342,9 +6096,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", @@ -6352,9 +6106,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -6377,11 +6131,11 @@ dependencies = [ [[package]] name = "toml" -version = "1.0.6+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399b1124a3c9e16766831c6bba21e50192572cdd98706ea114f9502509686ffc" +checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "serde_core", "serde_spanned", "toml_datetime", @@ -6392,27 +6146,27 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "1.0.0+spec-1.1.0" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" dependencies = [ "serde_core", ] [[package]] name = "toml_parser" -version = "1.0.9+spec-1.1.0" +version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" +checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.6+spec-1.1.0" +version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" +checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" [[package]] name = "tonic" @@ -6435,7 +6189,7 @@ dependencies = [ "percent-encoding", "pin-project", "prost", - "socket2 0.5.9", + "socket2 0.5.10", "tokio", "tokio-stream", "tower 0.4.13", @@ -6455,7 +6209,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand 0.8.5", + "rand 0.8.6", "slab", "tokio", "tokio-util", @@ -6466,9 +6220,9 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", @@ -6507,9 +6261,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.10" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68d6fdd9f81c2819c9a8b0e0cd91660e7746a8e6ea2ba7c6b2b057985f6bcb51" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ "bitflags 2.11.1", "bytes", @@ -6517,7 +6271,7 @@ dependencies = [ "http", "http-body", "pin-project-lite", - "tower 0.5.2", + "tower 0.5.3", "tower-layer", "tower-service", "url", @@ -6676,9 +6430,9 @@ checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" [[package]] name = "typenum" -version = "1.18.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "uint" @@ -6694,15 +6448,15 @@ dependencies = [ [[package]] name = "unicase" -version = "2.8.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-xid" @@ -6748,21 +6502,16 @@ dependencies = [ [[package]] name = "url" -version = "2.5.4" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -6777,11 +6526,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.16.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.4.2", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -6838,26 +6589,17 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" -dependencies = [ - "wit-bindgen-rt", -] +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", ] [[package]] @@ -6866,7 +6608,7 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.51.0", ] [[package]] @@ -6995,16 +6737,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap 2.13.0", + "indexmap 2.14.0", "wasm-encoder", "wasmparser", ] [[package]] name = "wasm-streams" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" dependencies = [ "futures-util", "js-sys", @@ -7021,7 +6763,7 @@ checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ "bitflags 2.11.1", "hashbrown 0.15.5", - "indexmap 2.13.0", + "indexmap 2.14.0", "semver", ] @@ -7056,9 +6798,18 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.8" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.7", +] + +[[package]] +name = "webpki-roots" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" dependencies = [ "rustls-pki-types", ] @@ -7153,7 +6904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b62bc8d3fb5024bc6ffde5f4aad2127ce17f8359dbc6f70208a324a12e44677" dependencies = [ "log", - "socket2 0.5.9", + "socket2 0.5.10", "thiserror 1.0.69", "tokio", "webrtc-util", @@ -7238,7 +6989,7 @@ name = "webtransport-tests" version = "0.1.0" dependencies = [ "futures", - "getrandom 0.2.15", + "getrandom 0.2.17", "libp2p-core", "libp2p-identity", "libp2p-noise", @@ -7253,9 +7004,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" +checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" [[package]] name = "winapi" @@ -7275,11 +7026,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -7288,16 +7039,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" -dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.62.2" @@ -7305,7 +7046,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ "windows-collections", - "windows-core 0.62.2", + "windows-core", "windows-future", "windows-numerics", ] @@ -7316,20 +7057,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" dependencies = [ - "windows-core 0.62.2", -] - -[[package]] -name = "windows-core" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" -dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings 0.1.0", - "windows-targets 0.52.6", + "windows-core", ] [[package]] @@ -7338,11 +7066,11 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] @@ -7351,22 +7079,11 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", + "windows-core", + "windows-link", "windows-threading", ] -[[package]] -name = "windows-implement" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-implement" version = "0.60.2" @@ -7378,17 +7095,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-interface" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-interface" version = "0.59.3" @@ -7400,12 +7106,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-link" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - [[package]] name = "windows-link" version = "0.2.1" @@ -7418,37 +7118,19 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ - "windows-core 0.62.2", - "windows-link 0.2.1", + "windows-core", + "windows-link", ] [[package]] name = "windows-registry" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" -dependencies = [ - "windows-result 0.3.2", - "windows-strings 0.3.1", - "windows-targets 0.53.0", -] - -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-result" -version = "0.3.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link 0.1.1", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] @@ -7457,26 +7139,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" -dependencies = [ - "windows-link 0.1.1", + "windows-link", ] [[package]] @@ -7485,25 +7148,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", + "windows-link", ] [[package]] @@ -7517,11 +7162,11 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.53.5", ] [[package]] @@ -7530,37 +7175,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-link", ] [[package]] @@ -7581,18 +7196,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -7601,21 +7217,9 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -7624,21 +7228,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -7648,21 +7240,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -7672,9 +7252,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -7684,21 +7264,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -7708,21 +7276,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -7732,21 +7288,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -7756,21 +7300,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -7780,25 +7312,15 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" - -[[package]] -name = "winreg" -version = "0.50.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] +checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" [[package]] name = "wit-bindgen" @@ -7809,6 +7331,12 @@ dependencies = [ "wit-bindgen-rust-macro", ] +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -7820,15 +7348,6 @@ dependencies = [ "wit-parser", ] -[[package]] -name = "wit-bindgen-rt" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.11.1", -] - [[package]] name = "wit-bindgen-rust" version = "0.51.0" @@ -7837,7 +7356,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", - "indexmap 2.13.0", + "indexmap 2.14.0", "prettyplease", "syn", "wasm-metadata", @@ -7868,7 +7387,7 @@ checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", "bitflags 2.11.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "log", "serde", "serde_derive", @@ -7887,7 +7406,7 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap 2.13.0", + "indexmap 2.14.0", "log", "semver", "serde", @@ -7897,17 +7416,11 @@ dependencies = [ "wasmparser", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "x25519-dalek" @@ -7945,7 +7458,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d43b0f71ce057da06bc0851b23ee24f3f86190b07203dd8f567d0b706a185202" dependencies = [ - "asn1-rs 0.7.1", + "asn1-rs 0.7.2", "data-encoding", "der-parser 10.0.0", "lazy_static", @@ -7963,14 +7476,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.4", + "rustix", ] [[package]] name = "xml-rs" -version = "0.8.26" +version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] name = "xmltree" @@ -7992,22 +7505,22 @@ dependencies = [ "nohash-hasher", "parking_lot", "pin-project", - "rand 0.8.5", + "rand 0.8.6", "static_assertions", ] [[package]] name = "yamux" -version = "0.13.4" +version = "0.13.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17610762a1207ee816c6fadc29220904753648aba0a9ed61c7b8336e80a559c4" +checksum = "1991f6690292030e31b0144d73f5e8368936c58e45e7068254f7138b23b00672" dependencies = [ "futures", "log", "nohash-hasher", "parking_lot", "pin-project", - "rand 0.8.5", + "rand 0.9.4", "static_assertions", "web-time", ] @@ -8029,11 +7542,10 @@ checksum = "b5f6765e852b9b4dc8e2a76843e4d64d1cea8e79bcde0b6901aea8e7c7f08282" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -8041,9 +7553,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", @@ -8053,18 +7565,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.24" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" dependencies = [ "proc-macro2", "quote", @@ -8073,18 +7585,18 @@ dependencies = [ [[package]] name = "zerofrom" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", @@ -8103,20 +7615,31 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "zerotrie" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", @@ -8125,9 +7648,9 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", @@ -8136,13 +7659,13 @@ dependencies = [ [[package]] name = "zip" -version = "8.0.0" +version = "8.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b32dd4ad3aca14ae109f8cce0495ac1c57f6f4f00ad459a40e582f89440d97" +checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" dependencies = [ "crc32fast", "flate2", - "indexmap 2.13.0", + "indexmap 2.14.0", "memchr", "typed-path", "zopfli", @@ -8162,9 +7685,9 @@ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zopfli" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" dependencies = [ "bumpalo", "crc32fast", diff --git a/Cargo.toml b/Cargo.toml index cc78c79a0f7e..03fbe9749e59 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -137,9 +137,9 @@ multiaddr = "0.18.1" multihash = "0.19.5" multistream-select = { version = "0.14.0", path = "misc/multistream-select" } prometheus-client = "0.24" +rand = "0.10" quick-protobuf-codec = { version = "0.4.0", path = "misc/quick-protobuf-codec" } quickcheck = { package = "quickcheck-ext", path = "misc/quickcheck-ext" } -rand = "0.8.0" rcgen = "0.13" ring = "0.17.12" rw-stream-sink = { version = "0.5.0", path = "misc/rw-stream-sink" } diff --git a/examples/autonatv2/src/bin/autonatv2_client.rs b/examples/autonatv2/src/bin/autonatv2_client.rs index 4f4c4b408e3e..83bb52818419 100644 --- a/examples/autonatv2/src/bin/autonatv2_client.rs +++ b/examples/autonatv2/src/bin/autonatv2_client.rs @@ -10,7 +10,6 @@ use libp2p::{ swarm::{NetworkBehaviour, SwarmEvent, dial_opts::DialOpts}, tcp, yamux, }; -use rand::rngs::OsRng; use tracing_subscriber::EnvFilter; #[derive(Debug, Parser)] @@ -105,7 +104,6 @@ impl Behaviour { pub fn new(key: identity::PublicKey, probe_interval: u64) -> Self { Self { autonat: autonat::v2::client::Behaviour::new( - OsRng, autonat::v2::client::Config::default() .with_probe_interval(Duration::from_secs(probe_interval)), ), diff --git a/examples/autonatv2/src/bin/autonatv2_server.rs b/examples/autonatv2/src/bin/autonatv2_server.rs index 2fb1960fe39e..ed1d1a547b6b 100644 --- a/examples/autonatv2/src/bin/autonatv2_server.rs +++ b/examples/autonatv2/src/bin/autonatv2_server.rs @@ -11,7 +11,6 @@ use libp2p::{ swarm::{NetworkBehaviour, SwarmEvent}, tcp, yamux, }; -use rand::rngs::OsRng; #[derive(Debug, Parser)] #[command(name = "libp2p autonatv2 server")] @@ -91,7 +90,7 @@ pub struct Behaviour { impl Behaviour { pub fn new(key: identity::PublicKey) -> Self { Self { - autonat: autonat::v2::server::Behaviour::new(OsRng), + autonat: autonat::v2::server::Behaviour::new(), identify: identify::Behaviour::new(identify::Config::new("/ipfs/0.1.0".into(), key)), } } diff --git a/examples/browser-webrtc/src/main.rs b/examples/browser-webrtc/src/main.rs index 87741a4a65a3..05165a30a9f7 100644 --- a/examples/browser-webrtc/src/main.rs +++ b/examples/browser-webrtc/src/main.rs @@ -18,7 +18,6 @@ use libp2p::{ swarm::SwarmEvent, }; use libp2p_webrtc as webrtc; -use rand::thread_rng; use tokio::net::TcpListener; use tower_http::cors::{Any, CorsLayer}; @@ -33,7 +32,7 @@ async fn main() -> anyhow::Result<()> { .with_other_transport(|id_keys| { Ok(webrtc::tokio::Transport::new( id_keys.clone(), - webrtc::tokio::Certificate::generate(&mut thread_rng())?, + webrtc::tokio::Certificate::generate(&mut rand::rng())?, ) .map(|(peer_id, conn), _| (peer_id, StreamMuxerBox::new(conn)))) })? diff --git a/examples/stream/src/main.rs b/examples/stream/src/main.rs index b06676fb8873..d5acc949e2f0 100644 --- a/examples/stream/src/main.rs +++ b/examples/stream/src/main.rs @@ -4,7 +4,7 @@ use anyhow::{Context, Result}; use futures::{AsyncReadExt, AsyncWriteExt, StreamExt}; use libp2p::{Multiaddr, PeerId, Stream, StreamProtocol, multiaddr::Protocol}; use libp2p_stream as stream; -use rand::RngCore; +use rand::RngExt; use tracing::level_filters::LevelFilter; use tracing_subscriber::EnvFilter; @@ -137,10 +137,10 @@ async fn echo(mut stream: Stream) -> io::Result { } async fn send(mut stream: Stream) -> io::Result<()> { - let num_bytes = rand::random::() % 1000; + let num_bytes = rand::rng().random_range(0..1000); let mut bytes = vec![0; num_bytes]; - rand::thread_rng().fill_bytes(&mut bytes); + rand::fill(&mut bytes); stream.write_all(&bytes).await?; diff --git a/identity/src/ecdsa.rs b/identity/src/ecdsa.rs index 11cdaced795e..1ad3ae3a0307 100644 --- a/identity/src/ecdsa.rs +++ b/identity/src/ecdsa.rs @@ -28,6 +28,7 @@ use p256::{ signature::{Signer, Verifier}, Signature, SigningKey, VerifyingKey, }, + elliptic_curve::rand_core::OsRng, EncodedPoint, }; use sec1::{DecodeEcPrivateKey, EncodeEcPrivateKey}; @@ -96,7 +97,7 @@ impl SecretKey { /// Generate a new random ECDSA secret key. #[cfg(feature = "rand")] pub fn generate() -> SecretKey { - SecretKey(SigningKey::random(&mut rand::thread_rng())) + SecretKey(SigningKey::random(&mut OsRng)) } /// Sign a message with this secret key, producing a DER-encoded ECDSA signature. diff --git a/identity/src/ed25519.rs b/identity/src/ed25519.rs index ff1ff0823064..32ff73e103cf 100644 --- a/identity/src/ed25519.rs +++ b/identity/src/ed25519.rs @@ -184,10 +184,8 @@ impl SecretKey { /// Generate a new Ed25519 secret key. #[cfg(feature = "rand")] pub fn generate() -> SecretKey { - use rand::RngCore as _; - let mut secret = ed25519::SecretKey::default(); - rand::rngs::OsRng.fill_bytes(&mut secret); + rand::fill(&mut secret); SecretKey(secret) } diff --git a/identity/src/peer_id.rs b/identity/src/peer_id.rs index 7f6d1f44eab5..ef3d8a789744 100644 --- a/identity/src/peer_id.rs +++ b/identity/src/peer_id.rs @@ -20,8 +20,6 @@ use std::{fmt, str::FromStr}; -#[cfg(feature = "rand")] -use rand::Rng; use sha2::Digest as _; use thiserror::Error; @@ -106,7 +104,7 @@ impl PeerId { /// This is useful for randomly walking on a DHT, or for testing purposes. #[cfg(feature = "rand")] pub fn random() -> PeerId { - let peer_id = rand::thread_rng().gen::<[u8; 32]>(); + let peer_id: [u8; 32] = rand::random(); PeerId { multihash: Multihash::wrap(0x0, &peer_id).expect("The digest size is never too large"), } diff --git a/identity/src/secp256k1.rs b/identity/src/secp256k1.rs index c56b52f035e5..09828acbe277 100644 --- a/identity/src/secp256k1.rs +++ b/identity/src/secp256k1.rs @@ -25,6 +25,7 @@ use core::{cmp, fmt, hash}; use asn1_der::typed::{DerDecodable, Sequence}; use k256::{ ecdsa::Signature, + elliptic_curve::rand_core::OsRng, sha2::{Digest as ShaDigestTrait, Sha256}, ProjectivePoint, }; @@ -94,7 +95,7 @@ impl SecretKey { /// Generate a new random Secp256k1 secret key. #[cfg(feature = "rand")] pub fn generate() -> SecretKey { - SecretKey(k256::ecdsa::SigningKey::random(&mut rand::thread_rng())) + SecretKey(k256::ecdsa::SigningKey::random(&mut OsRng)) } /// Create a secret key from a byte slice, zeroing the slice on success. diff --git a/interop-tests/src/arch.rs b/interop-tests/src/arch.rs index 89330487d39d..892f85d4da1a 100644 --- a/interop-tests/src/arch.rs +++ b/interop-tests/src/arch.rs @@ -142,7 +142,7 @@ pub(crate) mod native { .with_other_transport(|key| { Ok(webrtc::tokio::Transport::new( key.clone(), - webrtc::tokio::Certificate::generate(&mut rand::thread_rng())?, + webrtc::tokio::Certificate::generate(&mut rand::rng())?, )) })? .with_behaviour(behaviour_constructor)? diff --git a/misc/connection-limits/src/lib.rs b/misc/connection-limits/src/lib.rs index c3cb369ce7b6..5421fc47d5fe 100644 --- a/misc/connection-limits/src/lib.rs +++ b/misc/connection-limits/src/lib.rs @@ -413,9 +413,9 @@ mod tests { use super::*; fn fill_outgoing() -> (Swarm, Multiaddr, u32) { - use rand::Rng; + use rand::RngExt; - let outgoing_limit = rand::thread_rng().gen_range(1..10); + let outgoing_limit = rand::rng().random_range(1..10); let mut network = Swarm::new_ephemeral_tokio(|_| { Behaviour::new( diff --git a/misc/webrtc-utils/src/sdp.rs b/misc/webrtc-utils/src/sdp.rs index 2be0ed76f298..056adff9bc28 100644 --- a/misc/webrtc-utils/src/sdp.rs +++ b/misc/webrtc-utils/src/sdp.rs @@ -20,7 +20,7 @@ // DEALINGS IN THE SOFTWARE. use std::net::{IpAddr, SocketAddr}; -use rand::{Rng, distributions::Alphanumeric, thread_rng}; +use rand::{RngExt, distr::Alphanumeric}; use serde::Serialize; use tinytemplate::TinyTemplate; @@ -149,7 +149,7 @@ pub fn render_description( pub fn random_ufrag() -> String { format!( "libp2p+webrtc+v1/{}", - thread_rng() + rand::rng() .sample_iter(&Alphanumeric) .take(64) .map(char::from) diff --git a/protocols/autonat/CHANGELOG.md b/protocols/autonat/CHANGELOG.md index 51e785f7f66e..c5d792fc799c 100644 --- a/protocols/autonat/CHANGELOG.md +++ b/protocols/autonat/CHANGELOG.md @@ -1,5 +1,11 @@ ## 0.16.0 +- Update to `rand` v0.10. + `OsRng` has been renamed to `SysRng` and no longer implements the `Rng` trait (only `TryRng`). + For simplicity, the generic RNG parameter has been removed from `v2::client::Behaviour` and `v2::server::Behaviour`. + The behaviours now use `rand::rng()` directly. + See [PR 6276](https://github.com/libp2p/rust-libp2p/pull/6276) + - refactor: `Codec` no longer requires `#[async_trait]` See [PR 6292](https://github.com/libp2p/rust-libp2p/pull/6292) diff --git a/protocols/autonat/Cargo.toml b/protocols/autonat/Cargo.toml index 3c058d0b2fd5..f1be557e0046 100644 --- a/protocols/autonat/Cargo.toml +++ b/protocols/autonat/Cargo.toml @@ -43,7 +43,7 @@ libp2p-swarm = { workspace = true, features = ["macros"] } [features] default = ["v1", "v2"] v1 = ["dep:libp2p-request-response", "dep:web-time"] -v2 = ["dep:either", "dep:futures-bounded", "dep:thiserror", "dep:rand_core"] +v2 = ["dep:either", "dep:futures-bounded", "dep:thiserror"] # Passing arguments to the docsrs builder in order to properly document cfg's. # More information: https://docs.rs/about/builds#cross-compiling diff --git a/protocols/autonat/src/v1/behaviour/as_client.rs b/protocols/autonat/src/v1/behaviour/as_client.rs index 81ad52e43cfe..800ed4020143 100644 --- a/protocols/autonat/src/v1/behaviour/as_client.rs +++ b/protocols/autonat/src/v1/behaviour/as_client.rs @@ -30,7 +30,7 @@ use libp2p_core::Multiaddr; use libp2p_identity::PeerId; use libp2p_request_response::{self as request_response, OutboundFailure, OutboundRequestId}; use libp2p_swarm::{ConnectionId, ListenAddresses, ToSwarm}; -use rand::{seq::SliceRandom, thread_rng}; +use rand::prelude::IndexedRandom; use web_time::Instant; use super::{ @@ -265,7 +265,7 @@ impl AsClient<'_> { servers.retain(|s| !self.throttled_servers.iter().any(|(id, _)| s == &id)); - servers.choose(&mut thread_rng()).map(|&&p| p) + servers.choose(&mut rand::rng()).map(|&&p| p) } // Send a dial-request to a randomly selected server. diff --git a/protocols/autonat/src/v2/client/behaviour.rs b/protocols/autonat/src/v2/client/behaviour.rs index 1d7f11e960f8..cf533682b85a 100644 --- a/protocols/autonat/src/v2/client/behaviour.rs +++ b/protocols/autonat/src/v2/client/behaviour.rs @@ -15,8 +15,7 @@ use libp2p_swarm::{ NetworkBehaviour, NewExternalAddrCandidate, NotifyHandler, ToSwarm, behaviour::ConnectionEstablished, }; -use rand::prelude::*; -use rand_core::OsRng; +use rand::prelude::IteratorRandom; use super::handler::{ dial_back::{self, IncomingNonce}, @@ -58,11 +57,7 @@ impl Default for Config { } } -pub struct Behaviour -where - R: RngCore + 'static, -{ - rng: R, +pub struct Behaviour { config: Config, pending_events: VecDeque< ToSwarm< @@ -75,10 +70,7 @@ where peer_info: HashMap, } -impl NetworkBehaviour for Behaviour -where - R: RngCore + 'static, -{ +impl NetworkBehaviour for Behaviour { type ConnectionHandler = Either; type ToSwarm = Event; @@ -266,13 +258,9 @@ where } } -impl Behaviour -where - R: RngCore + 'static, -{ - pub fn new(rng: R, config: Config) -> Self { +impl Behaviour { + pub fn new(config: Config) -> Self { Self { - rng, next_tick: Delay::new(config.probe_interval), config, pending_events: VecDeque::new(), @@ -294,7 +282,7 @@ where return; }; - let nonce = self.rng.r#gen(); + let nonce = rand::random(); self.address_candidates .get_mut(&addr) .expect("only emit candidates") @@ -315,7 +303,7 @@ where /// /// More frequently reported candidates are considered to more likely be external addresses and /// thus tested first. - fn untested_candidates(&self) -> impl Iterator + use { + fn untested_candidates(&self) -> impl Iterator + use<> { let mut entries = self .address_candidates .iter() @@ -343,7 +331,7 @@ where .peer_info .iter() .filter(|(_, info)| info.supports_autonat) - .choose(&mut self.rng)?; + .choose(&mut rand::rng())?; Some((*conn_id, info.peer_id)) } @@ -364,14 +352,14 @@ where #[doc(hidden)] pub fn validate_addr(&mut self, addr: &Multiaddr) { if let Some(info) = self.address_candidates.get_mut(addr) { - info.status = TestStatus::Received(self.rng.next_u64()); + info.status = TestStatus::Received(rand::random()); } } } -impl Default for Behaviour { +impl Default for Behaviour { fn default() -> Self { - Self::new(OsRng, Config::default()) + Self::new(Config::default()) } } diff --git a/protocols/autonat/src/v2/protocol.rs b/protocols/autonat/src/v2/protocol.rs index e20235d1ca72..f4038f9888f9 100644 --- a/protocols/autonat/src/v2/protocol.rs +++ b/protocols/autonat/src/v2/protocol.rs @@ -6,7 +6,7 @@ use asynchronous_codec::{Framed, FramedRead, FramedWrite}; use futures::{AsyncRead, AsyncWrite, SinkExt, StreamExt}; use libp2p_core::Multiaddr; use quick_protobuf_codec::Codec; -use rand::Rng; +use rand::RngExt; use crate::v2::{Nonce, generated::structs as proto}; @@ -237,8 +237,8 @@ impl From for proto::Message { } impl DialDataRequest { - pub(crate) fn from_rng(addr_idx: usize, mut rng: R) -> Self { - let num_bytes = rng.gen_range(DATA_LEN_LOWER_BOUND..=DATA_LEN_UPPER_BOUND); + pub(crate) fn from_rng(addr_idx: usize, mut rng: R) -> Self { + let num_bytes = rng.random_range(DATA_LEN_LOWER_BOUND..=DATA_LEN_UPPER_BOUND); Self { addr_idx, num_bytes, diff --git a/protocols/autonat/src/v2/server/behaviour.rs b/protocols/autonat/src/v2/server/behaviour.rs index b7a9b98d1415..cf6573c7e84a 100644 --- a/protocols/autonat/src/v2/server/behaviour.rs +++ b/protocols/autonat/src/v2/server/behaviour.rs @@ -13,17 +13,13 @@ use libp2p_swarm::{ dial_opts::{DialOpts, PeerCondition}, dummy, }; -use rand_core::{OsRng, RngCore}; use crate::v2::server::handler::{ Handler, dial_back, dial_request::{self, DialBackCommand, DialBackStatus}, }; -pub struct Behaviour -where - R: Clone + Send + RngCore + 'static, -{ +pub struct Behaviour { dialing_dial_back: HashMap, pending_events: VecDeque< ToSwarm< @@ -31,33 +27,25 @@ where <::ConnectionHandler as ConnectionHandler>::FromBehaviour, >, >, - rng: R, } -impl Default for Behaviour { +impl Default for Behaviour { fn default() -> Self { - Self::new(OsRng) + Self::new() } } -impl Behaviour -where - R: RngCore + Send + Clone + 'static, -{ - pub fn new(rng: R) -> Self { +impl Behaviour { + pub fn new() -> Self { Self { dialing_dial_back: HashMap::new(), pending_events: VecDeque::new(), - rng, } } } -impl NetworkBehaviour for Behaviour -where - R: RngCore + Send + Clone + 'static, -{ - type ConnectionHandler = Handler; +impl NetworkBehaviour for Behaviour { + type ConnectionHandler = Handler; type ToSwarm = Event; @@ -71,7 +59,6 @@ where Ok(Either::Right(dial_request::Handler::new( peer, remote_addr.clone(), - self.rng.clone(), ))) } @@ -103,7 +90,7 @@ where &mut self, peer_id: PeerId, _connection_id: ConnectionId, - event: as ConnectionHandler>::ToBehaviour, + event: ::ToBehaviour, ) { match event { Either::Left(Either::Left(Ok(_))) => {} @@ -131,7 +118,7 @@ where fn poll( &mut self, _cx: &mut Context<'_>, - ) -> Poll as ConnectionHandler>::FromBehaviour>> { + ) -> Poll::FromBehaviour>> { if let Some(event) = self.pending_events.pop_front() { return Poll::Ready(event); } diff --git a/protocols/autonat/src/v2/server/handler.rs b/protocols/autonat/src/v2/server/handler.rs index ffdad69c86f0..801d03dbfe88 100644 --- a/protocols/autonat/src/v2/server/handler.rs +++ b/protocols/autonat/src/v2/server/handler.rs @@ -4,5 +4,5 @@ use libp2p_swarm::dummy; pub(crate) mod dial_back; pub(crate) mod dial_request; -pub(crate) type Handler = - Either, dial_request::Handler>; +pub(crate) type Handler = + Either, dial_request::Handler>; diff --git a/protocols/autonat/src/v2/server/handler/dial_request.rs b/protocols/autonat/src/v2/server/handler/dial_request.rs index fe4e1da69b09..161e0b871ed7 100644 --- a/protocols/autonat/src/v2/server/handler/dial_request.rs +++ b/protocols/autonat/src/v2/server/handler/dial_request.rs @@ -20,7 +20,6 @@ use libp2p_swarm::{ ConnectionHandler, ConnectionHandlerEvent, StreamProtocol, SubstreamProtocol, handler::{ConnectionEvent, FullyNegotiatedInbound, ListenUpgradeError}, }; -use rand_core::RngCore; use crate::v2::{ DIAL_REQUEST_PROTOCOL, Nonce, @@ -44,20 +43,16 @@ pub struct DialBackCommand { pub(crate) back_channel: oneshot::Sender>, } -pub struct Handler { +pub struct Handler { client_id: PeerId, observed_multiaddr: Multiaddr, dial_back_cmd_sender: mpsc::Sender, dial_back_cmd_receiver: mpsc::Receiver, inbound: FuturesSet, - rng: R, } -impl Handler -where - R: RngCore, -{ - pub(crate) fn new(client_id: PeerId, observed_multiaddr: Multiaddr, rng: R) -> Self { +impl Handler { + pub(crate) fn new(client_id: PeerId, observed_multiaddr: Multiaddr) -> Self { let (dial_back_cmd_sender, dial_back_cmd_receiver) = mpsc::channel(10); Self { client_id, @@ -68,15 +63,11 @@ where || futures_bounded::Delay::tokio(Duration::from_secs(10)), 10, ), - rng, } } } -impl ConnectionHandler for Handler -where - R: RngCore + Send + Clone + 'static, -{ +impl ConnectionHandler for Handler { type FromBehaviour = Infallible; type ToBehaviour = Either; type InboundProtocol = ReadyUpgrade; @@ -132,7 +123,7 @@ where self.observed_multiaddr.clone(), self.client_id, self.dial_back_cmd_sender.clone(), - self.rng.clone(), + DialDataRequest::from_rng(0, &mut rand::rng()).num_bytes, )) .is_err() { @@ -195,7 +186,7 @@ async fn handle_request( observed_multiaddr: Multiaddr, client: PeerId, dial_back_cmd_sender: mpsc::Sender, - rng: impl RngCore, + dial_data_num_bytes: usize, ) -> Event { let mut coder = Coder::new(stream); let mut all_addrs = Vec::new(); @@ -205,7 +196,7 @@ async fn handle_request( &mut coder, observed_multiaddr.clone(), dial_back_cmd_sender, - rng, + dial_data_num_bytes, &mut all_addrs, &mut tested_addr_opt, &mut data_amount, @@ -254,7 +245,7 @@ async fn handle_request_internal( coder: &mut Coder, observed_multiaddr: Multiaddr, dial_back_cmd_sender: mpsc::Sender, - mut rng: impl RngCore, + dial_data_num_bytes: usize, all_addrs: &mut Vec, tested_addrs: &mut Option, data_amount: &mut usize, @@ -278,7 +269,10 @@ where *tested_addrs = Some(addr.clone()); *data_amount = 0; if addr != observed_multiaddr { - let dial_data_request = DialDataRequest::from_rng(idx, &mut rng); + let dial_data_request = DialDataRequest { + addr_idx: idx, + num_bytes: dial_data_num_bytes, + }; let mut rem_data = dial_data_request.num_bytes; coder .send(Response::Data(dial_data_request)) diff --git a/protocols/autonat/tests/autonatv2.rs b/protocols/autonat/tests/autonatv2.rs index 123b62b55743..c4707b1784c2 100644 --- a/protocols/autonat/tests/autonatv2.rs +++ b/protocols/autonat/tests/autonatv2.rs @@ -9,7 +9,6 @@ use libp2p_swarm::{ DialError, FromSwarm, NetworkBehaviour, NewExternalAddrCandidate, Swarm, SwarmEvent, }; use libp2p_swarm_test::SwarmExt; -use rand_core::OsRng; use tokio::sync::oneshot; use tracing_subscriber::EnvFilter; @@ -429,7 +428,6 @@ async fn new_server() -> Swarm { async fn new_client() -> Swarm { let mut node = Swarm::new_ephemeral_tokio(|identity| CombinedClient { autonat: libp2p_autonat::v2::client::Behaviour::new( - OsRng, Config::default().with_probe_interval(Duration::from_millis(100)), ), identify: libp2p_identify::Behaviour::new(libp2p_identify::Config::new( diff --git a/protocols/gossipsub/src/behaviour.rs b/protocols/gossipsub/src/behaviour.rs index d26125671b8f..e257d6f208de 100644 --- a/protocols/gossipsub/src/behaviour.rs +++ b/protocols/gossipsub/src/behaviour.rs @@ -49,8 +49,8 @@ use libp2p_swarm::{ use prometheus_client::registry::Registry; use quick_protobuf::{MessageWrite, Writer}; use rand::{ + rng, seq::{IteratorRandom, SliceRandom}, - thread_rng, }; use web_time::{Instant, SystemTime}; @@ -804,7 +804,7 @@ where .filter(|peer_id| { !mesh_peers.contains(peer_id) && !recipients.contains(peer_id) }) - .choose_multiple(&mut thread_rng(), needed_extra_peers); + .sample(&mut rng(), needed_extra_peers); tracing::debug!("RANDOM PEERS: Got {:?} peers", extras.len()); recipients.extend(extras); @@ -834,7 +834,7 @@ where let new_peers = candidates .into_iter() .filter(|peer_id| !recipients.contains(peer_id)) - .choose_multiple(&mut thread_rng(), needed_extra_peers); + .sample(&mut rng(), needed_extra_peers); tracing::debug!("RANDOM PEERS: Got {:?} peers", new_peers.len()); tracing::debug!(?new_peers, "Peers added to fanout"); @@ -1425,8 +1425,7 @@ where // Ask in random order let mut iwant_ids_vec: Vec<_> = iwant_ids.into_iter().collect(); - let mut rng = thread_rng(); - iwant_ids_vec.partial_shuffle(&mut rng, iask); + iwant_ids_vec.partial_shuffle(&mut rng(), iask); iwant_ids_vec.truncate(iask); *iasked += iask; @@ -1811,8 +1810,7 @@ where px.retain(|p| p.peer_id.is_some()); if px.len() > n { // only use at most prune_peers many random peers - let mut rng = thread_rng(); - px.partial_shuffle(&mut rng, n); + px.partial_shuffle(&mut rng(), n); px = px.into_iter().take(n).collect(); } @@ -2430,7 +2428,7 @@ where let excess_peer_no = peers.len() - mesh_n; // shuffle the peers and then sort by score ascending beginning with the worst - let mut rng = thread_rng(); + let mut rng = rng(); let mut shuffled = peers.iter().copied().collect::>(); shuffled.shuffle(&mut rng); shuffled.sort_by(|p1, p2| { @@ -2788,7 +2786,7 @@ where /// Emits gossip - Send IHAVE messages to a random set of gossip peers. This is applied to mesh /// and fanout peers fn emit_gossip(&mut self) { - let mut rng = thread_rng(); + let mut rng = rng(); let mut messages = Vec::new(); for (topic_hash, peers) in self.mesh.iter().chain(self.fanout.iter()) { let mut message_ids = self.mcache.get_gossip_message_ids(topic_hash); @@ -3859,8 +3857,7 @@ fn get_random_peers_dynamic( } // we have more peers than needed, shuffle them and return n of them - let mut rng = thread_rng(); - gossip_peers.partial_shuffle(&mut rng, n); + gossip_peers.partial_shuffle(&mut rng(), n); tracing::debug!("RANDOM PEERS: Got {:?} peers", n); diff --git a/protocols/gossipsub/src/behaviour/tests/mod.rs b/protocols/gossipsub/src/behaviour/tests/mod.rs index 3ec70a248c66..ba1106d0185c 100644 --- a/protocols/gossipsub/src/behaviour/tests/mod.rs +++ b/protocols/gossipsub/src/behaviour/tests/mod.rs @@ -49,7 +49,7 @@ use std::collections::HashMap; use byteorder::{BigEndian, ByteOrder}; use hashlink::LinkedHashMap; use libp2p_core::ConnectedPoint; -use rand::Rng; +use rand::RngExt; use super::*; use crate::{ @@ -641,13 +641,15 @@ pub(super) fn flush_events( /// * `seq` - Mutable sequence counter (incremented each call) /// * `topics` - Pool of topics to randomly select from pub(super) fn random_message(seq: &mut u64, topics: &[TopicHash]) -> RawMessage { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); *seq += 1; RawMessage { source: Some(PeerId::random()), - data: (0..rng.gen_range(10..10024)).map(|_| rng.r#gen()).collect(), + data: (0..rng.random_range(10..10024)) + .map(|_| rng.random()) + .collect(), sequence_number: Some(*seq), - topic: topics[rng.gen_range(0..topics.len())].clone(), + topic: topics[rng.random_range(0..topics.len())].clone(), signature: None, key: None, validated: true, diff --git a/protocols/gossipsub/src/extensions/partial_messages.rs b/protocols/gossipsub/src/extensions/partial_messages.rs index 9ce7b1c8936d..9f010a7e6c81 100644 --- a/protocols/gossipsub/src/extensions/partial_messages.rs +++ b/protocols/gossipsub/src/extensions/partial_messages.rs @@ -233,7 +233,7 @@ impl State { ); let to_msg_peers = eligible_peers .into_iter() - .choose_multiple(&mut rand::thread_rng(), gossip_amp); + .sample(&mut rand::rng(), gossip_amp); for (peer_id, remote_subscription) in to_msg_peers { let mut num_messages = 0; diff --git a/protocols/gossipsub/src/rpc_proto.rs b/protocols/gossipsub/src/rpc_proto.rs index 53f5ef6ec922..a5001e9d45db 100644 --- a/protocols/gossipsub/src/rpc_proto.rs +++ b/protocols/gossipsub/src/rpc_proto.rs @@ -28,7 +28,7 @@ pub(crate) mod proto { mod test { use libp2p_identity::PeerId; use quick_protobuf::{BytesReader, MessageRead, MessageWrite, Writer}; - use rand::Rng; + use rand::RngExt; use crate::{IdentTopic as Topic, rpc_proto::proto::compat}; @@ -39,27 +39,27 @@ mod test { let new_message1 = super::proto::Message { from: Some(PeerId::random().to_bytes()), - data: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), - seqno: Some(rand::thread_rng().r#gen::<[u8; 8]>().to_vec()), + data: Some(rand::rng().random::<[u8; 32]>().to_vec()), + seqno: Some(rand::rng().random::<[u8; 8]>().to_vec()), topic: topic1.clone().into_string(), - signature: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), - key: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), + signature: Some(rand::rng().random::<[u8; 32]>().to_vec()), + key: Some(rand::rng().random::<[u8; 32]>().to_vec()), }; let old_message1 = compat::pb::Message { from: Some(PeerId::random().to_bytes()), - data: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), - seqno: Some(rand::thread_rng().r#gen::<[u8; 8]>().to_vec()), + data: Some(rand::rng().random::<[u8; 32]>().to_vec()), + seqno: Some(rand::rng().random::<[u8; 8]>().to_vec()), topic_ids: vec![topic1.clone().into_string()], - signature: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), - key: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), + signature: Some(rand::rng().random::<[u8; 32]>().to_vec()), + key: Some(rand::rng().random::<[u8; 32]>().to_vec()), }; let old_message2 = compat::pb::Message { from: Some(PeerId::random().to_bytes()), - data: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), - seqno: Some(rand::thread_rng().r#gen::<[u8; 8]>().to_vec()), + data: Some(rand::rng().random::<[u8; 32]>().to_vec()), + seqno: Some(rand::rng().random::<[u8; 8]>().to_vec()), topic_ids: vec![topic1.clone().into_string(), topic2.clone().into_string()], - signature: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), - key: Some(rand::thread_rng().r#gen::<[u8; 32]>().to_vec()), + signature: Some(rand::rng().random::<[u8; 32]>().to_vec()), + key: Some(rand::rng().random::<[u8; 32]>().to_vec()), }; let mut new_message1b = Vec::with_capacity(new_message1.get_size()); diff --git a/protocols/gossipsub/tests/smoke.rs b/protocols/gossipsub/tests/smoke.rs index 32a5f7a0bec1..61e6f5f409bd 100644 --- a/protocols/gossipsub/tests/smoke.rs +++ b/protocols/gossipsub/tests/smoke.rs @@ -29,7 +29,7 @@ use libp2p_gossipsub::{MessageAuthenticity, ValidationMode}; use libp2p_swarm::Swarm; use libp2p_swarm_test::SwarmExt as _; use quickcheck::{QuickCheck, TestResult}; -use rand::{SeedableRng, seq::SliceRandom}; +use rand::{SeedableRng, seq::IndexedMutRandom}; use tokio::{runtime::Runtime, time}; use tracing_subscriber::EnvFilter; diff --git a/protocols/kad/src/behaviour/test.rs b/protocols/kad/src/behaviour/test.rs index 1ad415afbcb0..5ef47fe9860c 100644 --- a/protocols/kad/src/behaviour/test.rs +++ b/protocols/kad/src/behaviour/test.rs @@ -34,7 +34,7 @@ use libp2p_noise as noise; use libp2p_swarm::{self as swarm, Swarm, SwarmEvent}; use libp2p_yamux as yamux; use quickcheck::*; -use rand::{Rng, SeedableRng, random, rngs::StdRng, thread_rng}; +use rand::{Rng, RngExt, SeedableRng, random, rngs::StdRng}; use tokio::runtime::Runtime; use super::*; @@ -139,7 +139,7 @@ fn build_fully_connected_nodes_with_config( } fn random_multihash() -> Multihash<64> { - Multihash::wrap(SHA_256_MH, &thread_rng().r#gen::<[u8; 32]>()).unwrap() + Multihash::wrap(SHA_256_MH, &rand::random::<[u8; 32]>()).unwrap() } #[derive(Clone, Debug)] @@ -157,21 +157,21 @@ fn bootstrap() { fn prop(seed: Seed) { let mut rng = StdRng::from_seed(seed.0); - let num_total = rng.gen_range(2..20); + let num_total = rng.random_range(2..20); // When looking for the closest node to a key, Kademlia considers // K_VALUE nodes to query at initialization. If `num_group` is larger // than K_VALUE the remaining locally known nodes will not be // considered. Given that no other node is aware of them, they would be // lost entirely. To prevent the above restrict `num_group` to be equal // or smaller than K_VALUE. - let num_group = rng.gen_range(1..(num_total % K_VALUE.get()) + 2); + let num_group = rng.random_range(1..(num_total % K_VALUE.get()) + 2); let mut cfg = Config::new(PROTOCOL_NAME); // Disabling periodic bootstrap and automatic bootstrap to prevent the bootstrap from // triggering automatically. cfg.set_periodic_bootstrap_interval(None); cfg.set_automatic_bootstrap_throttle(None); - if rng.r#gen() { + if rng.random() { cfg.disjoint_query_paths(true); } @@ -249,7 +249,7 @@ fn query_iter() { } fn run(rng: &mut impl Rng) { - let num_total = rng.gen_range(2..20); + let num_total = rng.random_range(2..20); let mut config = Config::new(PROTOCOL_NAME); // Disabling periodic bootstrap and automatic bootstrap to prevent the bootstrap from // triggering automatically. @@ -319,7 +319,7 @@ fn query_iter() { })) } - let mut rng = thread_rng(); + let mut rng = rand::rng(); for _ in 0..10 { run(&mut rng) } @@ -566,7 +566,7 @@ fn put_record() { fn prop(records: Vec, seed: Seed, filter_records: bool, drop_records: bool) { let mut rng = StdRng::from_seed(seed.0); let replication_factor = - NonZeroUsize::new(rng.gen_range(1..(K_VALUE.get() / 2) + 1)).unwrap(); + NonZeroUsize::new(rng.random_range(1..(K_VALUE.get() / 2) + 1)).unwrap(); // At least 4 nodes, 1 under test + 3 bootnodes. let num_total = usize::max(4, replication_factor.get() * 2); @@ -576,7 +576,7 @@ fn put_record() { // triggering automatically. config.set_periodic_bootstrap_interval(None); config.set_automatic_bootstrap_throttle(None); - if rng.r#gen() { + if rng.random() { config.disjoint_query_paths(true); } @@ -945,7 +945,7 @@ fn add_provider() { fn prop(keys: Vec, seed: Seed) { let mut rng = StdRng::from_seed(seed.0); let replication_factor = - NonZeroUsize::new(rng.gen_range(1..(K_VALUE.get() / 2) + 1)).unwrap(); + NonZeroUsize::new(rng.random_range(1..(K_VALUE.get() / 2) + 1)).unwrap(); // At least 4 nodes, 1 under test + 3 bootnodes. let num_total = usize::max(4, replication_factor.get() * 2); @@ -955,7 +955,7 @@ fn add_provider() { // triggering automatically. config.set_periodic_bootstrap_interval(None); config.set_automatic_bootstrap_throttle(None); - if rng.r#gen() { + if rng.random() { config.disjoint_query_paths(true); } @@ -1194,7 +1194,7 @@ fn disjoint_query_does_not_finish_before_all_paths_did() { let mut bob = build_node(); let key = Key::from( - Multihash::<64>::wrap(SHA_256_MH, &thread_rng().r#gen::<[u8; 32]>()) + Multihash::<64>::wrap(SHA_256_MH, &rand::random::<[u8; 32]>()) .expect("32 array to fit into 64 byte multihash"), ); let record_bob = Record::new(key.clone(), b"bob".to_vec()); diff --git a/protocols/kad/src/jobs.rs b/protocols/kad/src/jobs.rs index 37b21d37f2ef..21dfa45d460e 100644 --- a/protocols/kad/src/jobs.rs +++ b/protocols/kad/src/jobs.rs @@ -339,23 +339,23 @@ impl AddProviderJob { mod tests { use futures::{executor::block_on, future::poll_fn}; use quickcheck::*; - use rand::Rng; + use rand::RngExt; use super::*; use crate::record::store::MemoryStore; fn rand_put_record_job() -> PutRecordJob { - let mut rng = rand::thread_rng(); + let mut rng = rand::rng(); let id = PeerId::random(); - let replicate_interval = Duration::from_secs(rng.gen_range(1..60)); - let publish_interval = Some(replicate_interval * rng.gen_range(1..10)); - let record_ttl = Some(Duration::from_secs(rng.gen_range(1..600))); + let replicate_interval = Duration::from_secs(rng.random_range(1..60)); + let publish_interval = Some(replicate_interval * rng.random_range(1..10)); + let record_ttl = Some(Duration::from_secs(rng.random_range(1..600))); PutRecordJob::new(id, replicate_interval, publish_interval, record_ttl) } fn rand_add_provider_job() -> AddProviderJob { - let mut rng = rand::thread_rng(); - let interval = Duration::from_secs(rng.gen_range(1..60)); + let mut rng = rand::rng(); + let interval = Duration::from_secs(rng.random_range(1..60)); AddProviderJob::new(interval) } diff --git a/protocols/kad/src/kbucket.rs b/protocols/kad/src/kbucket.rs index 9967c89c8e7c..a86bed861bb6 100644 --- a/protocols/kad/src/kbucket.rs +++ b/protocols/kad/src/kbucket.rs @@ -77,6 +77,7 @@ use std::{collections::VecDeque, num::NonZeroUsize, time::Duration}; use bucket::KBucket; pub use bucket::NodeStatus; pub use entry::*; +use rand::RngExt; use smallvec::SmallVec; use web_time::Instant; @@ -170,12 +171,12 @@ impl BucketIndex { let mut bytes = [0u8; 32]; let quot = self.0 / 8; for i in 0..quot { - bytes[31 - i] = rng.r#gen(); + bytes[31 - i] = rng.random(); } let rem = (self.0 % 8) as u32; let lower = usize::pow(2, rem); let upper = usize::pow(2, rem + 1); - bytes[31 - quot] = rng.gen_range(lower..upper) as u8; + bytes[31 - quot] = rng.random_range(lower..upper) as u8; Distance(U256::from_big_endian(bytes.as_slice())) } } @@ -615,7 +616,7 @@ mod tests { let num = g.gen_range(0..usize::min(bucket_size, num_total) + 1); num_total -= num; for _ in 0..num { - let distance = ix.rand_distance(&mut rand::thread_rng()); + let distance = ix.rand_distance(&mut rand::rng()); let key = local_key.for_distance(distance); let node = Node { key, value: () }; let status = NodeStatus::arbitrary(g); @@ -684,7 +685,7 @@ mod tests { #[test] fn rand_distance() { fn prop(ix: u8) -> bool { - let d = BucketIndex(ix as usize).rand_distance(&mut rand::thread_rng()); + let d = BucketIndex(ix as usize).rand_distance(&mut rand::rng()); let n = d.0; let b = U256::from(2); let e = U256::from(ix); diff --git a/protocols/kad/src/query/peers/closest.rs b/protocols/kad/src/query/peers/closest.rs index d781709d1d46..ae94977b29ee 100644 --- a/protocols/kad/src/query/peers/closest.rs +++ b/protocols/kad/src/query/peers/closest.rs @@ -504,7 +504,7 @@ mod tests { use libp2p_core::multihash::Multihash; use quickcheck::*; - use rand::{Rng, SeedableRng, rngs::StdRng}; + use rand::{Rng, RngExt, SeedableRng, rngs::StdRng}; use super::*; use crate::SHA_256_MH; @@ -512,8 +512,10 @@ mod tests { fn random_peers(n: usize, g: &mut R) -> Vec { (0..n) .map(|_| { - PeerId::from_multihash(Multihash::wrap(SHA_256_MH, &g.r#gen::<[u8; 32]>()).unwrap()) - .unwrap() + PeerId::from_multihash( + Multihash::wrap(SHA_256_MH, &g.random::<[u8; 32]>()).unwrap(), + ) + .unwrap() }) .collect() } @@ -645,8 +647,8 @@ mod tests { // Report results back to the iterator with a random number of "closer" // peers or an error, thus finishing the "in-flight requests". for (i, k) in expected.iter().enumerate() { - if rng.gen_bool(0.75) { - let num_closer = rng.gen_range(0..iter.config.num_results.get() + 1); + if rng.random_bool(0.75) { + let num_closer = rng.random_range(0..iter.config.num_results.get() + 1); let closer_peers = random_peers(num_closer, &mut rng); remaining.extend(closer_peers.iter().cloned().map(Key::from)); iter.on_success(k.preimage(), closer_peers); diff --git a/protocols/kad/src/record/store/memory.rs b/protocols/kad/src/record/store/memory.rs index ed36f13b1f0b..074c49d318df 100644 --- a/protocols/kad/src/record/store/memory.rs +++ b/protocols/kad/src/record/store/memory.rs @@ -212,13 +212,12 @@ impl RecordStore for MemoryStore { #[cfg(test)] mod tests { use quickcheck::*; - use rand::Rng; use super::*; use crate::SHA_256_MH; fn random_multihash() -> Multihash<64> { - Multihash::wrap(SHA_256_MH, &rand::thread_rng().r#gen::<[u8; 32]>()).unwrap() + Multihash::wrap(SHA_256_MH, &rand::random::<[u8; 32]>()).unwrap() } #[test] fn put_get_remove_record() { diff --git a/protocols/mdns/src/behaviour/iface.rs b/protocols/mdns/src/behaviour/iface.rs index 7ddef6c911cd..284d419662d0 100644 --- a/protocols/mdns/src/behaviour/iface.rs +++ b/protocols/mdns/src/behaviour/iface.rs @@ -161,9 +161,9 @@ where // randomize timer to prevent all converging and firing at the same time. let query_interval = { - use rand::Rng; - let mut rng = rand::thread_rng(); - let jitter = rng.gen_range(0..100); + use rand::RngExt; + let mut rng = rand::rng(); + let jitter = rng.random_range(0..100); config.query_interval + Duration::from_millis(jitter) }; let multicast_addr = match addr { diff --git a/protocols/mdns/src/behaviour/iface/dns.rs b/protocols/mdns/src/behaviour/iface/dns.rs index 9aa35905c810..248c62231630 100644 --- a/protocols/mdns/src/behaviour/iface/dns.rs +++ b/protocols/mdns/src/behaviour/iface/dns.rs @@ -24,7 +24,7 @@ use std::{borrow::Cow, cmp, error, fmt, str, time::Duration}; use libp2p_core::Multiaddr; use libp2p_identity::PeerId; -use rand::{Rng, distributions::Alphanumeric, thread_rng}; +use rand::{RngExt, distr::Alphanumeric}; use crate::{META_QUERY_SERVICE, SERVICE_NAME}; @@ -267,7 +267,7 @@ fn append_u16(out: &mut Vec, value: u16) { /// Generates and returns a random alphanumeric string of `length` size. fn random_string(length: usize) -> String { - thread_rng() + rand::rng() .sample_iter(&Alphanumeric) .take(length) .map(char::from) @@ -278,7 +278,7 @@ fn random_string(length: usize) -> String { fn generate_peer_name() -> Vec { // Use a variable-length random string for mDNS peer name. // See https://github.com/libp2p/rust-libp2p/pull/2311/ - let peer_name = random_string(32 + thread_rng().gen_range(0..32)); + let peer_name = random_string(32 + rand::rng().random_range(0..32)); // allocate with a little extra padding for QNAME encoding let mut peer_name_bytes = Vec::with_capacity(peer_name.len() + 32); @@ -429,7 +429,7 @@ mod tests { #[test] fn test_random_string() { - let varsize = thread_rng().gen_range(0..32); + let varsize = rand::rng().random_range(0..32); let size = 32 + varsize; let name = random_string(size); assert_eq!(name.len(), size); diff --git a/protocols/ping/src/protocol.rs b/protocols/ping/src/protocol.rs index 02dab4da66c9..94cf6f1148bd 100644 --- a/protocols/ping/src/protocol.rs +++ b/protocols/ping/src/protocol.rs @@ -22,7 +22,6 @@ use std::{io, time::Duration}; use futures::prelude::*; use libp2p_swarm::StreamProtocol; -use rand::{distributions, prelude::*}; use web_time::Instant; pub const PROTOCOL_NAME: StreamProtocol = StreamProtocol::new("/ipfs/ping/1.0.0"); @@ -52,7 +51,7 @@ pub(crate) async fn send_ping(mut stream: S) -> io::Result<(S, Duration)> where S: AsyncRead + AsyncWrite + Unpin, { - let payload: [u8; PING_SIZE] = thread_rng().sample(distributions::Standard); + let payload: [u8; PING_SIZE] = rand::random(); stream.write_all(&payload).await?; stream.flush().await?; let started = Instant::now(); @@ -93,7 +92,7 @@ mod tests { #[tokio::test] async fn ping_pong() { - let mem_addr = multiaddr![Memory(thread_rng().r#gen::())]; + let mem_addr = multiaddr![Memory(rand::random::())]; let mut transport = MemoryTransport::new().boxed(); transport.listen_on(ListenerId::next(), mem_addr).unwrap(); diff --git a/protocols/rendezvous/src/codec.rs b/protocols/rendezvous/src/codec.rs index 264afa3a92e4..dd1200ba91a4 100644 --- a/protocols/rendezvous/src/codec.rs +++ b/protocols/rendezvous/src/codec.rs @@ -25,7 +25,6 @@ use futures::{AsyncRead, AsyncWrite, SinkExt, StreamExt}; use libp2p_core::{PeerRecord, SignedEnvelope, peer_record, signed_envelope}; use libp2p_swarm::StreamProtocol; use quick_protobuf_codec::Codec as ProtobufCodec; -use rand::RngCore; use crate::DEFAULT_TTL; @@ -115,7 +114,7 @@ impl Cookie { /// namespace. pub fn for_namespace(namespace: Namespace) -> Self { Self { - id: rand::thread_rng().next_u64(), + id: rand::random(), namespace: Some(namespace), } } diff --git a/protocols/request-response/tests/ping.rs b/protocols/request-response/tests/ping.rs index 72690dc1474f..378e34d0e30b 100644 --- a/protocols/request-response/tests/ping.rs +++ b/protocols/request-response/tests/ping.rs @@ -28,7 +28,7 @@ use libp2p_request_response as request_response; use libp2p_request_response::ProtocolSupport; use libp2p_swarm::{StreamProtocol, Swarm, SwarmEvent}; use libp2p_swarm_test::SwarmExt; -use rand::Rng; +use rand::RngExt; use serde::{Deserialize, Serialize}; use tracing_subscriber::EnvFilter; @@ -138,7 +138,7 @@ async fn ping_protocol() { } }; - let num_pings: u8 = rand::thread_rng().gen_range(1..100); + let num_pings: u8 = rand::rng().random_range(1..100); let peer2 = async { let mut count = 0; @@ -478,7 +478,7 @@ async fn concurrent_ping_protocol() { let peer2 = async { let mut count = 0; - let num_pings: u8 = rand::thread_rng().gen_range(1..100); + let num_pings: u8 = rand::rng().random_range(1..100); let mut expected_pongs = HashMap::new(); for i in 0..num_pings { let ping_bytes = vec![i]; diff --git a/protocols/stream/src/shared.rs b/protocols/stream/src/shared.rs index d75f0504689a..8da64533a5b3 100644 --- a/protocols/stream/src/shared.rs +++ b/protocols/stream/src/shared.rs @@ -127,7 +127,7 @@ impl Shared { .connections .iter() .filter_map(|(c, p)| (p == &peer).then_some(c)) - .choose(&mut rand::thread_rng()) + .choose(&mut rand::rng()) .and_then(|c| self.senders.get(c)); match maybe_sender { diff --git a/swarm/src/behaviour/external_addresses.rs b/swarm/src/behaviour/external_addresses.rs index 30bf2515775b..b9a016918607 100644 --- a/swarm/src/behaviour/external_addresses.rs +++ b/swarm/src/behaviour/external_addresses.rs @@ -89,7 +89,7 @@ mod tests { use std::sync::LazyLock; use libp2p_core::multiaddr::Protocol; - use rand::Rng; + use rand::RngExt; use super::*; @@ -135,7 +135,7 @@ mod tests { while addresses.as_slice().len() < MAX_LOCAL_EXTERNAL_ADDRS { let random_address = - Multiaddr::empty().with(Protocol::Memory(rand::thread_rng().gen_range(0..1000))); + Multiaddr::empty().with(Protocol::Memory(rand::rng().random_range(0..1000))); addresses.on_swarm_event(&FromSwarm::ExternalAddrConfirmed(ExternalAddrConfirmed { addr: &random_address, })); diff --git a/swarm/src/handler/multi.rs b/swarm/src/handler/multi.rs index 9fe4afdf61a6..10d2a9a40837 100644 --- a/swarm/src/handler/multi.rs +++ b/swarm/src/handler/multi.rs @@ -33,7 +33,7 @@ use std::{ }; use futures::{future::BoxFuture, prelude::*, ready}; -use rand::Rng; +use rand::RngExt; use crate::{ Stream, @@ -247,7 +247,7 @@ where ) -> Poll< ConnectionHandlerEvent, > { - // Calling `gen_range(0, 0)` (see below) would panic, so we have return early to avoid + // Calling `random_range(0, 0)` (see below) would panic, so we have return early to avoid // that situation. if self.handlers.is_empty() { return Poll::Pending; @@ -255,7 +255,7 @@ where // Not always polling handlers in the same order // should give anyone the chance to make progress. - let pos = rand::thread_rng().gen_range(0..self.handlers.len()); + let pos = rand::rng().random_range(0..self.handlers.len()); for (k, h) in self.handlers.iter_mut().skip(pos) { if let Poll::Ready(e) = h.poll(cx) { diff --git a/transports/noise/Cargo.toml b/transports/noise/Cargo.toml index da1f245265d2..715512d52a4b 100644 --- a/transports/noise/Cargo.toml +++ b/transports/noise/Cargo.toml @@ -18,6 +18,7 @@ multiaddr = { workspace = true } multihash = { workspace = true } quick-protobuf = "0.8" rand = { workspace = true } +rand_core = "0.10.0" static_assertions = "1" thiserror = { workspace = true } tracing = { workspace = true } @@ -25,10 +26,10 @@ x25519-dalek = "2" zeroize = "1" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -snow = { version = "0.9.6", features = ["ring-resolver"], default-features = false } +snow = { version = "0.10.0", features = ["ring-resolver"], default-features = false } [target.'cfg(target_arch = "wasm32")'.dependencies] -snow = { version = "0.9.5", features = ["default-resolver"], default-features = false } +snow = { version = "0.10.0", features = ["default-resolver-crypto"], default-features = false } [dev-dependencies] futures_ringbuf = "0.4.0" diff --git a/transports/noise/src/lib.rs b/transports/noise/src/lib.rs index 06c00baf297a..296c40400b7f 100644 --- a/transports/noise/src/lib.rs +++ b/transports/noise/src/lib.rs @@ -132,7 +132,7 @@ impl Config { &self.prologue, self.dh_keys.keypair.secret(), None, - ) + )? .build_responder()?; let state = State::new( @@ -152,7 +152,7 @@ impl Config { &self.prologue, self.dh_keys.keypair.secret(), None, - ) + )? .build_initiator()?; let state = State::new( diff --git a/transports/noise/src/protocol.rs b/transports/noise/src/protocol.rs index f604e908418e..ea86d496991d 100644 --- a/transports/noise/src/protocol.rs +++ b/transports/noise/src/protocol.rs @@ -23,7 +23,7 @@ use std::sync::LazyLock; use libp2p_identity as identity; -use rand::{Rng as _, SeedableRng}; +use rand::TryRng; use snow::params::NoiseParams; use x25519_dalek::{X25519_BASEPOINT_BYTES, x25519}; use zeroize::Zeroize; @@ -44,16 +44,16 @@ pub(crate) fn noise_params_into_builder<'b>( prologue: &'b [u8], private_key: &'b SecretKey, remote_public_key: Option<&'b PublicKey>, -) -> snow::Builder<'b> { +) -> Result, snow::Error> { let mut builder = snow::Builder::with_resolver(params, Box::new(Resolver)) - .prologue(prologue.as_ref()) - .local_private_key(private_key.as_ref()); + .prologue(prologue.as_ref())? + .local_private_key(private_key.as_ref())?; if let Some(remote_public_key) = remote_public_key { - builder = builder.remote_public_key(remote_public_key.as_ref()); + builder = builder.remote_public_key(remote_public_key.as_ref())?; } - builder + Ok(builder) } /// DH keypair. @@ -115,8 +115,7 @@ impl Keypair { /// Create a new X25519 keypair. pub(crate) fn new() -> Keypair { - let mut sk_bytes = [0u8; 32]; - rand::thread_rng().fill(&mut sk_bytes); + let mut sk_bytes: [u8; 32] = rand::random(); let sk = SecretKey(sk_bytes); // Copy sk_bytes.zeroize(); Self::from(sk) @@ -169,7 +168,7 @@ struct Resolver; impl snow::resolvers::CryptoResolver for Resolver { fn resolve_rng(&self) -> Option> { - Some(Box::new(Rng(rand::rngs::StdRng::from_entropy()))) + Some(Box::new(SnowRng(rand::rngs::SysRng))) } fn resolve_dh(&self, choice: &snow::params::DHChoice) -> Option> { @@ -209,31 +208,15 @@ impl snow::resolvers::CryptoResolver for Resolver { } } -/// Wrapper around a CSPRNG to implement `snow::Random` trait for. -struct Rng(rand::rngs::StdRng); +/// Wrapper around an OS CSPRNG to implement `snow::Random` trait for. +struct SnowRng(rand::rngs::SysRng); -impl rand::RngCore for Rng { - fn next_u32(&mut self) -> u32 { - self.0.next_u32() - } - - fn next_u64(&mut self) -> u64 { - self.0.next_u64() - } - - fn fill_bytes(&mut self, dest: &mut [u8]) { - self.0.fill_bytes(dest) - } - - fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), rand::Error> { - self.0.try_fill_bytes(dest) +impl snow::types::Random for SnowRng { + fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), snow::Error> { + self.0.try_fill_bytes(dest).map_err(|_| snow::Error::Rng) } } -impl rand::CryptoRng for Rng {} - -impl snow::types::Random for Rng {} - impl Default for Keypair { fn default() -> Self { Self::new() @@ -274,12 +257,13 @@ impl snow::types::Dh for Keypair { secret.zeroize(); } - fn generate(&mut self, rng: &mut dyn snow::types::Random) { + fn generate(&mut self, rng: &mut dyn snow::types::Random) -> Result<(), snow::Error> { let mut secret = [0u8; 32]; - rng.fill_bytes(&mut secret); + rng.try_fill_bytes(&mut secret)?; self.secret = SecretKey(secret); // Copy self.public = PublicKey(x25519(secret, X25519_BASEPOINT_BYTES)); secret.zeroize(); + Ok(()) } fn dh(&self, pk: &[u8], shared_secret: &mut [u8]) -> Result<(), snow::Error> { @@ -320,7 +304,7 @@ mod tests { } fn xx_builder(prologue: &'static [u8]) -> snow::Builder<'static> { - noise_params_into_builder(PARAMS_XX.clone(), prologue, TEST_KEY.secret(), None) + noise_params_into_builder(PARAMS_XX.clone(), prologue, TEST_KEY.secret(), None).unwrap() } // Hack to work around borrow-checker. diff --git a/transports/pnet/src/lib.rs b/transports/pnet/src/lib.rs index f8e810d097b2..9a1eec928542 100644 --- a/transports/pnet/src/lib.rs +++ b/transports/pnet/src/lib.rs @@ -40,7 +40,6 @@ use std::{ use crypt_writer::CryptWriter; use futures::prelude::*; use pin_project::pin_project; -use rand::RngCore; use salsa20::{ Salsa20, XSalsa20, cipher::{KeyIvInit, StreamCipher}, @@ -212,7 +211,7 @@ impl PnetConfig { tracing::trace!("exchanging nonces"); let mut local_nonce = [0u8; NONCE_SIZE]; let mut remote_nonce = [0u8; NONCE_SIZE]; - rand::thread_rng().fill_bytes(&mut local_nonce); + rand::fill(&mut local_nonce); socket .write_all(&local_nonce) .await diff --git a/transports/quic/src/hole_punching.rs b/transports/quic/src/hole_punching.rs index cb2f85b3a2f7..fd4d8b9bb349 100644 --- a/transports/quic/src/hole_punching.rs +++ b/transports/quic/src/hole_punching.rs @@ -5,7 +5,7 @@ use std::{ }; use futures::future::Either; -use rand::{Rng, distributions}; +use rand::RngExt; use crate::{Error, provider::Provider}; @@ -28,16 +28,13 @@ async fn punch_holes( remote_addr: SocketAddr, ) -> Result { loop { - let contents: Vec = rand::thread_rng() - .sample_iter(distributions::Standard) - .take(64) - .collect(); + let contents = rand::random::<[u8; 64]>().to_vec(); tracing::trace!("Sending random UDP packet to {remote_addr}"); P::send_to(&socket, &contents, remote_addr).await?; - let sleep_duration = Duration::from_millis(rand::thread_rng().gen_range(10..=200)); + let sleep_duration = Duration::from_millis(rand::rng().random_range(10..=200)); P::sleep(sleep_duration).await; } } diff --git a/transports/quic/tests/smoke.rs b/transports/quic/tests/smoke.rs index 2cbbe7ecb7fc..0352e6500047 100644 --- a/transports/quic/tests/smoke.rs +++ b/transports/quic/tests/smoke.rs @@ -33,7 +33,7 @@ use libp2p_quic as quic; use libp2p_tcp as tcp; use libp2p_yamux as yamux; use quic::Provider; -use rand::RngCore; +use rand::Rng; use tracing_subscriber::EnvFilter; #[cfg(feature = "tokio")] @@ -719,7 +719,7 @@ async fn open_outbound_streams( } let mut data = vec![0; BUFFER_SIZE]; - rand::thread_rng().fill_bytes(&mut data); + rand::rng().fill_bytes(&mut data); let mut received = Vec::new(); diff --git a/transports/webrtc/src/tokio/certificate.rs b/transports/webrtc/src/tokio/certificate.rs index 7cc4c82c87af..54fa111d4e15 100644 --- a/transports/webrtc/src/tokio/certificate.rs +++ b/transports/webrtc/src/tokio/certificate.rs @@ -97,13 +97,11 @@ enum Kind { #[cfg(all(test, feature = "pem"))] mod test { - use rand::thread_rng; - use super::*; #[test] fn test_certificate_serialize_pem_and_from_pem() { - let cert = Certificate::generate(&mut thread_rng()).unwrap(); + let cert = Certificate::generate(&mut rand::rng()).unwrap(); let pem = cert.serialize_pem(); let loaded_cert = Certificate::from_pem(&pem).unwrap(); diff --git a/transports/webrtc/src/tokio/transport.rs b/transports/webrtc/src/tokio/transport.rs index d5857a42c110..2a768c71dc87 100644 --- a/transports/webrtc/src/tokio/transport.rs +++ b/transports/webrtc/src/tokio/transport.rs @@ -60,10 +60,10 @@ impl Transport { /// ``` /// use libp2p_identity as identity; /// use libp2p_webrtc::tokio::{Certificate, Transport}; - /// use rand::thread_rng; + /// use rand::rng; /// /// let id_keys = identity::Keypair::generate_ed25519(); - /// let transport = Transport::new(id_keys, Certificate::generate(&mut thread_rng()).unwrap()); + /// let transport = Transport::new(id_keys, Certificate::generate(&mut rng()).unwrap()); /// ``` pub fn new(id_keys: identity::Keypair, certificate: Certificate) -> Self { Self { @@ -429,7 +429,6 @@ mod tests { use futures::future::poll_fn; use libp2p_core::Transport as _; - use rand::thread_rng; use super::*; @@ -493,7 +492,7 @@ mod tests { async fn close_listener() { let id_keys = identity::Keypair::generate_ed25519(); let mut transport = - Transport::new(id_keys, Certificate::generate(&mut thread_rng()).unwrap()); + Transport::new(id_keys, Certificate::generate(&mut rand::rng()).unwrap()); assert!( poll_fn(|cx| Pin::new(&mut transport).as_mut().poll(cx)) diff --git a/transports/webrtc/tests/smoke.rs b/transports/webrtc/tests/smoke.rs index cd647c092e38..52f8b3167af2 100644 --- a/transports/webrtc/tests/smoke.rs +++ b/transports/webrtc/tests/smoke.rs @@ -41,7 +41,7 @@ use libp2p_core::{ }; use libp2p_identity::PeerId; use libp2p_webrtc as webrtc; -use rand::{RngCore, thread_rng}; +use rand::Rng; use tracing_subscriber::EnvFilter; #[tokio::test] @@ -86,7 +86,7 @@ fn create_transport() -> (PeerId, Boxed<(PeerId, StreamMuxerBox)>) { let transport = webrtc::tokio::Transport::new( keypair, - webrtc::tokio::Certificate::generate(&mut thread_rng()).unwrap(), + webrtc::tokio::Certificate::generate(&mut rand::rng()).unwrap(), ) .map(|(p, c), _| (p, StreamMuxerBox::new(c))) .boxed(); @@ -245,7 +245,7 @@ async fn open_outbound_streams( } let mut data = vec![0; BUFFER_SIZE]; - rand::thread_rng().fill_bytes(&mut data); + rand::rng().fill_bytes(&mut data); let mut received = Vec::new();