diff options
-rw-r--r-- | Cargo.lock | 87 | ||||
-rw-r--r-- | Cargo.toml | 3 | ||||
-rw-r--r-- | src/runner/runc/run.rs | 1 | ||||
-rw-r--r-- | src/types.rs | 7 | ||||
-rw-r--r-- | src/util/cjson.rs | 2 |
5 files changed, 56 insertions, 44 deletions
@@ -3,6 +3,18 @@ version = 3 [[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4dc07131ffa69b8072d35f5007352af944213cde02545e2103680baed38fcd" + +[[package]] name = "atty" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -35,6 +47,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] +name = "blake3" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcd555c66291d5f836dbb6883b48660ece810fe25a31f3bdfb911945dff2691f" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if 1.0.0", + "constant_time_eq", + "crypto-mac", + "digest 0.9.0", +] + +[[package]] name = "block-buffer" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -47,15 +74,6 @@ dependencies = [ ] [[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array 0.14.4", -] - -[[package]] name = "block-padding" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -126,13 +144,10 @@ dependencies = [ ] [[package]] -name = "cpufeatures" -version = "0.2.1" +name = "constant_time_eq" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" -dependencies = [ - "libc", -] +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "crossbeam-channel" @@ -156,6 +171,16 @@ dependencies = [ ] [[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array 0.14.4", + "subtle", +] + +[[package]] name = "darling" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -598,12 +623,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] name = "os_str_bytes" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -800,7 +819,9 @@ dependencies = [ name = "rebel" version = "0.1.0" dependencies = [ + "blake3", "clap", + "digest 0.9.0", "enum-kinds", "handlebars", "hex", @@ -815,7 +836,6 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "sha2", "tar", "tee_readwrite", "users", @@ -919,23 +939,10 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer 0.7.3", + "block-buffer", "digest 0.8.1", "fake-simd", - "opaque-debug 0.2.3", -] - -[[package]] -name = "sha2" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug", ] [[package]] @@ -964,6 +971,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] name = "syn" version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -8,7 +8,9 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +blake3 = { version = "1.0.0", features = ["traits-preview"] } clap = "3.0.0-beta.2" +digest = "0.9.0" enum-kinds = "0.5.1" handlebars = "4.1.3" hex = { version = "0.4.3", features = ["std", "serde"] } @@ -23,7 +25,6 @@ scoped-tls-hkt = "0.1.2" serde = { version = "1", features = ["derive"] } serde_json = "1.0.62" serde_yaml = "0.8" -sha2 = "0.9.5" tar = "0.4.32" tee_readwrite = "0.1.0" users = "0.11.0" diff --git a/src/runner/runc/run.rs b/src/runner/runc/run.rs index 9310e7c..f12e91f 100644 --- a/src/runner/runc/run.rs +++ b/src/runner/runc/run.rs @@ -5,7 +5,6 @@ use std::{ }; use nix::mount::MsFlags; -use sha2::Digest; use tee_readwrite::TeeWriter; use crate::{ diff --git a/src/types.rs b/src/types.rs index 653768a..0e67483 100644 --- a/src/types.rs +++ b/src/types.rs @@ -1,7 +1,6 @@ use std::fmt::Display; use serde::{Deserialize, Serialize}; -use sha2::Sha256; use crate::util::cjson; @@ -50,13 +49,13 @@ macro_rules! stringhash_newtype { }; } -pub type InputHasher = Sha256; +pub type InputHasher = blake3::Hasher; stringhash_newtype!(InputHash); -pub type DependencyHasher = Sha256; +pub type DependencyHasher = blake3::Hasher; stringhash_newtype!(DependencyHash); -pub type ArchiveHasher = Sha256; +pub type ArchiveHasher = blake3::Hasher; stringhash_newtype!(ArchiveHash); #[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq, Hash)] diff --git a/src/util/cjson.rs b/src/util/cjson.rs index 51d26b9..e3840ce 100644 --- a/src/util/cjson.rs +++ b/src/util/cjson.rs @@ -4,10 +4,10 @@ use std::{ path::Path, }; +use digest::{self, Digest}; use olpc_cjson::CanonicalFormatter; use serde::Serialize; use serde_json::error::Result; -use sha2::{digest, Digest}; pub fn new_serializer<W: Write>(writer: W) -> serde_json::Serializer<W, CanonicalFormatter> { serde_json::Serializer::with_formatter(writer, CanonicalFormatter::new()) |