From 5618d043bc3142dd573108f59260b0c3fae5b575 Mon Sep 17 00:00:00 2001 From: Rohan Sircar Date: Wed, 19 Aug 2020 13:42:02 +0530 Subject: [PATCH] Vastly improved error handling Vastly improved error handling in some functions. Rest will be done later. Code cleanup and fixed typos. Removed actix_htttp crate as dependency --- .env | 1 + Cargo.lock | 1087 ++---------------------------------- Cargo.toml | 15 +- src/errors/domain_error.rs | 6 +- src/main.rs | 5 +- src/models/users.rs | 8 - src/routes/auth.rs | 41 +- src/utils/auth.rs | 42 +- 8 files changed, 89 insertions(+), 1116 deletions(-) diff --git a/.env b/.env index 78978ff..e215e31 100644 --- a/.env +++ b/.env @@ -1,2 +1,3 @@ DATABASE_URL=test.db BIND_ADDRESS=127.0.0.1:7800 +HASH_COST=8 diff --git a/Cargo.lock b/Cargo.lock index d5462b2..c868a59 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,7 +39,6 @@ name = "actix-demo" version = "0.1.0" dependencies = [ "actix-files", - "actix-http", "actix-identity", "actix-rt", "actix-service", @@ -55,7 +54,7 @@ dependencies = [ "diesel", "diesel_migrations", "dotenv", - "env_logger 0.7.1", + "env_logger", "futures", "json", "jsonwebtoken", @@ -74,8 +73,6 @@ dependencies = [ "uuid 0.8.1", "validator", "validator_derive", - "yarte", - "yarte_helpers", ] [[package]] @@ -166,7 +163,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21705adc76bbe4bc98434890e73a89cd00c6015e5704a60bb6eea6c3b72316b6" dependencies = [ - "quote 1.0.4", + "quote", "syn", ] @@ -333,8 +330,8 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f00371942083469785f7e28c540164af1913ee7c96a4534acb9cea92c39f057" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -366,68 +363,20 @@ dependencies = [ "memchr", ] -[[package]] -name = "annotate-snippets" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78ea013094e5ea606b1c05fe35f1dd7ea1eb1ea259908d040b25bd5ec677ee5" -dependencies = [ - "yansi-term", -] - -[[package]] -name = "ansi_colours" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d0f302a81afc6a7f4350c04f0ba7cfab529cc009bca3324b3fb5764e6add8b6" -dependencies = [ - "cc", -] - -[[package]] -name = "ansi_term" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -dependencies = [ - "winapi 0.3.8", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi 0.3.8", -] - [[package]] name = "arc-swap" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b585a98a234c46fc563103e9278c9391fde1f4e6850334da895d27edb9580f62" -[[package]] -name = "arrayref" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" - -[[package]] -name = "arrayvec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" - [[package]] name = "async-trait" version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da71fef07bc806586090247e971229289f64c210a278ee5ae419314eb386b31d" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -499,15 +448,6 @@ dependencies = [ "libc", ] -[[package]] -name = "base64" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" -dependencies = [ - "byteorder", -] - [[package]] name = "base64" version = "0.11.0" @@ -533,56 +473,12 @@ dependencies = [ "rand 0.7.3", ] -[[package]] -name = "bincode" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5753e2a71534719bf3f4e57006c3a4f0d2c672a4b676eec84161f763eca87dbf" -dependencies = [ - "byteorder", - "serde", -] - -[[package]] -name = "bindgen" -version = "0.50.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0e5a5f74b2bafe0b39379f616b5975e08bcaca4e779c078d5c31324147e9ba" -dependencies = [ - "bitflags", - "cexpr", - "cfg-if", - "clang-sys", - "clap", - "env_logger 0.6.2", - "fxhash", - "lazy_static", - "log", - "peeking_take_while", - "proc-macro2 0.4.30", - "quote 0.6.13", - "regex", - "shlex", - "which", -] - [[package]] name = "bitflags" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -[[package]] -name = "blake2b_simd" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - [[package]] name = "block-cipher-trait" version = "0.6.2" @@ -656,15 +552,6 @@ version = "1.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d87b23d6a92cd03af510a5ade527033f6aa6fa92161e2d5863a907d4c5e31d" -[[package]] -name = "cexpr" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fce5b5fb86b0c57c20c834c1b412fd09c77c8a59b9473f86272709e78874cd1d" -dependencies = [ - "nom", -] - [[package]] name = "cfg-if" version = "0.1.10" @@ -683,44 +570,6 @@ dependencies = [ "time", ] -[[package]] -name = "clang-sys" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81de550971c976f176130da4b2978d3b524eaa0fd9ac31f3ceb5ae1231fb4853" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "2.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" -dependencies = [ - "ansi_term 0.11.0", - "atty", - "bitflags", - "strsim 0.8.0", - "textwrap", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clicolors-control" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" -dependencies = [ - "atty", - "lazy_static", - "libc", - "winapi 0.3.8", -] - [[package]] name = "cloudabi" version = "0.0.3" @@ -736,38 +585,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7b6cae29f71a26f0dae0e291da438d6fced0e22e78aa1484cbbc085b5170949" -[[package]] -name = "console" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586208b33573b7f76ccfbe5adb076394c88deaf81b84d7213969805b0a952a7" -dependencies = [ - "clicolors-control", - "encode_unicode", - "lazy_static", - "libc", - "regex", - "terminal_size", - "termios", - "unicode-width", - "winapi 0.3.8", -] - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "content_inspector" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" -dependencies = [ - "memchr", -] - [[package]] name = "copyless" version = "0.1.4" @@ -783,91 +600,20 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg 1.0.0", - "cfg-if", - "lazy_static", -] - [[package]] name = "custom_error" version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a0fc65739ae998afc8d68e64bdac2efd1bc4ffa1a0703d171ef2defae3792f" -[[package]] -name = "darling" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2 1.0.12", - "quote 1.0.4", - "strsim 0.9.3", - "syn", -] - -[[package]] -name = "darling_macro" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" -dependencies = [ - "darling_core", - "quote 1.0.4", - "syn", -] - [[package]] name = "derive-new" version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71f31892cd5c62e414316f2963c5689242c43d8e7bbcaaeca97e5e28c95d91d9" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", -] - -[[package]] -name = "derive_builder" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0" -dependencies = [ - "darling", - "derive_builder_core", - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", -] - -[[package]] -name = "derive_builder_core" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef" -dependencies = [ - "darling", - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -877,8 +623,8 @@ version = "0.99.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2323f3f47db9a0e77ce7a300605d8d2098597fc451ed1a97bb1f6411bb550a7" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -901,8 +647,8 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -916,39 +662,6 @@ dependencies = [ "migrations_macros", ] -[[package]] -name = "directories" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c" -dependencies = [ - "cfg-if", - "dirs-sys", -] - -[[package]] -name = "dirs" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" -dependencies = [ - "libc", - "redox_users", - "winapi 0.3.8", -] - -[[package]] -name = "dirs-sys" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -dependencies = [ - "cfg-if", - "libc", - "redox_users", - "winapi 0.3.8", -] - [[package]] name = "dotenv" version = "0.15.0" @@ -967,76 +680,6 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" -dependencies = [ - "encoding-index-japanese", - "encoding-index-korean", - "encoding-index-simpchinese", - "encoding-index-singlebyte", - "encoding-index-tradchinese", -] - -[[package]] -name = "encoding-index-japanese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-korean" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-simpchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-singlebyte" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-tradchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding_index_tests" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" - [[package]] name = "encoding_rs" version = "0.8.22" @@ -1053,24 +696,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc4bfcfacb61d231109d1d55202c1f33263319668b168843e02ad4652725ec9c" dependencies = [ "heck", - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] -[[package]] -name = "env_logger" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - [[package]] name = "env_logger" version = "0.7.1" @@ -1084,16 +714,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "error-chain" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d371106cc88ffdfb1eabd7111e432da544f16f3e2d7bf1dfe8bf575f1df045cd" -dependencies = [ - "backtrace", - "version_check 0.9.1", -] - [[package]] name = "failure" version = "0.1.8" @@ -1110,8 +730,8 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", "synstructure", ] @@ -1168,16 +788,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -[[package]] -name = "futf" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b" -dependencies = [ - "mac", - "new_debug_unreachable", -] - [[package]] name = "futures" version = "0.3.4" @@ -1233,8 +843,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a5081aa3de1f7542a794a397cde100ed903b0630152d0973479018fd85423a7" dependencies = [ "proc-macro-hack", - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -1298,12 +908,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - [[package]] name = "h2" version = "0.2.5" @@ -1378,12 +982,6 @@ dependencies = [ "quick-error", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "0.2.0" @@ -1437,8 +1035,8 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "265ef164908329e47e753c769b14cbb27434abf0c41984dca201484022f09ce5" dependencies = [ - "phf 0.7.24", - "phf_codegen 0.7.24", + "phf", + "phf_codegen", ] [[package]] @@ -1507,28 +1105,12 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" - [[package]] name = "libc" version = "0.2.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005" -[[package]] -name = "libloading" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" -dependencies = [ - "cc", - "winapi 0.3.8", -] - [[package]] name = "libsqlite3-sys" version = "0.17.3" @@ -1540,15 +1122,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - [[package]] name = "linked-hash-map" version = "0.5.3" @@ -1593,29 +1166,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" - -[[package]] -name = "markup5ever" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae38d669396ca9b707bfc3db254bc382ddb94f57cc5c235f34623a669a01dab" -dependencies = [ - "log", - "phf 0.8.0", - "phf_codegen 0.8.0", - "serde", - "serde_derive", - "serde_json", - "string_cache", - "string_cache_codegen", - "tendril", -] - [[package]] name = "match_cfg" version = "0.1.0" @@ -1650,8 +1200,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c" dependencies = [ "migrations_internals", - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -1742,12 +1292,6 @@ dependencies = [ "winapi 0.3.8", ] -[[package]] -name = "new_debug_unreachable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" - [[package]] name = "nom" version = "4.2.3" @@ -1804,29 +1348,6 @@ version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1c601810575c99596d4afc46f78a678c80105117c379eb3650cf99b8a21ce5b" -[[package]] -name = "onig" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e723fc996fff1aeab8f62205f3e8528bf498bdd5eadb2784d2d31f30077947" -dependencies = [ - "bitflags", - "lazy_static", - "libc", - "onig_sys", -] - -[[package]] -name = "onig_sys" -version = "69.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8d4efbf5f59cece01f539305191485b651acb3785b9d5eef05749f0496514e" -dependencies = [ - "bindgen", - "cc", - "pkg-config", -] - [[package]] name = "opaque-debug" version = "0.2.3" @@ -1857,12 +1378,6 @@ dependencies = [ "winapi 0.3.8", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" version = "0.7.0" @@ -1886,16 +1401,7 @@ version = "0.7.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18" dependencies = [ - "phf_shared 0.7.24", -] - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_shared 0.8.0", + "phf_shared", ] [[package]] @@ -1904,18 +1410,8 @@ version = "0.7.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e" dependencies = [ - "phf_generator 0.7.24", - "phf_shared 0.7.24", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", + "phf_generator", + "phf_shared", ] [[package]] @@ -1924,36 +1420,17 @@ version = "0.7.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662" dependencies = [ - "phf_shared 0.7.24", + "phf_shared", "rand 0.6.5", ] -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared 0.8.0", - "rand 0.7.3", -] - [[package]] name = "phf_shared" version = "0.7.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0" dependencies = [ - "siphasher 0.2.3", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher 0.3.3", + "siphasher", ] [[package]] @@ -1971,8 +1448,8 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccbf6449dcfb18562c015526b085b8df1aa3cdab180af8ec2ebd300a3bd28f63" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -1994,53 +1471,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" -[[package]] -name = "plist" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b59eb8d91dfa89208ec74a920e3b55f840476cf46568026c18dbaa2999e0d48" -dependencies = [ - "base64 0.10.1", - "chrono", - "indexmap", - "line-wrap", - "serde", - "xml-rs", -] - [[package]] name = "ppv-lite86" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "prettyprint" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9764c1ec675e49ff70c4f76f0df91875d57220c4e7c8587d659684e91dd0ac" -dependencies = [ - "ansi_colours", - "ansi_term 0.12.1", - "atty", - "clap", - "console", - "content_inspector", - "derive_builder", - "directories", - "encoding", - "error-chain", - "lazy_static", - "shell-words", - "syntect", -] - [[package]] name = "proc-macro-hack" version = "0.5.15" @@ -2053,22 +1489,13 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694" -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] - [[package]] name = "proc-macro2" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319" dependencies = [ - "unicode-xid 0.2.0", + "unicode-xid", ] [[package]] @@ -2077,22 +1504,13 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - [[package]] name = "quote" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c1f4b0efa5fc5e8ceb705136bfee52cfdb6a4e3509f770b478cd6ed434232a7" dependencies = [ - "proc-macro2 1.0.12", + "proc-macro2", ] [[package]] @@ -2120,7 +1538,7 @@ dependencies = [ "rand_isaac", "rand_jitter", "rand_os", - "rand_pcg 0.1.2", + "rand_pcg", "rand_xorshift", "winapi 0.3.8", ] @@ -2136,7 +1554,6 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc 0.2.0", - "rand_pcg 0.2.1", ] [[package]] @@ -2245,15 +1662,6 @@ dependencies = [ "rand_core 0.4.2", ] -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - [[package]] name = "rand_xorshift" version = "0.1.1" @@ -2278,17 +1686,6 @@ version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" -[[package]] -name = "redox_users" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" -dependencies = [ - "getrandom", - "redox_syscall", - "rust-argon2", -] - [[package]] name = "regex" version = "1.3.7" @@ -2307,15 +1704,6 @@ version = "0.6.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fe5bd57d1d7414c6b5ed48563a2c855d995ff777729dcd91c369ec7fea395ae" -[[package]] -name = "remove_dir_all" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e" -dependencies = [ - "winapi 0.3.8", -] - [[package]] name = "resolv-conf" version = "0.6.3" @@ -2356,18 +1744,6 @@ dependencies = [ "time", ] -[[package]] -name = "rust-argon2" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" -dependencies = [ - "base64 0.11.0", - "blake2b_simd", - "constant_time_eq", - "crossbeam-utils", -] - [[package]] name = "rustc-demangle" version = "0.1.16" @@ -2380,21 +1756,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "scheduled-thread-pool" version = "0.2.4" @@ -2410,21 +1771,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - [[package]] name = "serde" version = "1.0.106" @@ -2440,8 +1786,8 @@ version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e549e3abf4fb8621bd1609f11dfc9f5e50320802273b12f3811a67e6716ea6c" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", ] @@ -2474,18 +1820,6 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" -[[package]] -name = "shell-words" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39acde55a154c4cd3ae048ac78cc21c25f3a0145e44111b523279113dce0d94a" - -[[package]] -name = "shlex" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" - [[package]] name = "signal-hook-registry" version = "1.2.0" @@ -2513,12 +1847,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" -[[package]] -name = "siphasher" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa8f3741c7372e75519bd9346068370c9cdaabcc1f9599cbcf2a2719352286b7" - [[package]] name = "slab" version = "0.4.2" @@ -2549,52 +1877,15 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" -[[package]] -name = "string_cache" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2940c75beb4e3bf3a494cef919a747a2cb81e52571e212bfbd185074add7208a" -dependencies = [ - "lazy_static", - "new_debug_unreachable", - "phf_shared 0.8.0", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", - "proc-macro2 1.0.12", - "quote 1.0.4", -] - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "strsim" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" - [[package]] name = "syn" version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8e5aa70697bb26ee62214ae3288465ecec0000f05182f039b477001f08f5ae7" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", - "unicode-xid 0.2.0", + "proc-macro2", + "quote", + "unicode-xid", ] [[package]] @@ -2603,56 +1894,10 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", - "unicode-xid 0.2.0", -] - -[[package]] -name = "syntect" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bc79276a4d38e39fbeb83c5fd9c23fbd027eeec7c50ee6a3d07deee33d7f621" -dependencies = [ - "bincode", - "bitflags", - "flate2", - "fnv", - "lazy_static", - "lazycell", - "onig", - "plist", - "regex-syntax", - "serde", - "serde_derive", - "serde_json", - "walkdir", -] - -[[package]] -name = "tempfile" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" -dependencies = [ - "cfg-if", - "libc", - "rand 0.7.3", - "redox_syscall", - "remove_dir_all", - "winapi 0.3.8", -] - -[[package]] -name = "tendril" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b" -dependencies = [ - "futf", - "mac", - "utf-8", + "unicode-xid", ] [[package]] @@ -2664,34 +1909,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8038f95fc7a6f351163f4b964af631bd26c9e828f7db085f2a84aca56f70d13b" -dependencies = [ - "libc", - "winapi 0.3.8", -] - -[[package]] -name = "termios" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0fcee7b24a25675de40d5bb4de6e41b0df07bc9856295e7e2b3a3600c400c2" -dependencies = [ - "libc", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - [[package]] name = "thread_local" version = "1.0.1" @@ -2778,28 +1995,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a" -dependencies = [ - "serde", -] - -[[package]] -name = "toolchain_find" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e458af37ead6107144c2e3bb892f605ddfad20251f12143cda8b9c9072b1ca45" -dependencies = [ - "dirs", - "lazy_static", - "regex", - "semver", - "walkdir", -] - [[package]] name = "trust-dns-proto" version = "0.18.0-alpha.2" @@ -2878,18 +2073,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" -[[package]] -name = "unicode-width" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - [[package]] name = "unicode-xid" version = "0.2.0" @@ -2913,12 +2096,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "utf-8" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7" - [[package]] name = "uuid" version = "0.6.5" @@ -2954,18 +2131,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2ca2a14bc3fc5b64d188b087a7d3a927df87b152e941ccfbc66672e20c467ae" dependencies = [ "nom", - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", -] - -[[package]] -name = "v_eval" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd8b599d797eb038d0dde9a3860aacb6bbba3bffa4ac64f807c8673820cc9d9" -dependencies = [ - "regex", + "proc-macro2", + "quote", "syn", ] @@ -3002,8 +2169,8 @@ checksum = "e668e9cd05c5009b833833aa1147e5727b5396ea401f22dd1167618eed4a10c9" dependencies = [ "if_chain", "lazy_static", - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "regex", "syn", "validator", @@ -3015,12 +2182,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version_check" version = "0.1.5" @@ -3033,17 +2194,6 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce" -[[package]] -name = "walkdir" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" -dependencies = [ - "same-file", - "winapi 0.3.8", - "winapi-util", -] - [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -3069,8 +2219,8 @@ dependencies = [ "bumpalo", "lazy_static", "log", - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", "wasm-bindgen-shared", ] @@ -3081,7 +2231,7 @@ version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2cd85aa2c579e8892442954685f0d801f9129de24fa2136b2c6a539c76b65776" dependencies = [ - "quote 1.0.4", + "quote", "wasm-bindgen-macro-support", ] @@ -3091,8 +2241,8 @@ version = "0.2.62" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eb197bd3a47553334907ffd2f16507b4f4f01bbec3ac921a7719e0decdfe72a" dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", + "proc-macro2", + "quote", "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", @@ -3114,16 +2264,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "which" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164" -dependencies = [ - "failure", - "libc", -] - [[package]] name = "widestring" version = "0.4.0" @@ -3191,132 +2331,3 @@ dependencies = [ "winapi 0.2.8", "winapi-build", ] - -[[package]] -name = "xml-rs" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" - -[[package]] -name = "yansi-term" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a30d0d48515e745863faad2da9c1e1bac640f9f0f83f1eecb79fc0bf4018e5d2" -dependencies = [ - "winapi 0.3.8", -] - -[[package]] -name = "yarte" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819b7b4da6e6b0192ef2f8da43ed7d79716737a57246aff58ba75611f8083b94" -dependencies = [ - "yarte_derive", - "yarte_helpers", -] - -[[package]] -name = "yarte_codegen" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c178dcde178349d41d3b6c85353614fa43c2ddceba3e86073a864454149165" -dependencies = [ - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", - "yarte_dom", - "yarte_helpers", - "yarte_hir", - "yarte_html", -] - -[[package]] -name = "yarte_derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a549fd6831f6354c39bb83bf78d7587e9b5ff18f7d390aefc4ba89435ba114f" -dependencies = [ - "prettyprint", - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", - "tempfile", - "toolchain_find", - "yarte_codegen", - "yarte_helpers", - "yarte_hir", - "yarte_parser", -] - -[[package]] -name = "yarte_dom" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08abf1e4cbf721cce79c77a7da1e42b37e7321966724b094891dc0c3d1d5cda" -dependencies = [ - "markup5ever", - "quote 1.0.4", - "syn", - "yarte_helpers", - "yarte_hir", - "yarte_html", -] - -[[package]] -name = "yarte_helpers" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e981464e47692f747fbc3f29cf271f65ac363cde5518ae77a50617d5490b9fce" -dependencies = [ - "serde", - "toml", - "v_htmlescape", -] - -[[package]] -name = "yarte_hir" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105dad390184a8e4afdce19cdd0956ae1af057da1571d7add988527cbd59953" -dependencies = [ - "derive_more", - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", - "v_eval", - "v_htmlescape", - "yarte_helpers", - "yarte_parser", -] - -[[package]] -name = "yarte_html" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e8c01747147af821238b33c76c3045420a245fcfb3e2987becf2860b54598a" -dependencies = [ - "log", - "mac", - "markup5ever", - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", - "yarte_parser", -] - -[[package]] -name = "yarte_parser" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061ed8ddf990b97d89827c42346f1273d434e79a3618786d3f595f2f1befe418" -dependencies = [ - "annotate-snippets", - "derive_more", - "proc-macro2 1.0.12", - "quote 1.0.4", - "syn", - "unicode-xid 0.2.0", - "yarte_helpers", -] diff --git a/Cargo.toml b/Cargo.toml index d9c8a5c..3736c5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,6 @@ validator_derive = '0.10' jsonwebtoken = '7' actix-identity = '0.2.1' actix-web-httpauth = '0.4.1' -actix-http = '1.0.1' rand = '0.7.3' nanoid = '0.3.0' bcrypt = '0.7' @@ -41,9 +40,9 @@ actix-threadpool = '0.3.1' version = '1.0.106' features = ['derive'] -[dependencies.yarte] -version = '0.9.0' -features = ['html-min'] +# [dependencies.yarte] +# version = '0.9.0' +# features = ['html-min'] [dependencies.diesel] version = '1.4.4' @@ -67,7 +66,7 @@ features = ['bundled'] [dependencies.chrono] version = '0.4.11' features = ['serde'] -[build-dependencies.yarte_helpers] -version = '0.9.0' -default-features = false -features = ['config'] +# [build-dependencies.yarte_helpers] +# version = '0.9.0' +# default-features = false +# features = ['config'] diff --git a/src/errors/domain_error.rs b/src/errors/domain_error.rs index 802a0bc..e67351f 100644 --- a/src/errors/domain_error.rs +++ b/src/errors/domain_error.rs @@ -24,7 +24,7 @@ use std::convert::From; // } custom_error! { #[derive(new)] pub DomainError - PwdHashError {source: BcryptError} = "Failed to has password", + PwdHashError {source: BcryptError} = "Failed to hash password", DbError {source: diesel::result::Error} = "Database error", DbPoolError {source: r2d2::Error} = "Failed to get connection from pool", PasswordError {cause: String} = "Failed to validate password - {cause}", @@ -53,10 +53,10 @@ impl ResponseError for DomainError { reason: format!("{} {}", err.to_string(), source).as_str(), }) } - DomainError::PasswordError { cause } => HttpResponse::BadRequest() + DomainError::PasswordError { cause: _ } => HttpResponse::BadRequest() .json(ErrorModel { error_code: 400, - reason: format!("{} {}, ", err.to_string(), cause.clone()) + reason: format!("{}", err.to_string()) .as_str(), }), DomainError::GenericError { cause } => HttpResponse::BadRequest() diff --git a/src/main.rs b/src/main.rs index 91d193b..205ae47 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,11 +7,10 @@ extern crate custom_error; extern crate regex; extern crate validator; -use actix_web::{middleware, web, App, HttpServer}; +use actix_web::{middleware, web, App, HttpServer, cookie::SameSite}; use actix_web_httpauth::middleware::HttpAuthentication; -use actix_http::cookie::SameSite; use actix_identity::{CookieIdentityPolicy, IdentityService}; use rand::Rng; @@ -80,7 +79,7 @@ async fn main() -> std::io::Result<()> { CookieIdentityPolicy::new(&private_key) .name("my-app-auth") .secure(false) - .same_site(SameSite::Lax), + .same_site(SameSite::Lax) )) .wrap(middleware::Logger::default()) .service( diff --git a/src/models/users.rs b/src/models/users.rs index 10599f6..1140374 100644 --- a/src/models/users.rs +++ b/src/models/users.rs @@ -4,7 +4,6 @@ use crate::schema::users; use crate::utils::regexs; use validator::Validate; use validator_derive::*; -use yarte::Template; #[derive(Debug, Clone, Queryable, Identifiable, Deserialize)] pub struct User { @@ -28,10 +27,3 @@ pub struct UserDTO { pub registration_date: chrono::NaiveDateTime, } -#[derive(Template)] -#[template(path = "hello.hbs")] -pub struct CardTemplate<'a> { - pub title: &'a str, - pub body: String, - pub num: u32, -} diff --git a/src/routes/auth.rs b/src/routes/auth.rs index cbc5458..81ef061 100644 --- a/src/routes/auth.rs +++ b/src/routes/auth.rs @@ -1,4 +1,4 @@ -use actix_web::{web, ResponseError}; +use actix_web::web; use actix_web_httpauth::extractors::basic::BasicAuth; use crate::actions::users; @@ -11,7 +11,7 @@ pub async fn login( id: Identity, credentials: BasicAuth, config: web::Data, -) -> Result { +) -> Result { let maybe_identity = id.identity(); let response = if let Some(identity) = maybe_identity { Ok(HttpResponse::Found() @@ -20,30 +20,21 @@ pub async fn login( .json(format!("Already logged in as {}", identity))) } else { let credentials2 = credentials.clone(); - web::block(move || validate_basic_auth(credentials2, &config)) - .await - .and_then(|valid| { - if valid { - id.remember(credentials.user_id().to_string()); - Ok(HttpResponse::Found().header("location", "/").finish()) - } else { - // Err(BlockingError::Error( - // errors::DomainError::new_password_error( - // "Wrong password or account does not exist" - // .to_string(), - // ), - // )) - Ok(HttpResponse::BadRequest().json( - crate::models::errors::ErrorModel::new( - 20, - "Wrong password or account does not exist", - ), - )) - } - }) + let valid = + web::block(move || validate_basic_auth(credentials2, &config)) + .await?; + if valid { + id.remember(credentials.user_id().to_string()); + Ok(HttpResponse::Found().header("location", "/").finish()) + } else { + Ok(HttpResponse::BadRequest().json( + crate::models::errors::ErrorModel::new( + 20, + "Wrong password or account does not exist", + ), + )) + } }; - // println!("{}", credentials.user_id()); - // println!("{:?}", credentials.password()); response } diff --git a/src/utils/auth.rs b/src/utils/auth.rs index bb8941b..63df3e9 100644 --- a/src/utils/auth.rs +++ b/src/utils/auth.rs @@ -1,13 +1,10 @@ use actix_web_httpauth::extractors::basic::BasicAuth; use crate::AppConfig; -// use actix_identity::Identity; use crate::routes::validate_basic_auth; -use actix_threadpool::BlockingError; use actix_web::{dev::ServiceRequest, web, Error}; -// use Response; pub async fn validator( req: ServiceRequest, @@ -16,33 +13,16 @@ pub async fn validator( println!("{}", credentials.user_id()); println!("{:?}", credentials.password()); // verify credentials from db - let credentials2 = credentials.clone(); - // let pool = req.app_data(); - let config = req.app_data::().expect("Error getting db"); - // .get_ref() - // .clone(); - // let _config = req - // .app_data::() - // .map(|data| data.get_ref().clone()) - // .unwrap_or_else(Default::default); + let config = req.app_data::().expect("Error getting config"); - let res = web::block(move || validate_basic_auth(credentials2, &config)) - .await - .and_then(|valid| { - if valid { - debug!("Success"); - Ok(req) - } else { - debug!("Failure"); - Err(BlockingError::Error( - crate::errors::DomainError::new_password_error( - "Wrong password or account does not exist".to_string(), - ), - )) - // Err(AuthenticationError::from(config)) - // Ok(req) - } - }); - let res2: Result = res.map_err(|e| e.into()); - res2 + let valid = + web::block(move || validate_basic_auth(credentials, &config)).await?; + if valid { + debug!("Success"); + Ok(req) + } else { + Err(crate::errors::DomainError::new_password_error( + "Wrong password or account does not exist".to_string(), + ).into()) + } }