From 26719ee358820e755d279a32282b3407ee8c2238 Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Mon, 19 Sep 2022 11:18:03 +0200 Subject: [PATCH] apply CR --- Cargo.lock | 3372 +++++++++++++++++++++++++++++++++++--- Cargo.toml | 5 +- examples/repl/cmdline.rs | 6 +- foo-shm | Bin 0 -> 32768 bytes foo-wal | Bin 0 -> 539752 bytes src/imex.rs | 25 +- 6 files changed, 3149 insertions(+), 259 deletions(-) create mode 100644 foo-shm create mode 100644 foo-wal diff --git a/Cargo.lock b/Cargo.lock index f1882dfd8..37d410e00 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,10 +24,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] -name = "adler32" -version = "1.2.0" +name = "aead" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" +checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +dependencies = [ + "generic-array", +] + +[[package]] +name = "aes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +dependencies = [ + "cfg-if", + "cipher 0.3.0", + "cpufeatures", + "opaque-debug", +] [[package]] name = "aes" @@ -36,10 +51,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ "cfg-if", - "cipher", + "cipher 0.4.3", "cpufeatures", ] +[[package]] +name = "aes-gcm" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" +dependencies = [ + "aead", + "aes 0.7.5", + "cipher 0.3.0", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "ahash" version = "0.7.6" @@ -53,9 +82,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" dependencies = [ "memchr", ] @@ -68,9 +97,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] name = "android_system_properties" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] @@ -86,9 +115,21 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" + +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "ascii_utils" @@ -96,6 +137,12 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a" +[[package]] +name = "asn1_der" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" + [[package]] name = "async-channel" version = "1.7.1" @@ -116,10 +163,39 @@ dependencies = [ "flate2", "futures-core", "memchr", - "pin-project-lite", + "pin-project-lite 0.2.9", "tokio", ] +[[package]] +name = "async-executor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "once_cell", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da5b41ee986eed3f524c380e6d64965aea573882a8907682ad100f7859305ca" +dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-lock", + "blocking", + "futures-lite", + "once_cell", +] + [[package]] name = "async-imap" version = "0.6.0" @@ -127,7 +203,7 @@ source = "git+https://github.com/async-email/async-imap?branch=master#8755b666fc dependencies = [ "async-channel", "async-native-tls", - "base64 0.13.1", + "base64 0.13.0", "byte-pool", "chrono", "futures", @@ -142,6 +218,35 @@ dependencies = [ "tokio", ] +[[package]] +name = "async-io" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e21f3a490c72b3b0cf44962180e60045de2925d8dff97918f7ee43c8f637c7" +dependencies = [ + "autocfg", + "concurrent-queue", + "futures-lite", + "libc", + "log", + "once_cell", + "parking", + "polling", + "slab", + "socket2", + "waker-fn", + "winapi", +] + +[[package]] +name = "async-lock" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +dependencies = [ + "event-listener", +] + [[package]] name = "async-mutex" version = "1.4.0" @@ -163,6 +268,17 @@ dependencies = [ "url", ] +[[package]] +name = "async-recursion" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cda8f4bcc10624c4e85bc66b3f452cca98cfa5ca002dc83a16aad2367641bea" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "async-smtp" version = "0.5.0" @@ -171,7 +287,7 @@ checksum = "6da21e1dd19fbad3e095ad519fb1558ab77fd82e5c4778dca8f9be0464589e1e" dependencies = [ "async-native-tls", "async-trait", - "base64 0.13.1", + "base64 0.13.0", "bufstream", "fast-socks5", "futures", @@ -184,6 +300,33 @@ dependencies = [ "tokio", ] +[[package]] +name = "async-stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" +dependencies = [ + "async-stream-impl", + "futures-core", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-task" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" + [[package]] name = "async-trait" version = "0.1.57" @@ -218,6 +361,25 @@ dependencies = [ "tokio", ] +[[package]] +name = "asynchronous-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite 0.2.9", +] + +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + [[package]] name = "atty" version = "0.2.14" @@ -243,7 +405,7 @@ checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43" dependencies = [ "async-trait", "axum-core", - "base64 0.13.1", + "base64 0.13.0", "bitflags", "bytes", "futures-util", @@ -255,11 +417,11 @@ dependencies = [ "memchr", "mime", "percent-encoding", - "pin-project-lite", + "pin-project-lite 0.2.9", "serde", "serde_json", "serde_urlencoded", - "sha-1", + "sha-1 0.10.0", "sync_wrapper", "tokio", "tokio-tungstenite", @@ -300,6 +462,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base-x" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" + [[package]] name = "base64" version = "0.11.0" @@ -314,15 +482,43 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "base64" -version = "0.13.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "base64ct" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdca834647821e0b13d9539a8634eb62d3501b6b6c2cec1722786ee6671b851" +checksum = "ea2b2456fd614d856680dcd9fcc660a51a820fa09daef2e49772b56a193c8474" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.60.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6" +dependencies = [ + "bitflags", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", +] [[package]] name = "bitfield" @@ -336,6 +532,50 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "blake2" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +dependencies = [ + "digest 0.10.5", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq", +] + +[[package]] +name = "blake2s_simd" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db539cc2b5f6003621f1cd9ef92d7ded8ea5232c7de0f9faa2de251cd98730d4" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block-buffer" version = "0.9.0" @@ -347,9 +587,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" dependencies = [ "generic-array", ] @@ -363,6 +603,20 @@ dependencies = [ "generic-array", ] +[[package]] +name = "blocking" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc" +dependencies = [ + "async-channel", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", + "once_cell", +] + [[package]] name = "blowfish" version = "0.9.1" @@ -370,9 +624,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" dependencies = [ "byteorder", - "cipher", + "cipher 0.4.3", ] +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + [[package]] name = "bstr" version = "0.2.17" @@ -403,9 +663,9 @@ checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8" [[package]] name = "bumpalo" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3" +checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" [[package]] name = "byte-pool" @@ -418,10 +678,31 @@ dependencies = [ ] [[package]] -name = "bytemuck" -version = "1.11.0" +name = "bytecheck" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5377c8865e74a160d21f29c2d40669f53286db6eab59b88540cbb12ffc8b835" +checksum = "d11cac2c12b5adc6570dad2ee1b87eff4955dac476fe12d81e5fdd352e52406f" +dependencies = [ + "bytecheck_derive", + "ptr_meta", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e576ebe98e605500b3c8041bb888e966653577172df6dd97398714eb30b9bf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bytemuck" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" [[package]] name = "byteorder" @@ -434,6 +715,20 @@ name = "bytes" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +dependencies = [ + "serde", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] [[package]] name = "cache-padded" @@ -441,6 +736,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" +[[package]] +name = "cached" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4dfac631a8e77b2f327f7852bb6172771f5279c4512efe79fad6067b37be3d" +dependencies = [ + "hashbrown 0.11.2", + "once_cell", +] + [[package]] name = "cast" version = "0.3.0" @@ -453,7 +758,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26b07d673db1ccf000e90f54b819db9e75a8348d6eb056e9b8ab53231b7a9911" dependencies = [ - "cipher", + "cipher 0.4.3", ] [[package]] @@ -461,6 +766,18 @@ name = "cc" version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom 7.1.1", +] [[package]] name = "cfb-mode" @@ -468,7 +785,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "738b8d467867f80a71351933f70461f5b56f24d5c93e0cf216e59229c968d330" dependencies = [ - "cipher", + "cipher 0.4.3", ] [[package]] @@ -477,13 +794,38 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chacha20" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +dependencies = [ + "cfg-if", + "cipher 0.3.0", + "cpufeatures", + "zeroize", +] + +[[package]] +name = "chacha20poly1305" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" +dependencies = [ + "aead", + "chacha20", + "cipher 0.3.0", + "poly1305", + "zeroize", +] + [[package]] name = "charset" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" dependencies = [ - "base64 0.13.1", + "base64 0.13.0", "encoding_rs", ] @@ -497,11 +839,35 @@ dependencies = [ "js-sys", "num-integer", "num-traits", - "time", + "serde", + "time 0.1.44", "wasm-bindgen", "winapi", ] +[[package]] +name = "cid" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" +dependencies = [ + "core2", + "multibase", + "multihash", + "serde", + "serde_bytes", + "unsigned-varint", +] + +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array", +] + [[package]] name = "cipher" version = "0.4.3" @@ -512,6 +878,17 @@ dependencies = [ "inout", ] +[[package]] +name = "clang-sys" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clap" version = "2.34.0" @@ -523,6 +900,45 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "clap" +version = "3.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" +dependencies = [ + "atty", + "bitflags", + "clap_derive", + "clap_lex", + "indexmap", + "once_cell", + "strsim", + "termcolor", + "textwrap 0.15.1", +] + +[[package]] +name = "clap_derive" +version = "3.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" +dependencies = [ + "heck 0.4.0", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "clipboard-win" version = "4.4.2" @@ -550,10 +966,35 @@ dependencies = [ ] [[package]] -name = "const-oid" -version = "0.9.0" +name = "config" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" +checksum = "11f1667b8320afa80d69d8bbe40830df2c8a06003d86f73d8e003b2c48df416d" +dependencies = [ + "async-trait", + "json5", + "lazy_static", + "nom 7.1.1", + "pathdiff", + "ron", + "rust-ini", + "serde", + "serde_json", + "toml", + "yaml-rust", +] + +[[package]] +name = "const-oid" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "convert_case" @@ -578,10 +1019,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] -name = "cpufeatures" -version = "0.2.2" +name = "core2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ "libc", ] @@ -609,7 +1059,7 @@ checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" dependencies = [ "atty", "cast", - "clap", + "clap 2.34.0", "criterion-plot", "csv", "futures", @@ -694,6 +1144,12 @@ dependencies = [ "once_cell", ] +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + [[package]] name = "crypto-common" version = "0.1.6" @@ -726,6 +1182,25 @@ dependencies = [ "memchr", ] +[[package]] +name = "ctr" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +dependencies = [ + "cipher 0.3.0", +] + +[[package]] +name = "ctrlc" +version = "3.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d91974fbbe88ec1df0c24a4f00f99583667a7e2e6272b2b92d294d81e462173" +dependencies = [ + "nix 0.25.0", + "winapi", +] + [[package]] name = "curve25519-dalek" version = "3.2.0" @@ -739,6 +1214,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "curve25519-dalek" +version = "4.0.0-pre.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4033478fbf70d6acf2655ac70da91ee65852d69daf7a67bf7a2f518fb47aafcf" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "darling" version = "0.13.4" @@ -816,12 +1304,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" [[package]] -name = "deflate" -version = "1.0.0" +name = "data-encoding-macro" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" +checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" dependencies = [ - "adler32", + "data-encoding", + "data-encoding-macro-internal", +] + +[[package]] +name = "data-encoding-macro-internal" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +dependencies = [ + "data-encoding", + "syn", ] [[package]] @@ -836,7 +1335,7 @@ dependencies = [ "async-smtp", "async_zip", "backtrace", - "base64 0.13.1", + "base64 0.13.0", "bitflags", "chrono", "criterion", @@ -851,11 +1350,14 @@ dependencies = [ "hex", "humansize", "image", + "iroh-resolver", + "iroh-share", "kamadak-exif", "lettre_email", "libc", "log", "mailparse", + "multibase", "native-tls", "num-derive", "num-traits", @@ -863,6 +1365,7 @@ dependencies = [ "once_cell", "percent-encoding", "pgp", + "port_check", "pretty_env_logger", "proptest", "qrcodegen", @@ -878,7 +1381,7 @@ dependencies = [ "sanitize-filename", "serde", "serde_json", - "sha-1", + "sha-1 0.10.0", "sha2 0.10.6", "smallvec", "strum", @@ -891,9 +1394,9 @@ dependencies = [ "tokio-stream", "tokio-tar", "toml", - "trust-dns-resolver", + "trust-dns-resolver 0.22.0", "url", - "uuid 1.2.1", + "uuid 1.1.2", ] [[package]] @@ -949,7 +1452,9 @@ dependencies = [ "deltachat", "deltachat-jsonrpc", "human-panic", + "iroh-share", "libc", + "multibase", "num-traits", "once_cell", "rand 0.7.3", @@ -1006,7 +1511,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e" dependencies = [ - "cipher", + "cipher 0.4.3", ] [[package]] @@ -1024,9 +1529,10 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ - "block-buffer 0.10.2", + "block-buffer 0.10.3", "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -1070,6 +1576,28 @@ dependencies = [ "winapi", ] +[[package]] +name = "dlv-list" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" + +[[package]] +name = "dns-parser" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" +dependencies = [ + "byteorder", + "quick-error 1.2.3", +] + +[[package]] +name = "dtoa" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6053ff46b5639ceb91756a85a4c8914668393a03170efd79c8884a529d80656" + [[package]] name = "ed25519" version = "1.5.2" @@ -1085,7 +1613,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 3.2.0", "ed25519", "rand 0.7.3", "serde", @@ -1095,9 +1623,9 @@ dependencies = [ [[package]] name = "either" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "email" @@ -1110,7 +1638,7 @@ dependencies = [ "encoding", "lazy_static", "rand 0.7.3", - "time", + "time 0.1.44", "version_check 0.9.4", ] @@ -1213,13 +1741,25 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca" +[[package]] +name = "enum-as-inner" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21cdad81446a7f7dc43f6a77409efeb9733d2fa65553efef6018ef257c959b73" +dependencies = [ + "heck 0.4.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "enum-as-inner" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116" dependencies = [ - "heck", + "heck 0.4.0", "proc-macro2", "quote", "syn", @@ -1331,6 +1871,12 @@ dependencies = [ "ascii_utils", ] +[[package]] +name = "fastmurmur3" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d922f481ae01f2a3f1fff7b9e0e789f18f0c755a38ec983a3e6f37762cdcc2a2" + [[package]] name = "fastrand" version = "1.8.0" @@ -1348,7 +1894,7 @@ checksum = "e11dcc7e4d79a8c89b9ab4c6f5c30b1fc4a83c420792da3542fd31179ed5f517" dependencies = [ "cfg-if", "rustix", - "windows-sys 0.36.1", + "windows-sys", ] [[package]] @@ -1360,9 +1906,15 @@ dependencies = [ "cfg-if", "libc", "redox_syscall", - "windows-sys 0.36.1", + "windows-sys", ] +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + [[package]] name = "flate2" version = "1.0.24" @@ -1370,6 +1922,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" dependencies = [ "crc32fast", + "libz-sys", "miniz_oxide", ] @@ -1443,6 +1996,7 @@ dependencies = [ "futures-core", "futures-task", "futures-util", + "num_cpus", ] [[package]] @@ -1462,7 +2016,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite", + "pin-project-lite 0.2.9", "waker-fn", ] @@ -1477,6 +2031,17 @@ dependencies = [ "syn", ] +[[package]] +name = "futures-rustls" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" +dependencies = [ + "futures-io", + "rustls", + "webpki", +] + [[package]] name = "futures-sink" version = "0.3.25" @@ -1489,6 +2054,12 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + [[package]] name = "futures-util" version = "0.3.25" @@ -1502,7 +2073,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite", + "pin-project-lite 0.2.9", "pin-utils", "slab", ] @@ -1539,6 +2110,16 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] +[[package]] +name = "ghash" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +dependencies = [ + "opaque-debug", + "polyval", +] + [[package]] name = "gif" version = "0.11.4" @@ -1556,10 +2137,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" [[package]] -name = "h2" -version = "0.3.13" +name = "git-version" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" +checksum = "f6b0decc02f4636b9ccad390dcbe77b722a77efedfa393caf8379a51d5c61899" +dependencies = [ + "git-version-macro", + "proc-macro-hack", +] + +[[package]] +name = "git-version-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe69f1cbdb6e28af2bac214e943b99ce8a0a06b447d15d3e61161b0423139f3f" +dependencies = [ + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "h2" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" dependencies = [ "bytes", "fnv", @@ -1570,7 +2179,7 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util", + "tokio-util 0.7.4", "tracing", ] @@ -1607,6 +2216,15 @@ dependencies = [ "hashbrown 0.11.2", ] +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "heck" version = "0.4.0" @@ -1628,6 +2246,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex_fmt" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" + [[package]] name = "hostname" version = "0.3.1" @@ -1658,7 +2282,7 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", - "pin-project-lite", + "pin-project-lite 0.2.9", ] [[package]] @@ -1669,9 +2293,9 @@ checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" [[package]] name = "httparse" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -1731,7 +2355,7 @@ dependencies = [ "httparse", "httpdate", "itoa 1.0.3", - "pin-project-lite", + "pin-project-lite 0.2.9", "socket2", "tokio", "tower-service", @@ -1739,6 +2363,31 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-rustls" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +dependencies = [ + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper", + "pin-project-lite 0.2.9", + "tokio", + "tokio-io-timeout", +] + [[package]] name = "hyper-tls" version = "0.5.0" @@ -1754,13 +2403,14 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.46" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad2bfd338099682614d3ee3fe0cd72e0b6a41ca6a87f6a74a3bd593c91650501" +checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0" dependencies = [ "android_system_properties", "core-foundation-sys", "js-sys", + "once_cell", "wasm-bindgen", "winapi", ] @@ -1793,10 +2443,38 @@ dependencies = [ ] [[package]] -name = "image" -version = "0.24.4" +name = "if-addrs" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd8e4fb07cf672b1642304e731ef8a6a4c7891d67bb4fd4f5ce58cd6ed86803c" +checksum = "cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "if-watch" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "015a7df1eb6dda30df37f34b63ada9b7b352984b0e84de2a20ed526345000791" +dependencies = [ + "async-io", + "core-foundation", + "fnv", + "futures", + "if-addrs", + "ipnet", + "log", + "rtnetlink", + "system-configuration", + "windows", +] + +[[package]] +name = "image" +version = "0.24.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" dependencies = [ "bytemuck", "byteorder", @@ -1825,6 +2503,7 @@ checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", "hashbrown 0.12.3", + "serde", ] [[package]] @@ -1847,9 +2526,9 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24c3f4eff5495aee4c0399d7b6a0dc2b6e81be84242ffbfcf253ebacccc1d0cb" +checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06" [[package]] name = "ipconfig" @@ -1869,11 +2548,244 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +[[package]] +name = "iroh-bitswap" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "ahash", + "bytes", + "cid", + "futures", + "git-version", + "iroh-metrics", + "libp2p", + "multihash", + "names", + "num_enum", + "prost 0.11.0", + "prost-build 0.11.1", + "thiserror", + "tokio", + "tracing", + "unsigned-varint", +] + +[[package]] +name = "iroh-metrics" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "async-trait", + "config", + "iroh-util", + "lazy_static", + "libp2p", + "metrics", + "metrics-exporter-prometheus", + "metrics-util", + "names", + "opentelemetry", + "opentelemetry-otlp", + "prometheus-client", + "reqwest", + "serde", + "tokio", + "tracing", + "tracing-futures", + "tracing-opentelemetry", + "tracing-subscriber", +] + +[[package]] +name = "iroh-p2p" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "ahash", + "anyhow", + "async-stream", + "async-trait", + "asynchronous-codec", + "bytes", + "cid", + "clap 3.2.22", + "config", + "dirs", + "futures", + "futures-util", + "git-version", + "iroh-bitswap", + "iroh-metrics", + "iroh-rpc-client", + "iroh-rpc-types", + "iroh-util", + "lazy_static", + "libp2p", + "multihash", + "names", + "rand 0.8.5", + "serde", + "smallvec", + "ssh-key", + "tempfile", + "tokio", + "toml", + "tracing", + "tracing-subscriber", + "zeroize", +] + +[[package]] +name = "iroh-resolver" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "anyhow", + "async-recursion", + "async-stream", + "async-trait", + "bytes", + "cid", + "fastmurmur3", + "futures", + "iroh-metrics", + "iroh-rpc-client", + "iroh-util", + "libipld", + "num_enum", + "once_cell", + "prost 0.11.0", + "prost-build 0.11.1", + "tokio", + "tokio-util 0.7.4", + "tracing", + "trust-dns-resolver 0.21.2", +] + +[[package]] +name = "iroh-rpc-client" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "bytes", + "cid", + "config", + "futures", + "iroh-metrics", + "iroh-rpc-types", + "iroh-util", + "libp2p", + "paste", + "prost 0.11.0", + "serde", + "tokio", + "toml", + "tracing", +] + +[[package]] +name = "iroh-rpc-types" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "anyhow", + "async-trait", + "iroh-metrics", + "paste", + "prost 0.11.0", + "prost-build 0.11.1", + "prost-types 0.11.1", + "serde_with", + "tokio", +] + +[[package]] +name = "iroh-share" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bytes", + "cid", + "clap 3.2.22", + "futures", + "iroh-metrics", + "iroh-p2p", + "iroh-resolver", + "iroh-rpc-client", + "iroh-rpc-types", + "iroh-store", + "iroh-util", + "libp2p", + "multibase", + "rand 0.8.5", + "serde", + "tempfile", + "tokio", + "tokio-stream", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "iroh-store" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "anyhow", + "async-trait", + "bytecheck", + "bytes", + "cid", + "clap 3.2.22", + "config", + "ctrlc", + "futures", + "git-version", + "iroh-metrics", + "iroh-rpc-client", + "iroh-rpc-types", + "iroh-util", + "names", + "opentelemetry", + "rkyv", + "rocksdb", + "serde", + "tokio", + "tracing", + "tracing-opentelemetry", + "tracing-subscriber", +] + +[[package]] +name = "iroh-util" +version = "0.1.0" +source = "git+https://github.com/n0-computer/iroh?branch=main#79273bd521a0727bc408e81c4cab10ba7671f2b6" +dependencies = [ + "anyhow", + "cid", + "config", + "ctrlc", + "dirs-next", + "futures", + "rlimit", + "serde", + "temp-env", + "toml", + "tracing", +] + [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "d8bf247779e67a9082a4790b45e71ac7cfd1321331a5c856a74a9faebdab78d0" dependencies = [ "either", ] @@ -1891,25 +2803,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" [[package]] -name = "jpeg-decoder" -version = "0.2.6" +name = "jobserver" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b" +checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +dependencies = [ + "libc", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" [[package]] name = "js-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] [[package]] -name = "kamadak-exif" -version = "0.5.5" +name = "json5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077" +checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +dependencies = [ + "pest", + "pest_derive", + "serde", +] + +[[package]] +name = "kamadak-exif" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70494964492bf8e491eb3951c5d70c9627eb7100ede6cc56d748b9a3f302cfb6" dependencies = [ "mutate_once", ] @@ -1929,6 +2861,12 @@ dependencies = [ "spin", ] +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "lettre" version = "0.9.2" @@ -1949,15 +2887,117 @@ dependencies = [ "lettre", "mime", "regex", - "time", + "time 0.1.44", "uuid 0.8.2", ] [[package]] name = "libc" -version = "0.2.137" +version = "0.2.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" +checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" + +[[package]] +name = "libipld" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfb2f6a99d838dcb1cc18361c79e827b76e91987227406e705d07cbef51ab7be" +dependencies = [ + "async-trait", + "cached", + "fnv", + "libipld-cbor", + "libipld-cbor-derive", + "libipld-core", + "libipld-json", + "libipld-macro", + "libipld-pb", + "log", + "multihash", + "parking_lot 0.12.1", + "thiserror", +] + +[[package]] +name = "libipld-cbor" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46b3bbc4f35b8f25eb140d183f33d4610a1eb6531b312f01161fa06693f8c28a" +dependencies = [ + "byteorder", + "libipld-core", + "thiserror", +] + +[[package]] +name = "libipld-cbor-derive" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6ec17d094f4f62e33e201ded63d911fd0bff3b12121ddc50d611e967f7e6824" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "libipld-core" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbdd758764f9680a818af33c31db733eb7c45224715d8816b9dcf0548c75f7c5" +dependencies = [ + "anyhow", + "cid", + "core2", + "multibase", + "multihash", + "thiserror", +] + +[[package]] +name = "libipld-json" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "415427568962961e21009eb92fd6052de95174423cff9d3c583491858e060f4e" +dependencies = [ + "libipld-core", + "multihash", + "serde", + "serde_json", +] + +[[package]] +name = "libipld-macro" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c4cb1056262ef4056ad9e5fb41f252c45f55009888e21b7837ac051f38814a" +dependencies = [ + "libipld-core", +] + +[[package]] +name = "libipld-pb" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b851a08aeff23e1e8df42081ef22052a838e8e39b769fcb7867d2fadd834d2d" +dependencies = [ + "libipld-core", + "prost 0.9.0", + "prost-build 0.9.0", + "thiserror", +] + +[[package]] +name = "libloading" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +dependencies = [ + "cfg-if", + "winapi", +] [[package]] name = "libm" @@ -1965,6 +3005,426 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +[[package]] +name = "libp2p" +version = "0.48.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "bytes", + "futures", + "futures-timer", + "getrandom 0.2.7", + "instant", + "lazy_static", + "libp2p-autonat", + "libp2p-core", + "libp2p-dcutr", + "libp2p-dns", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-kad", + "libp2p-mdns", + "libp2p-metrics", + "libp2p-mplex", + "libp2p-noise", + "libp2p-ping", + "libp2p-relay", + "libp2p-request-response", + "libp2p-swarm", + "libp2p-swarm-derive", + "libp2p-tcp", + "libp2p-websocket", + "libp2p-yamux", + "multiaddr", + "parking_lot 0.12.1", + "pin-project", + "rand 0.7.3", + "smallvec", +] + +[[package]] +name = "libp2p-autonat" +version = "0.7.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-request-response", + "libp2p-swarm", + "log", + "prost 0.11.0", + "prost-build 0.11.1", + "rand 0.8.5", +] + +[[package]] +name = "libp2p-core" +version = "0.35.1" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asn1_der", + "bs58", + "ed25519-dalek", + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "lazy_static", + "log", + "multiaddr", + "multihash", + "multistream-select", + "parking_lot 0.12.1", + "pin-project", + "prost 0.11.0", + "prost-build 0.11.1", + "rand 0.8.5", + "ring", + "rw-stream-sink", + "serde", + "sha2 0.10.6", + "smallvec", + "thiserror", + "unsigned-varint", + "void", + "zeroize", +] + +[[package]] +name = "libp2p-dcutr" +version = "0.6.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asynchronous-codec", + "bytes", + "either", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-swarm", + "log", + "prost 0.11.0", + "prost-build 0.11.1", + "prost-codec", + "thiserror", + "void", +] + +[[package]] +name = "libp2p-dns" +version = "0.35.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "futures", + "libp2p-core", + "log", + "parking_lot 0.12.1", + "smallvec", + "trust-dns-resolver 0.21.2", +] + +[[package]] +name = "libp2p-gossipsub" +version = "0.41.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asynchronous-codec", + "base64 0.13.0", + "byteorder", + "bytes", + "fnv", + "futures", + "hex_fmt", + "instant", + "libp2p-core", + "libp2p-swarm", + "log", + "prometheus-client", + "prost 0.11.0", + "prost-build 0.11.1", + "rand 0.7.3", + "regex", + "serde", + "sha2 0.10.6", + "smallvec", + "unsigned-varint", + "wasm-timer", +] + +[[package]] +name = "libp2p-identify" +version = "0.39.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asynchronous-codec", + "futures", + "futures-timer", + "libp2p-core", + "libp2p-swarm", + "log", + "lru", + "prost 0.11.0", + "prost-build 0.11.1", + "prost-codec", + "smallvec", + "thiserror", + "void", +] + +[[package]] +name = "libp2p-kad" +version = "0.40.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "arrayvec", + "asynchronous-codec", + "bytes", + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-swarm", + "log", + "prost 0.11.0", + "prost-build 0.11.1", + "rand 0.7.3", + "serde", + "sha2 0.10.6", + "smallvec", + "thiserror", + "uint", + "unsigned-varint", + "void", +] + +[[package]] +name = "libp2p-mdns" +version = "0.40.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "async-io", + "data-encoding", + "dns-parser", + "futures", + "if-watch", + "lazy_static", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.8.5", + "smallvec", + "socket2", + "void", +] + +[[package]] +name = "libp2p-metrics" +version = "0.9.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "libp2p-core", + "libp2p-dcutr", + "libp2p-gossipsub", + "libp2p-identify", + "libp2p-kad", + "libp2p-ping", + "libp2p-relay", + "libp2p-swarm", + "prometheus-client", +] + +[[package]] +name = "libp2p-mplex" +version = "0.35.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asynchronous-codec", + "bytes", + "futures", + "libp2p-core", + "log", + "nohash-hasher", + "parking_lot 0.12.1", + "rand 0.7.3", + "smallvec", + "unsigned-varint", +] + +[[package]] +name = "libp2p-noise" +version = "0.38.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "bytes", + "curve25519-dalek 3.2.0", + "futures", + "lazy_static", + "libp2p-core", + "log", + "prost 0.11.0", + "prost-build 0.11.1", + "rand 0.8.5", + "sha2 0.10.6", + "snow", + "static_assertions", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-ping" +version = "0.39.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.7.3", + "void", +] + +[[package]] +name = "libp2p-relay" +version = "0.12.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asynchronous-codec", + "bytes", + "either", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "libp2p-swarm", + "log", + "pin-project", + "prost 0.11.0", + "prost-build 0.11.1", + "prost-codec", + "rand 0.8.5", + "smallvec", + "static_assertions", + "thiserror", + "void", +] + +[[package]] +name = "libp2p-request-response" +version = "0.21.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "async-trait", + "bytes", + "futures", + "instant", + "libp2p-core", + "libp2p-swarm", + "log", + "rand 0.7.3", + "smallvec", + "unsigned-varint", +] + +[[package]] +name = "libp2p-swarm" +version = "0.39.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "instant", + "libp2p-core", + "log", + "pin-project", + "rand 0.7.3", + "smallvec", + "thiserror", + "void", +] + +[[package]] +name = "libp2p-swarm-derive" +version = "0.30.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "heck 0.4.0", + "quote", + "syn", +] + +[[package]] +name = "libp2p-tcp" +version = "0.35.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "futures", + "futures-timer", + "if-addrs", + "ipnet", + "libc", + "libp2p-core", + "log", + "socket2", + "tokio", +] + +[[package]] +name = "libp2p-websocket" +version = "0.37.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "either", + "futures", + "futures-rustls", + "libp2p-core", + "log", + "parking_lot 0.12.1", + "quicksink", + "rw-stream-sink", + "soketto", + "url", + "webpki-roots", +] + +[[package]] +name = "libp2p-yamux" +version = "0.39.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "futures", + "libp2p-core", + "parking_lot 0.12.1", + "thiserror", + "yamux", +] + +[[package]] +name = "librocksdb-sys" +version = "0.8.0+7.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "zstd-sys", +] + [[package]] name = "libsqlite3-sys" version = "0.24.2" @@ -1977,6 +3437,17 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libz-sys" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -1991,9 +3462,9 @@ checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" [[package]] name = "lock_api" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390" dependencies = [ "autocfg", "scopeguard", @@ -2008,6 +3479,15 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown 0.12.3", +] + [[package]] name = "lru-cache" version = "0.1.2" @@ -2017,6 +3497,15 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + [[package]] name = "mailparse" version = "0.13.8" @@ -2034,6 +3523,15 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata", +] + [[package]] name = "matches" version = "0.1.9" @@ -2070,6 +3568,68 @@ dependencies = [ "autocfg", ] +[[package]] +name = "metrics" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b9b8653cec6897f73b519a43fba5ee3d50f62fe9af80b428accdcc093b4a849" +dependencies = [ + "ahash", + "metrics-macros", + "portable-atomic", +] + +[[package]] +name = "metrics-exporter-prometheus" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8603921e1f54ef386189335f288441af761e0fc61bcb552168d9cedfe63ebc70" +dependencies = [ + "hyper", + "indexmap", + "ipnet", + "metrics", + "metrics-util", + "parking_lot 0.12.1", + "portable-atomic", + "quanta", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "metrics-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "731f8ecebd9f3a4aa847dfe75455e4757a45da40a7793d2f0b1f9b6ed18b23f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "metrics-util" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d24dc2dbae22bff6f1f9326ffce828c9f07ef9cc1e8002e5279f845432a30a" +dependencies = [ + "aho-corasick", + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.12.3", + "indexmap", + "metrics", + "num_cpus", + "ordered-float", + "parking_lot 0.12.1", + "portable-atomic", + "quanta", + "radix_trie", + "sketches-ddsketch", +] + [[package]] name = "mime" version = "0.3.16" @@ -2084,23 +3644,104 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.5" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.42.0", + "windows-sys", +] + +[[package]] +name = "multiaddr" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c580bfdd8803cce319b047d239559a22f809094aaea4ac13902a1fdcfcd4261" +dependencies = [ + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint", + "url", +] + +[[package]] +name = "multibase" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +dependencies = [ + "base-x", + "data-encoding", + "data-encoding-macro", +] + +[[package]] +name = "multihash" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "core2", + "digest 0.10.5", + "multihash-derive", + "serde", + "serde-big-array", + "sha2 0.10.6", + "sha3", + "unsigned-varint", +] + +[[package]] +name = "multihash-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" +dependencies = [ + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "multistream-select" +version = "0.11.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "bytes", + "futures", + "log", + "pin-project", + "smallvec", + "unsigned-varint", ] [[package]] @@ -2110,10 +3751,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] -name = "native-tls" -version = "0.2.11" +name = "names" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" +dependencies = [ + "rand 0.8.5", +] + +[[package]] +name = "native-tls" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" dependencies = [ "lazy_static", "libc", @@ -2127,6 +3777,72 @@ dependencies = [ "tempfile", ] +[[package]] +name = "netlink-packet-core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" +dependencies = [ + "anyhow", + "bitflags", + "byteorder", + "libc", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-utils" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" +dependencies = [ + "anyhow", + "byteorder", + "paste", + "thiserror", +] + +[[package]] +name = "netlink-proto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +dependencies = [ + "bytes", + "futures", + "log", + "netlink-packet-core", + "netlink-sys", + "thiserror", + "tokio", +] + +[[package]] +name = "netlink-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027" +dependencies = [ + "async-io", + "bytes", + "futures", + "libc", + "log", +] + [[package]] name = "nibble_vec" version = "0.1.0" @@ -2147,6 +3863,24 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if", + "libc", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + [[package]] name = "nom" version = "4.2.3" @@ -2248,6 +3982,36 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num_threads" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + [[package]] name = "object" version = "0.29.0" @@ -2330,6 +4094,70 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "opentelemetry" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" +dependencies = [ + "async-trait", + "crossbeam-channel", + "futures-channel", + "futures-executor", + "futures-util", + "js-sys", + "lazy_static", + "percent-encoding", + "pin-project", + "rand 0.8.5", + "thiserror", + "tokio", + "tokio-stream", +] + +[[package]] +name = "opentelemetry-otlp" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1a6ca9de4c8b00aa7f1a153bd76cb263287155cec642680d79d98706f3d28a" +dependencies = [ + "async-trait", + "futures", + "futures-util", + "http", + "opentelemetry", + "prost 0.9.0", + "thiserror", + "tokio", + "tonic", + "tonic-build", +] + +[[package]] +name = "ordered-float" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ordered-multimap" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +dependencies = [ + "dlv-list", + "hashbrown 0.12.3", +] + +[[package]] +name = "os_str_bytes" +version = "6.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" + [[package]] name = "os_type" version = "2.4.0" @@ -2341,9 +4169,9 @@ dependencies = [ [[package]] name = "ouroboros" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7425ea87a1e31df63a27b6d31e21a35a9003268032a876465e8d43c2364b0de2" +checksum = "dfbb50b356159620db6ac971c6d5c9ab788c9cc38a6f49619fca2a27acb062ca" dependencies = [ "aliasable", "ouroboros_macro", @@ -2351,9 +4179,9 @@ dependencies = [ [[package]] name = "ouroboros_macro" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734aa7a4a6390b162112523cac2923a18e4f23b917880a68c826bf6e8bf48f06" +checksum = "4a0d9d1a6191c4f391f87219d1ea42b23f09ee84d64763cd05ee6ea88d9f384d" dependencies = [ "Inflector", "proc-macro-error", @@ -2368,6 +4196,17 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.5", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -2375,7 +4214,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.3", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", ] [[package]] @@ -2388,9 +4241,27 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys 0.36.1", + "windows-sys", ] +[[package]] +name = "paste" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + [[package]] name = "pem-rfc7468" version = "0.6.0" @@ -2406,14 +4277,68 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +[[package]] +name = "pest" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb779fcf4bb850fbbb0edc96ff6cf34fd90c4b1a112ce042653280d9a7364048" +dependencies = [ + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502b62a6d0245378b04ffe0a7fb4f4419a4815fce813bd8a0ec89a56e07d67b1" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451e629bf49b750254da26132f1a5a9d11fd8a95a3df51d15c4abd1ba154cb6c" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcec162c71c45e269dfc3fc2916eaeb97feab22993a21bcce4721d08cd7801a6" +dependencies = [ + "once_cell", + "pest", + "sha1", +] + +[[package]] +name = "petgraph" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +dependencies = [ + "fixedbitset", + "indexmap", +] + [[package]] name = "pgp" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "991e3f098483f52c454c7cb16720adc010c2966a8845d3c34aad589cb86d3196" dependencies = [ - "aes", - "base64 0.13.1", + "aes 0.8.2", + "base64 0.13.0", "bitfield", "block-padding", "blowfish", @@ -2422,7 +4347,7 @@ dependencies = [ "cast5", "cfb-mode", "chrono", - "cipher", + "cipher 0.4.3", "crc24", "derive_builder", "des", @@ -2453,24 +4378,30 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78203e83c48cffbe01e4a2d35d566ca4de445d79a85372fc64e378bfc812a260" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "pin-project-lite" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2513,9 +4444,9 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "plotters" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9428003b84df1496fb9d6eeee9c5f8145cb41ca375eb0dad204328888832811f" +checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" dependencies = [ "num-traits", "plotters-backend", @@ -2532,25 +4463,74 @@ checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" [[package]] name = "plotters-svg" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0918736323d1baff32ee0eade54984f6f201ad7e97d5cfb5d6ab4a358529615" +checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" dependencies = [ "plotters-backend", ] [[package]] name = "png" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba" +checksum = "8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c" dependencies = [ "bitflags", "crc32fast", - "deflate", + "flate2", "miniz_oxide", ] +[[package]] +name = "polling" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899b00b9c8ab553c743b3e11e87c5c7d423b2a2de229ba95b24a756344748011" +dependencies = [ + "autocfg", + "cfg-if", + "libc", + "log", + "wepoll-ffi", + "winapi", +] + +[[package]] +name = "poly1305" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" +dependencies = [ + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "port_check" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6519412c9e0d4be579b9f0618364d19cb434b324fc6ddb1b27b1e682c7105ed" + +[[package]] +name = "portable-atomic" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16" + [[package]] name = "ppv-lite86" version = "0.2.16" @@ -2567,6 +4547,17 @@ dependencies = [ "log", ] +[[package]] +name = "proc-macro-crate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +dependencies = [ + "once_cell", + "thiserror", + "toml", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2592,14 +4583,43 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.46" +name = "proc-macro-hack" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro2" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" dependencies = [ "unicode-ident", ] +[[package]] +name = "prometheus-client" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c473049631c233933d6286c88bbb7be30e62ec534cf99a9ae0079211f7fa603" +dependencies = [ + "dtoa", + "itoa 1.0.3", + "parking_lot 0.12.1", + "prometheus-client-derive-text-encode", +] + +[[package]] +name = "prometheus-client-derive-text-encode" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "proptest" version = "1.0.0" @@ -2617,12 +4637,166 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "prost" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +dependencies = [ + "bytes", + "prost-derive 0.9.0", +] + +[[package]] +name = "prost" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7" +dependencies = [ + "bytes", + "prost-derive 0.11.0", +] + +[[package]] +name = "prost-build" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +dependencies = [ + "bytes", + "heck 0.3.3", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prost 0.9.0", + "prost-types 0.9.0", + "regex", + "tempfile", + "which", +] + +[[package]] +name = "prost-build" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb" +dependencies = [ + "bytes", + "heck 0.4.0", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prost 0.11.0", + "prost-types 0.11.1", + "regex", + "tempfile", + "which", +] + +[[package]] +name = "prost-codec" +version = "0.2.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "asynchronous-codec", + "bytes", + "prost 0.11.0", + "thiserror", + "unsigned-varint", +] + +[[package]] +name = "prost-derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost-derive" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7345d5f0e08c0536d7ac7229952590239e77abf0a0100a1b1d890add6ea96364" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost-types" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +dependencies = [ + "bytes", + "prost 0.9.0", +] + +[[package]] +name = "prost-types" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e" +dependencies = [ + "bytes", + "prost 0.11.0", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "qrcodegen" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4339fc7a1021c9c1621d87f5e3505f2805c8c105420ba2f2a4df86814590c142" +[[package]] +name = "quanta" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" +dependencies = [ + "crossbeam-utils", + "libc", + "mach", + "once_cell", + "raw-cpuid", + "wasi 0.10.0+wasi-snapshot-preview1", + "web-sys", + "winapi", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -2637,13 +4811,24 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9279fbdacaad3baf559d8cabe0acc3d06e30ea14931af31af79578ac0946decc" +checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" dependencies = [ "memchr", ] +[[package]] +name = "quicksink" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project-lite 0.1.12", +] + [[package]] name = "quote" version = "1.0.21" @@ -2666,7 +4851,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot", + "parking_lot 0.12.1", "scheduled-thread-pool", ] @@ -2711,7 +4896,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -2731,7 +4916,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -2745,9 +4930,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.7", ] @@ -2767,7 +4952,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core 0.6.3", + "rand_core 0.6.4", +] + +[[package]] +name = "raw-cpuid" +version = "10.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6823ea29436221176fe662da99998ad3b4db2c7f31e7b6f5fe43adccd6320bb" +dependencies = [ + "bitflags", ] [[package]] @@ -2830,6 +5024,9 @@ name = "regex-automata" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] [[package]] name = "regex-syntax" @@ -2847,12 +5044,21 @@ dependencies = [ ] [[package]] -name = "reqwest" -version = "0.11.12" +name = "rend" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +checksum = "79af64b4b6362ffba04eef3a4e10829718a4896dac19daa741851c86781edf95" dependencies = [ - "base64 0.13.1", + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +dependencies = [ + "base64 0.13.0", "bytes", "encoding_rs", "futures-core", @@ -2861,6 +5067,7 @@ dependencies = [ "http", "http-body", "hyper", + "hyper-rustls", "hyper-tls", "ipnet", "js-sys", @@ -2869,17 +5076,21 @@ dependencies = [ "native-tls", "once_cell", "percent-encoding", - "pin-project-lite", + "pin-project-lite 0.2.9", + "rustls", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-native-tls", + "tokio-rustls", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots", "winreg 0.10.1", ] @@ -2893,6 +5104,21 @@ dependencies = [ "quick-error 1.2.3", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "ripemd" version = "0.1.3" @@ -2903,10 +5129,65 @@ dependencies = [ ] [[package]] -name = "rsa" +name = "rkyv" +version = "0.7.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cec2b3485b07d96ddfd3134767b8a447b45ea4eb91448d0a35180ec0ffd5ed15" +dependencies = [ + "bytecheck", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eaedadc88b53e36dd32d940ed21ae4d850d5916f2581526921f553a72ac34c4" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "rlimit" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7278a1ec8bfd4a4e07515c589f5ff7b309a373f987393aef44813d9dcf87aa3" +dependencies = [ + "libc", +] + +[[package]] +name = "rocksdb" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" +dependencies = [ + "libc", + "librocksdb-sys", +] + +[[package]] +name = "ron" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ecc3307be66bfb3574577895555bacfb9a37a8d5cd959444b72ff02495c618" +checksum = "88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a" +dependencies = [ + "base64 0.13.0", + "bitflags", + "serde", +] + +[[package]] +name = "rsa" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "094052d5470cbcef561cb848a7209968c9f12dfa6d668f4bca048ac5de51099c" dependencies = [ "byteorder", "digest 0.10.5", @@ -2916,13 +5197,28 @@ dependencies = [ "num-traits", "pkcs1", "pkcs8", - "rand_core 0.6.3", + "rand_core 0.6.4", "signature", "smallvec", "subtle", "zeroize", ] +[[package]] +name = "rtnetlink" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" +dependencies = [ + "async-global-executor", + "futures", + "log", + "netlink-packet-route", + "netlink-proto", + "nix 0.24.2", + "thiserror", +] + [[package]] name = "rusqlite" version = "0.27.0" @@ -2944,6 +5240,16 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efe2374f2385cdd8755a446f80b2a646de603c9d8539ca38734879b5c71e378b" +[[package]] +name = "rust-ini" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +dependencies = [ + "cfg-if", + "ordered-multimap", +] + [[package]] name = "rustc-demangle" version = "0.1.21" @@ -2951,17 +5257,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] -name = "rustix" -version = "0.35.7" +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51cc38aa10f6bbb377ed28197aa052aa4e2b762c22be9d3153d01822587e787" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.35.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c825b8aa8010eb9ee99b75f05e10180b9278d161583034d7574c9d617aeada" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.36.1", + "windows-sys", +] + +[[package]] +name = "rustls" +version = "0.20.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" +dependencies = [ + "base64 0.13.0", ] [[package]] @@ -2984,7 +5326,7 @@ dependencies = [ "libc", "log", "memchr", - "nix", + "nix 0.24.2", "radix_trie", "scopeguard", "unicode-segmentation", @@ -2993,6 +5335,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "rw-stream-sink" +version = "0.3.0" +source = "git+https://github.com/dignifiedquire/rust-libp2p?branch=iroh#9084ad776d310e6dba3a447e46cf45f4103291bd" +dependencies = [ + "futures", + "pin-project", + "static_assertions", +] + [[package]] name = "ryu" version = "1.0.11" @@ -3031,7 +5383,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys 0.36.1", + "windows-sys", ] [[package]] @@ -3040,7 +5392,7 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf" dependencies = [ - "parking_lot", + "parking_lot 0.12.1", ] [[package]] @@ -3050,10 +5402,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "security-framework" -version = "2.6.1" +name = "sct" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" dependencies = [ "bitflags", "core-foundation", @@ -3073,14 +5441,38 @@ dependencies = [ ] [[package]] -name = "serde" -version = "1.0.147" +name = "semver" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" + +[[package]] +name = "serde" +version = "1.0.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" dependencies = [ "serde_derive", ] +[[package]] +name = "serde-big-array" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd31f59f6fe2b0c055371bb2f16d7f0aa7d8881676c04a55b1596d1a17cd10a4" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_bytes" +version = "0.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfc50e8183eeeb6178dcb167ae34a8051d63535023ae38b5d8d12beae193d37b" +dependencies = [ + "serde", +] + [[package]] name = "serde_cbor" version = "0.11.2" @@ -3093,9 +5485,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" dependencies = [ "proc-macro2", "quote", @@ -3104,9 +5496,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.87" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" dependencies = [ "itoa 1.0.3", "ryu", @@ -3125,6 +5517,47 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f2d60d049ea019a84dcd6687b0d1e0030fe663ae105039bdf967ed5e6a9a7" +dependencies = [ + "base64 0.13.0", + "chrono", + "hex", + "indexmap", + "serde", + "serde_json", + "serde_with_macros", + "time 0.3.14", +] + +[[package]] +name = "serde_with_macros" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ccadfacf6cf10faad22bbadf55986bdd0856edfb5d9210aa1dcf1f516e84e93" +dependencies = [ + "darling 0.14.1", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "sha-1" version = "0.10.0" @@ -3173,14 +5606,29 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "e2904bea16a1ae962b483322a1c7b81d976029203aea1f461e51cd7705db7ba9" dependencies = [ "digest 0.10.5", "keccak", ] +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -3197,9 +5645,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ "digest 0.10.5", - "rand_core 0.6.3", + "rand_core 0.6.4", ] +[[package]] +name = "sketches-ddsketch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceb945e54128e09c43d8e4f1277851bd5044c6fc540bbaa2ad888f60b3da9ae7" + [[package]] name = "slab" version = "0.4.7" @@ -3211,9 +5665,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "smawk" @@ -3222,15 +5676,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" [[package]] -name = "socket2" -version = "0.4.4" +name = "snow" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d" +dependencies = [ + "aes-gcm", + "blake2", + "chacha20poly1305", + "curve25519-dalek 4.0.0-pre.1", + "rand_core 0.6.4", + "ring", + "rustc_version", + "sha2 0.10.6", + "subtle", +] + +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", ] +[[package]] +name = "soketto" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +dependencies = [ + "base64 0.13.0", + "bytes", + "flate2", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha-1 0.9.8", +] + [[package]] name = "spin" version = "0.5.2" @@ -3247,12 +5734,32 @@ dependencies = [ "der", ] +[[package]] +name = "ssh-key" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e09d8b0ff2fca365c89ad535055c17adbd9fb0a5daf338299049882e95b6931" +dependencies = [ + "base64ct", + "ed25519-dalek", + "pem-rfc7468", + "rand_core 0.6.4", + "signature", + "zeroize", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "stop-token" version = "0.7.0" @@ -3262,7 +5769,7 @@ dependencies = [ "async-channel", "cfg-if", "futures-core", - "pin-project-lite", + "pin-project-lite 0.2.9", ] [[package]] @@ -3289,7 +5796,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck", + "heck 0.4.0", "proc-macro2", "quote", "rustversion", @@ -3304,9 +5811,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.103" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" dependencies = [ "proc-macro2", "quote", @@ -3331,12 +5838,42 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" +dependencies = [ + "bitflags", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tagger" version = "4.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77dd78fc7dd20ba3a13620ec231cef9e73ea5c7ba162f6c4e05b1d521e04b221" +[[package]] +name = "temp-env" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45107136c2ddf8c4b87453c02294fd0adf41751796e81e8ba3f7fd951977ab57" +dependencies = [ + "once_cell", +] + [[package]] name = "tempfile" version = "3.3.0" @@ -3369,6 +5906,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "textwrap" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" + [[package]] name = "textwrap" version = "0.16.0" @@ -3400,6 +5943,15 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + [[package]] name = "time" version = "0.1.44" @@ -3411,6 +5963,18 @@ dependencies = [ "winapi", ] +[[package]] +name = "time" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b" +dependencies = [ + "itoa 1.0.3", + "libc", + "num_threads", + "serde", +] + [[package]] name = "tinytemplate" version = "1.2.1" @@ -3438,9 +6002,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.2" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" +checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3" dependencies = [ "autocfg", "bytes", @@ -3448,14 +6012,24 @@ dependencies = [ "memchr", "mio", "num_cpus", - "parking_lot", - "pin-project-lite", + "parking_lot 0.12.1", + "pin-project-lite 0.2.9", "signal-hook-registry", "socket2", "tokio-macros", "winapi", ] +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite 0.2.9", + "tokio", +] + [[package]] name = "tokio-macros" version = "1.8.0" @@ -3477,6 +6051,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + [[package]] name = "tokio-stream" version = "0.1.11" @@ -3484,7 +6069,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", - "pin-project-lite", + "pin-project-lite 0.2.9", "tokio", ] @@ -3517,14 +6102,28 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.3" +version = "0.6.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" dependencies = [ "bytes", "futures-core", "futures-sink", - "pin-project-lite", + "log", + "pin-project-lite 0.2.9", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite 0.2.9", "tokio", "tracing", ] @@ -3538,6 +6137,49 @@ dependencies = [ "serde", ] +[[package]] +name = "tonic" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" +dependencies = [ + "async-stream", + "async-trait", + "base64 0.13.0", + "bytes", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-timeout", + "percent-encoding", + "pin-project", + "prost 0.9.0", + "prost-derive 0.9.0", + "tokio", + "tokio-stream", + "tokio-util 0.6.10", + "tower", + "tower-layer", + "tower-service", + "tracing", + "tracing-futures", +] + +[[package]] +name = "tonic-build" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" +dependencies = [ + "proc-macro2", + "prost-build 0.9.0", + "quote", + "syn", +] + [[package]] name = "tower" version = "0.4.13" @@ -3546,9 +6188,13 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project", - "pin-project-lite", + "pin-project-lite 0.2.9", + "rand 0.8.5", + "slab", "tokio", + "tokio-util 0.7.4", "tower-layer", "tower-service", "tracing", @@ -3567,7 +6213,7 @@ dependencies = [ "http", "http-body", "http-range-header", - "pin-project-lite", + "pin-project-lite 0.2.9", "tower", "tower-layer", "tower-service", @@ -3593,7 +6239,7 @@ checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" dependencies = [ "cfg-if", "log", - "pin-project-lite", + "pin-project-lite 0.2.9", "tracing-attributes", "tracing-core", ] @@ -3616,6 +6262,85 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-opentelemetry" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" +dependencies = [ + "once_cell", + "opentelemetry", + "tracing", + "tracing-core", + "tracing-log", + "tracing-subscriber", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60db860322da191b40952ad9affe65ea23e7dd6a5c442c2c42865810c6ab8e6b" +dependencies = [ + "ansi_term", + "matchers", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "trust-dns-proto" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c31f240f59877c3d4bb3b3ea0ec5a6a0cff07323580ff8c7a605cd7d08b255d" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner 0.4.0", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.2.3", + "ipnet", + "lazy_static", + "log", + "rand 0.8.5", + "smallvec", + "thiserror", + "tinyvec", + "tokio", + "url", ] [[package]] @@ -3627,7 +6352,7 @@ dependencies = [ "async-trait", "cfg-if", "data-encoding", - "enum-as-inner", + "enum-as-inner 0.5.1", "futures-channel", "futures-io", "futures-util", @@ -3643,6 +6368,26 @@ dependencies = [ "url", ] +[[package]] +name = "trust-dns-resolver" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ba72c2ea84515690c9fcef4c6c660bb9df3036ed1051686de84605b74fd558" +dependencies = [ + "cfg-if", + "futures-util", + "ipconfig", + "lazy_static", + "log", + "lru-cache", + "parking_lot 0.12.1", + "resolv-conf", + "smallvec", + "thiserror", + "tokio", + "trust-dns-proto 0.21.2", +] + [[package]] name = "trust-dns-resolver" version = "0.22.0" @@ -3654,13 +6399,13 @@ dependencies = [ "ipconfig", "lazy_static", "lru-cache", - "parking_lot", + "parking_lot 0.12.1", "resolv-conf", "smallvec", "thiserror", "tokio", "tracing", - "trust-dns-proto", + "trust-dns-proto 0.22.0", ] [[package]] @@ -3675,14 +6420,14 @@ version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" dependencies = [ - "base64 0.13.1", + "base64 0.13.0", "byteorder", "bytes", "http", "httparse", "log", "rand 0.8.5", - "sha-1", + "sha-1 0.10.0", "thiserror", "url", "utf-8", @@ -3694,7 +6439,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78e83a30223c757c3947cd144a31014ff04298d8719ae10d03c31c0448c8013" dependencies = [ - "cipher", + "cipher 0.4.3", ] [[package]] @@ -3727,6 +6472,24 @@ dependencies = [ "syn", ] +[[package]] +name = "ucd-trie" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" + +[[package]] +name = "uint" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + [[package]] name = "unicode-bidi" version = "0.3.8" @@ -3735,9 +6498,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" +checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" [[package]] name = "unicode-linebreak" @@ -3751,18 +6514,18 @@ dependencies = [ [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" [[package]] name = "unicode-width" @@ -3772,9 +6535,37 @@ checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "universal-hash" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "unsigned-varint" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836" +dependencies = [ + "asynchronous-codec", + "bytes", + "futures-io", + "futures-util", +] + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" @@ -3810,14 +6601,20 @@ dependencies = [ [[package]] name = "uuid" -version = "1.2.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" +checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" dependencies = [ "getrandom 0.2.7", "serde", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "vcpkg" version = "0.2.15" @@ -3836,6 +6633,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + [[package]] name = "waker-fn" version = "1.1.0" @@ -3883,9 +6686,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3893,9 +6696,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", "log", @@ -3908,9 +6711,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if", "js-sys", @@ -3920,9 +6723,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3930,9 +6733,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -3943,26 +6746,80 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.11.2", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] [[package]] name = "web-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1c760f0d366a6c24a02ed7816e23e691f5d92291f94d15e836006fd11b04daf" +dependencies = [ + "webpki", +] + [[package]] name = "weezl" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" +[[package]] +name = "wepoll-ffi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" +dependencies = [ + "cc", +] + +[[package]] +name = "which" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +dependencies = [ + "either", + "libc", + "once_cell", +] + [[package]] name = "widestring" version = "0.5.1" @@ -4000,6 +6857,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f" +dependencies = [ + "windows_aarch64_msvc 0.34.0", + "windows_i686_gnu 0.34.0", + "windows_i686_msvc 0.34.0", + "windows_x86_64_gnu 0.34.0", + "windows_x86_64_msvc 0.34.0", +] + [[package]] name = "windows-sys" version = "0.36.1" @@ -4014,25 +6884,10 @@ dependencies = [ ] [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows_aarch64_msvc" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" [[package]] name = "windows_aarch64_msvc" @@ -4041,10 +6896,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] -name = "windows_aarch64_msvc" -version = "0.42.0" +name = "windows_i686_gnu" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" [[package]] name = "windows_i686_gnu" @@ -4053,10 +6908,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] -name = "windows_i686_gnu" -version = "0.42.0" +name = "windows_i686_msvc" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" [[package]] name = "windows_i686_msvc" @@ -4065,10 +6920,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] -name = "windows_i686_msvc" -version = "0.42.0" +name = "windows_x86_64_gnu" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" [[package]] name = "windows_x86_64_gnu" @@ -4077,16 +6932,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] -name = "windows_x86_64_gnu" -version = "0.42.0" +name = "windows_x86_64_msvc" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" [[package]] name = "windows_x86_64_msvc" @@ -4094,12 +6943,6 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" - [[package]] name = "winreg" version = "0.7.0" @@ -4124,7 +6967,7 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 3.2.0", "rand_core 0.5.1", "zeroize", ] @@ -4138,6 +6981,29 @@ dependencies = [ "libc", ] +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "yamux" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot 0.12.1", + "rand 0.8.5", + "static_assertions", +] + [[package]] name = "yerpc" version = "0.3.1" @@ -4193,3 +7059,13 @@ dependencies = [ "syn", "synstructure", ] + +[[package]] +name = "zstd-sys" +version = "2.0.1+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" +dependencies = [ + "cc", + "libc", +] diff --git a/Cargo.toml b/Cargo.toml index 62a30a06c..e160d0adf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ license = "MPL-2.0" rust-version = "1.57" [profile.dev] -#debug = 0 +debug = 0 panic = 'abort' opt-level = 1 @@ -86,7 +86,8 @@ async_zip = { version = "0.0.9", default-features = false, features = ["deflate" iroh-share = { git = "https://github.com/n0-computer/iroh", branch = "main" } iroh-resolver = { git = "https://github.com/n0-computer/iroh", branch = "main", default-features = false } tempfile = "3" -multibase = "0.9.1" +multibase = "0.9" +port_check = "0.1.5" [dev-dependencies] ansi_term = "0.12.0" diff --git a/examples/repl/cmdline.rs b/examples/repl/cmdline.rs index 83a7e9bb9..fdd5314ab 100644 --- a/examples/repl/cmdline.rs +++ b/examples/repl/cmdline.rs @@ -477,10 +477,12 @@ pub async fn cmdline(context: Context, line: &str, chat_id: &mut ChatId) -> Resu Some(arg2.to_string()), ) .await?; - println!("Exported to {}.", dir.to_string_lossy()); + println!("Exported to {}.", dir.display()); } "send-backup" => { - let dir = dirs::home_dir().unwrap_or_default(); + let tdir = tempfile::TempDir::new()?; + let dir = tdir.path(); + println!("Storing backup in: {} ", dir.display()); let transfer = send_backup(&context, dir.as_ref(), Some(arg1.to_string())).await?; let ticket = transfer.ticket(); let ticket_bytes = ticket.as_bytes(); diff --git a/foo-shm b/foo-shm new file mode 100644 index 0000000000000000000000000000000000000000..85e14c8a0d8c6102ba4e761a0b4989852b36750b GIT binary patch literal 32768 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, @@ -135,7 +139,7 @@ pub async fn receive_backup( res } -pub async fn receive_backup_inner( +async fn receive_backup_inner( context: &Context, ticket_bytes: Vec, passphrase: String, @@ -153,11 +157,12 @@ pub async fn receive_backup_inner( let recv_dir = tempfile::tempdir().unwrap(); let recv_db = recv_dir.path().join("db"); - let port = 9991; + let port = port_check::free_local_port() + .ok_or_else(|| anyhow!("failed to find free local port to bind to"))?; let receiver = Receiver::new(port, &recv_db) .await - .context("failed to create sender")?; + .context("failed to create receiver")?; let mut receiver_transfer = receiver .transfer_from_ticket(&ticket) .await @@ -200,9 +205,10 @@ pub async fn receive_backup_inner( let name = link.name.unwrap_or_default(); let path = out.join(&name); - let mut file = tokio::fs::File::create(&path) + let file = tokio::fs::File::create(&path) .await .with_context(|| format!("create file: {}", path.display()))?; + let mut file = tokio::io::BufWriter::new(file); let mut content = file_content.pretty()?; tokio::io::copy(&mut content, &mut file) .await @@ -232,6 +238,10 @@ pub async fn receive_backup_inner( Ok(()) } +/// Send a backup. +/// +/// Only one send-progress can run at the same time. +/// To cancel a send-progress, drop the future returned by this function. pub async fn send_backup( context: &Context, path: &Path, @@ -829,7 +839,8 @@ async fn export_backup_iroh( match res { Ok(dir_builder) => { - let port = 9990; + let port = port_check::free_local_port() + .ok_or_else(|| anyhow!("failed to find free local port to bind to"))?; let sender = iroh_share::Sender::new(port, &sender_db_path).await?; let transfer = sender.transfer_from_dir_builder(dir_builder).await?;