diff --git a/Cargo.lock b/Cargo.lock index 862176e..517b9d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -153,9 +153,9 @@ dependencies = [ [[package]] name = "cookie" -version = "0.18.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cd91cf61412820176e137621345ee43b3f4423e589e7ae4e50d601d93e35ef8" +checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" dependencies = [ "percent-encoding", "time", @@ -238,12 +238,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - [[package]] name = "errno" version = "0.3.8" @@ -397,12 +391,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - [[package]] name = "hermit-abi" version = "0.3.3" @@ -489,17 +477,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", + "hashbrown", "serde", ] @@ -568,7 +546,7 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lohr" -version = "0.4.4" +version = "0.4.3" dependencies = [ "anyhow", "clap", @@ -747,7 +725,7 @@ checksum = "61a386cd715229d399604b50d1361683fe687066f42d56f54be995bc6868f71c" dependencies = [ "inlinable_string", "pear_codegen", - "yansi", + "yansi 1.0.0-rc.1", ] [[package]] @@ -805,7 +783,7 @@ dependencies = [ "quote", "syn", "version_check", - "yansi", + "yansi 1.0.0-rc.1", ] [[package]] @@ -913,9 +891,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "rocket" -version = "0.5.0" +version = "0.5.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e7bb57ccb26670d73b6a47396c83139447b9e7878cab627fdfe9ea8da489150" +checksum = "58734f7401ae5cfd129685b48f61182331745b357b96f2367f01aebaf1cc9cc9" dependencies = [ "async-stream", "async-trait", @@ -925,7 +903,8 @@ dependencies = [ "either", "figment", "futures", - "indexmap 2.1.0", + "indexmap", + "is-terminal", "log", "memchr", "multer", @@ -945,38 +924,37 @@ dependencies = [ "tokio-util", "ubyte", "version_check", - "yansi", + "yansi 0.5.1", ] [[package]] name = "rocket_codegen" -version = "0.5.0" +version = "0.5.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2238066abf75f21be6cd7dc1a09d5414a671f4246e384e49fe3f8a4936bd04c" +checksum = "7093353f14228c744982e409259fb54878ba9563d08214f2d880d59ff2fc508b" dependencies = [ "devise", "glob", - "indexmap 2.1.0", + "indexmap", "proc-macro2", "quote", "rocket_http", "syn", "unicode-xid", - "version_check", ] [[package]] name = "rocket_http" -version = "0.5.0" +version = "0.5.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a1663694d059fe5f943ea5481363e48050acedd241d46deb2e27f71110389e" +checksum = "936012c99162a03a67f37f9836d5f938f662e26f2717809761a9ac46432090f4" dependencies = [ "cookie", "either", "futures", "http", "hyper", - "indexmap 2.1.0", + "indexmap", "log", "memchr", "pear", @@ -1082,7 +1060,7 @@ version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" dependencies = [ - "indexmap 1.9.3", + "indexmap", "ryu", "serde", "yaml-rust", @@ -1171,9 +1149,9 @@ dependencies = [ [[package]] name = "state" -version = "0.6.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8c4a4445d81357df8b1a650d0d0d6fbbbfe99d064aa5e02f3e4022061476d8" +checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" dependencies = [ "loom", ] @@ -1622,11 +1600,14 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + [[package]] name = "yansi" version = "1.0.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377" -dependencies = [ - "is-terminal", -] diff --git a/Cargo.toml b/Cargo.toml index 7296c1b..31a76cd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lohr" -version = "0.4.4" +version = "0.4.3" authors = ["Antoine Martin "] edition = "2018" license = "Apache-2.0 OR MIT" @@ -24,7 +24,7 @@ serde_yaml = "0.8.17" sha2 = "0.9.3" [dependencies.rocket] -version = "0.5.0" +version = "0.5.0-rc.1" # don't need private-cookies default-features = false diff --git a/flake.nix b/flake.nix index 23f8bba..19c87ed 100644 --- a/flake.nix +++ b/flake.nix @@ -16,11 +16,11 @@ { defaultPackage = pkgs.rustPlatform.buildRustPackage { pname = "lohr"; - version = "0.4.4"; + version = "0.4.3"; src = ./.; - cargoHash = "sha256-15OVia/oQXAGvjHTPTceKottKgEgFJRfHbzWdzCtcjY="; + cargoSha256 = "sha256-712J8squ4txjdKH5buKpCl7ss2NSNRYM/m548Z6RSzQ="; meta = with pkgs.lib; { description = "A Git mirroring tool"; diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 0000000..2bf5ad0 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +stable diff --git a/rust-toolchain.toml b/rust-toolchain.toml deleted file mode 100644 index 292fe49..0000000 --- a/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "stable" diff --git a/src/signature.rs b/src/signature.rs index 3f5cede..c062874 100644 --- a/src/signature.rs +++ b/src/signature.rs @@ -75,12 +75,12 @@ where async fn from_data(request: &'r Request<'_>, data: Data<'r>) -> Outcome<'r, Self> { let json_ct = ContentType::new("application", "json"); if request.content_type() != Some(&json_ct) { - return Outcome::Error((Status::BadRequest, anyhow!("wrong content type"))); + return Outcome::Failure((Status::BadRequest, anyhow!("wrong content type"))); } let signatures = request.headers().get(X_GITEA_SIGNATURE).collect::>(); if signatures.len() != 1 { - return Outcome::Error(( + return Outcome::Failure(( Status::BadRequest, anyhow!("request header needs exactly one signature"), )); @@ -91,24 +91,24 @@ where Ok(s) if s.is_complete() => s.into_inner(), Ok(_) => { let eof = io::ErrorKind::UnexpectedEof; - return Outcome::Error(( + return Outcome::Failure(( Status::PayloadTooLarge, io::Error::new(eof, "data limit exceeded").into(), )); } - Err(e) => return Outcome::Error((Status::BadRequest, e.into())), + Err(e) => return Outcome::Failure((Status::BadRequest, e.into())), }; let signature = signatures[0]; let secret = request.guard::<&State>().await.unwrap(); if !validate_signature(&secret.0, signature, &content) { - return Outcome::Error((Status::BadRequest, anyhow!("couldn't verify signature"))); + return Outcome::Failure((Status::BadRequest, anyhow!("couldn't verify signature"))); } match Self::from_str(local_cache!(request, content)) { Ok(content) => Outcome::Success(content), - Err(e) => Outcome::Error((Status::BadRequest, e)), + Err(e) => Outcome::Failure((Status::BadRequest, e)), } } }