From 84746402786d3124025f67caa476fee37e60e79c Mon Sep 17 00:00:00 2001 From: asonix Date: Sun, 1 Aug 2021 15:12:06 -0500 Subject: [PATCH] Bump dependencies --- Cargo.lock | 432 ++++++++++++++++++++----------------- Cargo.toml | 7 +- src/data/state.rs | 8 +- src/db.rs | 14 +- src/error.rs | 3 +- src/middleware/verifier.rs | 5 +- src/requests.rs | 8 +- src/routes/actor.rs | 4 +- 8 files changed, 256 insertions(+), 225 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fa14207..4254626 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,7 +10,7 @@ checksum = "3a5da1d857ec9ca65ef8d0469cdd64e7b93b59d6cad26f1444bf84b62f3eadd4" dependencies = [ "chrono", "mime", - "serde 1.0.126", + "serde 1.0.127", "serde_json", "thiserror", "url", @@ -23,7 +23,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb8e19a0810cc25df3535061a08b7d8f8a734d309ea4411c57a9767e4a2ffa0e" dependencies = [ "activitystreams", - "serde 1.0.126", + "serde 1.0.127", "serde_json", ] @@ -54,7 +54,7 @@ dependencies = [ "actix-service", "actix-tls", "actix-utils", - "ahash 0.7.4", + "ahash", "base64", "bitflags", "brotli2", @@ -79,7 +79,7 @@ dependencies = [ "pin-project-lite", "rand 0.8.4", "regex", - "serde 1.0.126", + "serde 1.0.127", "sha-1", "smallvec", "time 0.2.27", @@ -107,7 +107,7 @@ dependencies = [ "http", "log", "regex", - "serde 1.0.126", + "serde 1.0.127", ] [[package]] @@ -193,7 +193,7 @@ dependencies = [ "actix-service", "actix-utils", "actix-web-codegen", - "ahash 0.7.4", + "ahash", "bytes", "cfg-if", "derive_more", @@ -209,7 +209,7 @@ dependencies = [ "paste", "pin-project", "regex", - "serde 1.0.126", + "serde 1.0.127", "serde_json", "serde_urlencoded", "smallvec", @@ -238,7 +238,7 @@ dependencies = [ "actix-rt", "actix-web", "awc", - "serde 1.0.126", + "serde 1.0.127", "serde_derive", "thiserror", ] @@ -249,12 +249,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "ahash" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" - [[package]] name = "ahash" version = "0.7.4" @@ -277,9 +271,9 @@ dependencies = [ [[package]] name = "ammonia" -version = "3.1.1" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee7d6eb157f337c5cedc95ddf17f0cbc36d36eb7763c8e0d1c1aeb3722f6279" +checksum = "2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35" dependencies = [ "html5ever", "lazy_static", @@ -301,9 +295,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.41" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" +checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486" [[package]] name = "arrayvec" @@ -332,9 +326,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.50" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" +checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" dependencies = [ "proc-macro2", "quote", @@ -377,7 +371,6 @@ dependencies = [ "base64", "bytes", "cfg-if", - "cookie", "derive_more", "futures-core", "itoa", @@ -387,7 +380,7 @@ dependencies = [ "pin-project-lite", "rand 0.8.4", "rustls", - "serde 1.0.126", + "serde 1.0.127", "serde_json", "serde_urlencoded", ] @@ -416,7 +409,7 @@ dependencies = [ "chrono", "log", "num_cpus", - "serde 1.0.126", + "serde 1.0.127", "serde_json", "thiserror", "tokio", @@ -435,7 +428,7 @@ dependencies = [ "async-trait", "chrono", "log", - "serde 1.0.126", + "serde 1.0.127", "serde_json", "thiserror", "tokio", @@ -455,10 +448,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] -name = "bit-vec" -version = "0.6.3" +name = "base64ct" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "d0d27fb6b6f1e43147af148af49d49329413ba781aa0d5e10979831c210173b5" [[package]] name = "bitflags" @@ -542,9 +535,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" dependencies = [ "jobserver", ] @@ -564,7 +557,7 @@ dependencies = [ "libc", "num-integer", "num-traits 0.2.14", - "serde 1.0.126", + "serde 1.0.127", "time 0.1.44", "winapi", ] @@ -593,13 +586,19 @@ dependencies = [ "lazy_static", "nom 5.1.2", "rust-ini", - "serde 1.0.126", + "serde 1.0.127", "serde-hjson", "serde_json", "toml", "yaml-rust", ] +[[package]] +name = "const-oid" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c32f031ea41b4291d695026c023b95d59db2d8a2c7640800ed56bc8f510f22" + [[package]] name = "const_fn" version = "0.4.8" @@ -612,17 +611,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "cookie" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf8865bac3d9a3bde5bde9088ca431b11f5d37c7a578b8086af77248b76627" -dependencies = [ - "percent-encoding", - "time 0.2.27", - "version_check", -] - [[package]] name = "cpufeatures" version = "0.1.5" @@ -665,14 +653,36 @@ dependencies = [ ] [[package]] -name = "derive_more" -version = "0.99.14" +name = "crypto-bigint" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320" +checksum = "b32a398eb1ccfbe7e4f452bc749c44d38dd732e9a253f19da224c416f00ee7f4" +dependencies = [ + "generic-array", + "rand_core 0.6.3", + "subtle", +] + +[[package]] +name = "der" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f215f706081a44cb702c71c39a52c05da637822e9c1645a50b7202689e982d" +dependencies = [ + "const-oid", + "crypto-bigint", +] + +[[package]] +name = "derive_more" +version = "0.99.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" dependencies = [ "convert_case", "proc-macro2", "quote", + "rustc_version 0.3.3", "syn", ] @@ -727,9 +737,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.8.4" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" dependencies = [ "atty", "humantime 2.1.0", @@ -800,9 +810,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b" dependencies = [ "futures-channel", "futures-core", @@ -815,9 +825,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9" dependencies = [ "futures-core", "futures-sink", @@ -825,15 +835,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" +checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99" [[package]] name = "futures-executor" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c" dependencies = [ "futures-core", "futures-task", @@ -842,15 +852,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" +checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582" [[package]] name = "futures-macro" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57" dependencies = [ "autocfg 1.0.1", "proc-macro-hack", @@ -861,21 +871,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" +checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53" [[package]] name = "futures-task" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" +checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2" [[package]] name = "futures-util" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78" dependencies = [ "autocfg 1.0.1", "futures-channel", @@ -954,11 +964,11 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ - "ahash 0.4.7", + "ahash", ] [[package]] @@ -1016,9 +1026,9 @@ dependencies = [ [[package]] name = "http-signature-normalization-actix" -version = "0.5.0-beta.6" +version = "0.5.0-beta.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fddb5f0de5059c337a00cfe5b224768e1821327da9df4b6f27762cbf305126d" +checksum = "aa7cf7b03512ba7341b4252794751c5ff46635e0ff33eb864a929a5b7381e17a" dependencies = [ "actix-web", "awc", @@ -1065,9 +1075,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" dependencies = [ "autocfg 1.0.1", "hashbrown", @@ -1075,9 +1085,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" dependencies = [ "cfg-if", ] @@ -1145,9 +1155,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.97" +version = "0.2.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" [[package]] name = "libm" @@ -1199,9 +1209,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f374d42cdfc1d7dbf3d3dec28afab2eb97ffbf43a3234d795b5986dbf4b90ba" +checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" dependencies = [ "hashbrown", ] @@ -1341,9 +1351,9 @@ dependencies = [ [[package]] name = "nom_locate" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302954611858a07e00f85110b4ea61859dea77d63f109bd60ab7b8eb533bbacb" +checksum = "4689294073dda8a54e484212171efdcb6b12b1908fd70c3dc3eec15b8833b06d" dependencies = [ "bytecount", "memchr", @@ -1359,17 +1369,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg 1.0.1", - "num-integer", - "num-traits 0.2.14", -] - [[package]] name = "num-bigint" version = "0.4.0" @@ -1395,7 +1394,7 @@ dependencies = [ "num-iter", "num-traits 0.2.14", "rand 0.8.4", - "serde 1.0.126", + "serde 1.0.127", "smallvec", "zeroize", ] @@ -1505,14 +1504,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" [[package]] -name = "pem" -version = "0.8.3" +name = "pem-rfc7468" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb" +checksum = "b8fe90c78c9a17442665a41a1a45dcd24bbab0e1794748edc19b27fffb146c13" dependencies = [ - "base64", - "once_cell", - "regex", + "base64ct", ] [[package]] @@ -1521,6 +1518,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + [[package]] name = "phf" version = "0.8.0" @@ -1561,18 +1567,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4" +checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" +checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" dependencies = [ "proc-macro2", "quote", @@ -1591,6 +1597,30 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "359e7852310174a810f078124edb73c66e88a1a731b2fd586dba34ee32dbe416" +dependencies = [ + "der", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "pkcs8" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbee84ed13e44dd82689fa18348a49934fa79cc774a344c42fc9b301c71b140a" +dependencies = [ + "der", + "pem-rfc7468", + "pkcs1", + "spki", + "zeroize", +] + [[package]] name = "ppv-lite86" version = "0.2.10" @@ -1651,9 +1681,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" dependencies = [ "unicode-xid", ] @@ -1815,7 +1845,7 @@ dependencies = [ "chrono", "config", "dotenv", - "env_logger 0.8.4", + "env_logger 0.9.0", "futures", "http-signature-normalization-actix", "log", @@ -1825,9 +1855,8 @@ dependencies = [ "rand 0.8.4", "rsa", "rsa-magic-public-key", - "rsa-pem", "ructe", - "serde 1.0.126", + "serde 1.0.127", "serde_json", "sha2", "sled", @@ -1853,9 +1882,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ef841a26fc5d040ced0417c6c6a64ee851f42489df11cdf0218e545b6f8d28" +checksum = "e05c2603e2823634ab331437001b411b9ed11660fbc4066f3908c84a9439260d" dependencies = [ "byteorder", "digest", @@ -1864,18 +1893,18 @@ dependencies = [ "num-integer", "num-iter", "num-traits 0.2.14", - "pem", + "pkcs1", + "pkcs8", "rand 0.8.4", - "simple_asn1", "subtle", "zeroize", ] [[package]] name = "rsa-magic-public-key" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86205126c31151c1c0f5465807f16fdb55d7c930f593e6bea47153bdab1036d" +checksum = "3dfd507b48b62977d82ac74ef72a9cf2fdc90821540f4525b01280bbe1dd49cc" dependencies = [ "base64", "num-bigint-dig", @@ -1883,33 +1912,16 @@ dependencies = [ "thiserror", ] -[[package]] -name = "rsa-pem" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03f86b444b3633e1a4e270bdd39974ad9a9c500c7cf971b401b7c7051f19446" -dependencies = [ - "bit-vec", - "log", - "num-bigint 0.2.6", - "num-bigint-dig", - "num-traits 0.2.14", - "pem", - "rsa", - "thiserror", - "yasna", -] - [[package]] name = "rsass" -version = "0.22.0" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0521270960b3d962dc8cbb130f8ee6e79d574cf7dede1ce1f8a036d8d6b958eb" +checksum = "d12b2ef4a0638222476c8ca9cb0a51184647404fe637a088fc0dc06f0c14512d" dependencies = [ "lazy_static", "nom 6.2.1", "nom_locate", - "num-bigint 0.4.0", + "num-bigint", "num-integer", "num-rational", "num-traits 0.2.14", @@ -1943,7 +1955,16 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" dependencies = [ - "semver", + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", ] [[package]] @@ -1987,7 +2008,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser", + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser 0.10.2", ] [[package]] @@ -1996,6 +2026,15 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + [[package]] name = "serde" version = "0.8.23" @@ -2004,9 +2043,9 @@ checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" [[package]] name = "serde" -version = "1.0.126" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8" dependencies = [ "serde_derive", ] @@ -2025,9 +2064,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.126" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc" dependencies = [ "proc-macro2", "quote", @@ -2036,13 +2075,13 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127" dependencies = [ "itoa", "ryu", - "serde 1.0.126", + "serde 1.0.127", ] [[package]] @@ -2054,14 +2093,14 @@ dependencies = [ "form_urlencoded", "itoa", "ryu", - "serde 1.0.126", + "serde 1.0.127", ] [[package]] name = "sha-1" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16" +checksum = "1a0c8611594e2ab4ebbf06ec7cbbf0a99450b8570e96cbf5188b5d5f6ef18d81" dependencies = [ "block-buffer", "cfg-if", @@ -2098,23 +2137,11 @@ dependencies = [ "libc", ] -[[package]] -name = "simple_asn1" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb4ea60fb301dc81dfc113df680571045d375ab7345d171c5dc7d7e13107a80" -dependencies = [ - "chrono", - "num-bigint 0.4.0", - "num-traits 0.2.14", - "thiserror", -] - [[package]] name = "siphasher" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbce6d4507c7e4a3962091436e56e95290cb71fa302d0d270e32130b75fbff27" +checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1" [[package]] name = "slab" @@ -2146,9 +2173,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" [[package]] name = "socket2" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" dependencies = [ "libc", "winapi", @@ -2160,6 +2187,15 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spki" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "987637c5ae6b3121aba9d513f869bd2bff11c4cc086c22473befd6649c0bd521" +dependencies = [ + "der", +] + [[package]] name = "standback" version = "0.2.17" @@ -2182,7 +2218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" dependencies = [ "discard", - "rustc_version", + "rustc_version 0.2.3", "stdweb-derive", "stdweb-internal-macros", "stdweb-internal-runtime", @@ -2197,7 +2233,7 @@ checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" dependencies = [ "proc-macro2", "quote", - "serde 1.0.126", + "serde 1.0.127", "serde_derive", "syn", ] @@ -2211,7 +2247,7 @@ dependencies = [ "base-x", "proc-macro2", "quote", - "serde 1.0.126", + "serde 1.0.127", "serde_derive", "serde_json", "sha1", @@ -2234,7 +2270,7 @@ dependencies = [ "new_debug_unreachable", "phf_shared", "precomputed-hash", - "serde 1.0.126", + "serde 1.0.127", ] [[package]] @@ -2257,9 +2293,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c" +checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71" dependencies = [ "clap", "lazy_static", @@ -2268,9 +2304,9 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90" +checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10" dependencies = [ "heck", "proc-macro-error", @@ -2281,15 +2317,15 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.73" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c" dependencies = [ "proc-macro2", "quote", @@ -2298,9 +2334,9 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" +checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" dependencies = [ "proc-macro2", "quote", @@ -2345,18 +2381,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" dependencies = [ "proc-macro2", "quote", @@ -2414,9 +2450,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" dependencies = [ "tinyvec_macros", ] @@ -2429,9 +2465,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.7.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb2ed024293bb19f7a5dc54fe83bf86532a44c12a2bb8ba40d64a4509395ca2" +checksum = "4b7b349f11a7047e6d1276853e612d152f5e8a352c61917887cc2169e2366b4c" dependencies = [ "autocfg 1.0.1", "bytes", @@ -2476,7 +2512,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" dependencies = [ - "serde 1.0.126", + "serde 1.0.127", ] [[package]] @@ -2505,6 +2541,12 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" +[[package]] +name = "ucd-trie" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" + [[package]] name = "unicode-bidi" version = "0.3.5" @@ -2525,9 +2567,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" [[package]] name = "unicode-width" @@ -2557,7 +2599,7 @@ dependencies = [ "idna", "matches", "percent-encoding", - "serde 1.0.126", + "serde 1.0.127", ] [[package]] @@ -2573,7 +2615,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ "getrandom 0.2.3", - "serde 1.0.126", + "serde 1.0.127", ] [[package]] @@ -2741,21 +2783,11 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "yasna" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de7bff972b4f2a06c85f6d8454b09df153af7e3a4ec2aac81db1b105b684ddb" -dependencies = [ - "bit-vec", - "num-bigint 0.2.6", -] - [[package]] name = "zeroize" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +checksum = "377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd" dependencies = [ "zeroize_derive", ] diff --git a/Cargo.toml b/Cargo.toml index 336d85b..5f4d534 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ base64 = "0.13" chrono = "0.4.19" config = "0.11.0" dotenv = "0.15.0" -env_logger = "0.8.2" +env_logger = "0.9.0" futures = "0.3.12" http-signature-normalization-actix = { version = "0.5.0-beta.6", default-features = false, features = ["sha-2"] } log = "0.4" @@ -36,9 +36,8 @@ lru = "0.6.0" mime = "0.3.16" pretty_env_logger = "0.4.0" rand = "0.8" -rsa = "0.4" -rsa-magic-public-key = "0.3.0" -rsa-pem = "0.3.0" +rsa = "0.5" +rsa-magic-public-key = "0.4.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" sha2 = "0.9" diff --git a/src/data/state.rs b/src/data/state.rs index e860dff..6a8a4f6 100644 --- a/src/data/state.rs +++ b/src/data/state.rs @@ -11,13 +11,13 @@ use async_rwlock::RwLock; use log::info; use lru::LruCache; use rand::thread_rng; -use rsa::{RSAPrivateKey, RSAPublicKey}; +use rsa::{RsaPrivateKey, RsaPublicKey}; use std::sync::Arc; #[derive(Clone)] pub struct State { - pub(crate) public_key: RSAPublicKey, - private_key: RSAPrivateKey, + pub(crate) public_key: RsaPublicKey, + private_key: RsaPrivateKey, config: Config, object_cache: Arc>>, node_cache: NodeCache, @@ -81,7 +81,7 @@ impl State { info!("Generating new keys"); let key = web::block(move || { let mut rng = thread_rng(); - RSAPrivateKey::new(&mut rng, 4096) + RsaPrivateKey::new(&mut rng, 4096) }) .await??; diff --git a/src/db.rs b/src/db.rs index 2daf5a9..41f6c3c 100644 --- a/src/db.rs +++ b/src/db.rs @@ -1,8 +1,10 @@ use crate::{config::Config, error::MyError}; use activitystreams::url::Url; use actix_web::web::Bytes; -use rsa::RSAPrivateKey; -use rsa_pem::KeyExt; +use rsa::{ + pkcs8::{FromPrivateKey, ToPrivateKey}, + RsaPrivateKey, +}; use sled::Tree; use std::{collections::HashMap, sync::Arc, time::SystemTime}; use uuid::Uuid; @@ -582,11 +584,11 @@ impl Db { .await } - pub(crate) async fn private_key(&self) -> Result, MyError> { + pub(crate) async fn private_key(&self) -> Result, MyError> { self.unblock(|inner| { if let Some(ivec) = inner.settings.get("private-key")? { let key_str = String::from_utf8_lossy(&ivec); - let key = RSAPrivateKey::from_pem_pkcs8(&key_str)?; + let key = RsaPrivateKey::from_pkcs8_pem(&key_str)?; Ok(Some(key)) } else { @@ -598,9 +600,9 @@ impl Db { pub(crate) async fn update_private_key( &self, - private_key: &RSAPrivateKey, + private_key: &RsaPrivateKey, ) -> Result<(), MyError> { - let pem_pkcs8 = private_key.to_pem_pkcs8()?; + let pem_pkcs8 = private_key.to_pkcs8_pem()?; self.unblock(move |inner| { inner diff --git a/src/error.rs b/src/error.rs index 005b0e5..e13f682 100644 --- a/src/error.rs +++ b/src/error.rs @@ -6,7 +6,6 @@ use actix_web::{ }; use http_signature_normalization_actix::PrepareSignError; use log::error; -use rsa_pem::KeyError; use std::{convert::Infallible, fmt::Debug, io::Error}; #[derive(Debug, thiserror::Error)] @@ -18,7 +17,7 @@ pub(crate) enum MyError { Config(#[from] config::ConfigError), #[error("Couldn't parse key, {0}")] - Key(#[from] KeyError), + Pkcs8(#[from] rsa::pkcs8::Error), #[error("Couldn't parse URI, {0}")] Uri(#[from] ParseError), diff --git a/src/middleware/verifier.rs b/src/middleware/verifier.rs index 26177ef..6d7fd1e 100644 --- a/src/middleware/verifier.rs +++ b/src/middleware/verifier.rs @@ -8,8 +8,7 @@ use activitystreams::{base::BaseExt, uri, url::Url}; use actix_web::web; use http_signature_normalization_actix::{prelude::*, verify::DeprecatedAlgorithm}; use log::error; -use rsa::{hash::Hash, padding::PaddingScheme, PublicKey, RSAPublicKey}; -use rsa_pem::KeyExt; +use rsa::{hash::Hash, padding::PaddingScheme, pkcs8::FromPublicKey, PublicKey, RsaPublicKey}; use sha2::{Digest, Sha256}; use std::{future::Future, pin::Pin}; @@ -108,7 +107,7 @@ async fn do_verify( signature: String, signing_string: String, ) -> Result<(), MyError> { - let public_key = RSAPublicKey::from_pem_pkcs8(public_key)?; + let public_key = RsaPublicKey::from_public_key_pem(public_key)?; web::block(move || { let decoded = base64::decode(signature)?; diff --git a/src/requests.rs b/src/requests.rs index 742b333..bc7ccdd 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -7,7 +7,7 @@ use awc::Client; use chrono::{DateTime, Utc}; use http_signature_normalization_actix::prelude::*; use log::{debug, info, warn}; -use rsa::{hash::Hash, padding::PaddingScheme, RSAPrivateKey}; +use rsa::{hash::Hash, padding::PaddingScheme, RsaPrivateKey}; use sha2::{Digest, Sha256}; use std::{ cell::RefCell, @@ -148,7 +148,7 @@ pub(crate) struct Requests { error_limit: usize, key_id: String, user_agent: String, - private_key: RSAPrivateKey, + private_key: RsaPrivateKey, config: Config, breakers: Breakers, } @@ -156,7 +156,7 @@ pub(crate) struct Requests { impl Requests { pub(crate) fn new( key_id: String, - private_key: RSAPrivateKey, + private_key: RsaPrivateKey, user_agent: String, breakers: Breakers, ) -> Self { @@ -396,7 +396,7 @@ impl Requests { } struct Signer { - private_key: RSAPrivateKey, + private_key: RsaPrivateKey, } impl Signer { diff --git a/src/routes/actor.rs b/src/routes/actor.rs index 09b7928..a7e503c 100644 --- a/src/routes/actor.rs +++ b/src/routes/actor.rs @@ -13,7 +13,7 @@ use activitystreams::{ }; use activitystreams_ext::Ext1; use actix_web::{web, Responder}; -use rsa_pem::KeyExt; +use rsa::pkcs8::ToPublicKey; pub(crate) async fn route( state: web::Data, @@ -25,7 +25,7 @@ pub(crate) async fn route( public_key: PublicKeyInner { id: config.generate_url(UrlKind::MainKey).into(), owner: config.generate_url(UrlKind::Actor).into(), - public_key_pem: state.public_key.to_pem_pkcs8()?, + public_key_pem: state.public_key.to_public_key_pem()?, }, }, );