[INFO] cloning repository https://github.com/mishazharov/cryptopals_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mishazharov/cryptopals_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmishazharov%2Fcryptopals_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmishazharov%2Fcryptopals_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 53b45881c48e385fecf88a9a33bb11564e98511b [INFO] checking mishazharov/cryptopals_rust against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmishazharov%2Fcryptopals_rust" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mishazharov/cryptopals_rust on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mishazharov/cryptopals_rust [INFO] finished tweaking git repo https://github.com/mishazharov/cryptopals_rust [INFO] tweaked toml for git repo https://github.com/mishazharov/cryptopals_rust written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/mishazharov/cryptopals_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded generic-array v0.14.3 [INFO] [stderr] Downloaded md4 v0.9.0 [INFO] [stderr] Downloaded openssl v0.10.29 [INFO] [stderr] Downloaded openssl-sys v0.9.55 [INFO] [stderr] Downloaded tracing v0.1.16 [INFO] [stderr] Downloaded vcpkg v0.2.8 [INFO] [stderr] Downloaded hex-literal v0.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f13b19e01121d2f0ab80b9a2adff62f9c4b06db7fd0688db23feb7c2208d8c4c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f13b19e01121d2f0ab80b9a2adff62f9c4b06db7fd0688db23feb7c2208d8c4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f13b19e01121d2f0ab80b9a2adff62f9c4b06db7fd0688db23feb7c2208d8c4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f13b19e01121d2f0ab80b9a2adff62f9c4b06db7fd0688db23feb7c2208d8c4c", kill_on_drop: false }` [INFO] [stdout] f13b19e01121d2f0ab80b9a2adff62f9c4b06db7fd0688db23feb7c2208d8c4c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9155545aaafc9197ff103f5b2ac92a17a2f2fe47def354f59d910221396572d4 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "9155545aaafc9197ff103f5b2ac92a17a2f2fe47def354f59d910221396572d4", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling syn v1.0.34 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Checking itoa v0.4.6 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking futures-core v0.3.5 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling pin-project-internal v0.4.22 [INFO] [stderr] Compiling siphasher v0.2.3 [INFO] [stderr] Compiling proc-macro-nested v0.1.6 [INFO] [stderr] Compiling serde_derive v1.0.114 [INFO] [stderr] Checking tinyvec v0.3.3 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Compiling serde v1.0.114 [INFO] [stderr] Checking pin-project-lite v0.1.7 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling serde_json v1.0.56 [INFO] [stderr] Checking utf-8 v0.7.5 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking tower-service v0.3.0 [INFO] [stderr] Checking dtoa v0.4.6 [INFO] [stderr] Checking urlencoding v1.1.1 [INFO] [stderr] Compiling hex-literal v0.3.0 [INFO] [stderr] Checking hex v0.4.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling generic-array v0.14.3 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking tracing-core v0.1.11 [INFO] [stderr] Checking futures-channel v0.3.5 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking unicode-normalization v0.1.13 [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Checking log v0.4.8 [INFO] [stderr] Checking http v0.2.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking input_buffer v0.3.1 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Checking net2 v0.2.34 [INFO] [stderr] Checking socket2 v0.3.12 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Checking twoway v0.1.8 [INFO] [stderr] Checking buf_redux v0.8.4 [INFO] [stderr] Checking rand_chacha v0.1.1 [INFO] [stderr] Checking rand_pcg v0.1.2 [INFO] [stderr] Compiling openssl-sys v0.9.55 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling indexmap v1.4.0 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling num-bigint v0.3.0 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking tracing v0.1.16 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking sha-1 v0.8.2 [INFO] [stderr] Checking mime v0.2.6 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Compiling phf_shared v0.7.24 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Compiling phf v0.7.24 [INFO] [stderr] Checking md4 v0.9.0 [INFO] [stderr] Compiling openssl v0.10.29 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling mime_guess v1.8.8 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking tungstenite v0.10.1 [INFO] [stderr] Checking headers v0.3.2 [INFO] [stderr] Checking multipart v0.16.1 [INFO] [stderr] Compiling futures-macro v0.3.5 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Checking tokio v0.2.21 [INFO] [stderr] Checking pin-project v0.4.22 [INFO] [stderr] Checking futures-util v0.3.5 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking futures-executor v0.3.5 [INFO] [stderr] Checking h2 v0.2.6 [INFO] [stderr] Checking futures v0.3.5 [INFO] [stderr] Checking tokio-tungstenite v0.10.1 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Checking cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/s2/c11.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::symmetric::aes` [INFO] [stdout] --> src/s4/c26.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::symmetric::aes::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NIST_P` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | / const NIST_P: [u8; 192] = hex!( [INFO] [stdout] 9 | | "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024 [INFO] [stdout] 10 | | e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd [INFO] [stdout] 11 | | 3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec [INFO] [stdout] ... | [INFO] [stdout] 16 | | fffffffffffff" [INFO] [stdout] 17 | | ); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_nist` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn get_nist() -> (BigInt, u64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `DiffieHellmanContext` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct DiffieHellmanContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new(p: &T, g: &Q) -> DiffieHellmanContext { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `nist` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn nist() -> DiffieHellmanContext { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `make_session_key` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn make_session_key(&self, pubkey: &BigInt) -> BigInt { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_private_key` [INFO] [stdout] --> src/asymmetric/diffie_hellman.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn set_private_key(&mut self, new_priv_key: &BigInt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `a_b_to_u` [INFO] [stdout] --> src/asymmetric/srp.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn a_b_to_u(a: &BigInt, b: &BigInt) -> BigInt { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `SrpServer` [INFO] [stdout] --> src/asymmetric/srp.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct SrpServer { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/asymmetric/srp.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn new(pw: &[u8]) -> SrpServer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `initial_req` [INFO] [stdout] --> src/asymmetric/srp.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn initial_req(&mut self, pubkey: &BigInt) -> Result<(BigInt, BigInt), ()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_ok` [INFO] [stdout] --> src/asymmetric/srp.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn is_ok(&self, content: &[u8]) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `variant_initial_req` [INFO] [stdout] --> src/asymmetric/srp.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn variant_initial_req(&mut self, pubkey: &BigInt) -> Result<(BigInt, BigInt, BigInt), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `SrpClient` [INFO] [stdout] --> src/asymmetric/srp.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct SrpClient { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/asymmetric/srp.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn new() -> SrpClient { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_salt_and_pkey` [INFO] [stdout] --> src/asymmetric/srp.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn set_salt_and_pkey(&mut self, salt: &BigInt, pkey_b: &BigInt, pw: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_salt_and_pkey_variant` [INFO] [stdout] --> src/asymmetric/srp.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn set_salt_and_pkey_variant(&mut self, salt: &BigInt, pkey_b: &BigInt, pw: &[u8], u: &BigInt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_hmac` [INFO] [stdout] --> src/asymmetric/srp.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn get_hmac(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `attacker_set_shared_key` [INFO] [stdout] --> src/asymmetric/srp.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn attacker_set_shared_key(&mut self, key: Option>, salt: &BigInt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MD4_LEN_BYTES` [INFO] [stdout] --> src/hashing/md4.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | const MD4_LEN_BYTES: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `md4_process_block` [INFO] [stdout] --> src/hashing/md4.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn md4_process_block(h: &mut [u32; MD4_LEN_BYTES / 4], msg_block: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `md4` [INFO] [stdout] --> src/hashing/md4.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn md4(data: &T) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `f` [INFO] [stdout] --> src/hashing/md4.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn f(x: u32, y: u32, z: u32) -> u32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `g` [INFO] [stdout] --> src/hashing/md4.rs:103:4 [INFO] [stdout] | [INFO] [stdout] 103 | fn g(x: u32, y: u32, z: u32) -> u32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `h` [INFO] [stdout] --> src/hashing/md4.rs:107:4 [INFO] [stdout] | [INFO] [stdout] 107 | fn h(x: u32, y: u32, z: u32) -> u32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ff` [INFO] [stdout] --> src/hashing/md4.rs:111:4 [INFO] [stdout] | [INFO] [stdout] 111 | fn ff(a: u32, b: u32, c: u32, d: u32, k: u32, ss: usize) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gg` [INFO] [stdout] --> src/hashing/md4.rs:115:4 [INFO] [stdout] | [INFO] [stdout] 115 | fn gg(a: u32, b: u32, c: u32, d: u32, k: u32, ss: usize) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hh` [INFO] [stdout] --> src/hashing/md4.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn hh(a: u32, b: u32, c: u32, d: u32, k: u32, ss: usize) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `s` [INFO] [stdout] --> src/hashing/hash_padding.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn s(n: usize, x: u32) -> u32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hmac` [INFO] [stdout] --> src/hashing/hmac.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn hmac(key: &[u8], message: &[u8], hash_fn: fn (&Vec) -> Vec, blocksize: usize) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SHA1_LEN_BYTES` [INFO] [stdout] --> src/hashing/sha1.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | pub const SHA1_LEN_BYTES: usize = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sha1_process_block` [INFO] [stdout] --> src/hashing/sha1.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn sha1_process_block(h: &mut [u32; SHA1_LEN_BYTES / 4], msg_block: &[u8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sha1` [INFO] [stdout] --> src/hashing/sha1.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn sha1(content: &T) -> Vec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `k` [INFO] [stdout] --> src/hashing/sha1.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn k(t: usize) -> u32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `f` [INFO] [stdout] --> src/hashing/sha1.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn f(t: usize, b: u32, c: u32, d: u32) -> u32 { [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `W` [INFO] [stdout] --> src/rng/mt19937.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub const W: u64 = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `M` [INFO] [stdout] --> src/rng/mt19937.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub const M: u64 = 156; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `R` [INFO] [stdout] --> src/rng/mt19937.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub const R: u64 = 31; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `A` [INFO] [stdout] --> src/rng/mt19937.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub const A: u64 = 0xB5026F5AA96619E9; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `U` [INFO] [stdout] --> src/rng/mt19937.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub const U: u64 = 29; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `D` [INFO] [stdout] --> src/rng/mt19937.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub const D: u64 = 0x5555555555555555; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `S` [INFO] [stdout] --> src/rng/mt19937.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub const S: u64 = 17; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `B` [INFO] [stdout] --> src/rng/mt19937.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub const B: u64 = 0x71D67FFFEDA60000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `T` [INFO] [stdout] --> src/rng/mt19937.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub const T: u64 = 37; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `C` [INFO] [stdout] --> src/rng/mt19937.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub const C: u64 = 0xFFF7EEE000000000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `L` [INFO] [stdout] --> src/rng/mt19937.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub const L: u64 = 43; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `F` [INFO] [stdout] --> src/rng/mt19937.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub const F: u64 = 6364136223846793005; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `LOWER_MASK` [INFO] [stdout] --> src/rng/mt19937.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub const LOWER_MASK: u64 = (1 << R) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `UPPER_MASK` [INFO] [stdout] --> src/rng/mt19937.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub const UPPER_MASK: u64 = !LOWER_MASK; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `mt` [INFO] [stdout] --> src/rng/mt19937.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | mt: [u64; consts::N as usize], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `index` [INFO] [stdout] --> src/rng/mt19937.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | index: usize [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/rng/mt19937.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn new(seed: u64) -> Mt19937 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `twist` [INFO] [stdout] --> src/rng/mt19937.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | fn twist(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `temper` [INFO] [stdout] --> src/rng/mt19937.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn temper(y1: u64) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `extract` [INFO] [stdout] --> src/rng/mt19937.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn extract(&mut self) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rand_len` [INFO] [stdout] --> src/rng/vec.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn rand_len(len: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rand_len_range` [INFO] [stdout] --> src/rng/vec.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn rand_len_range(low: usize, high: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `XorSingleResult` [INFO] [stdout] --> src/s1/c4.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct XorSingleResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ascii_lower` [INFO] [stdout] --> src/s1/c4.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn ascii_lower(c: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score_byte` [INFO] [stdout] --> src/s1/c4.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn score_byte(c: u8) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `score_vec` [INFO] [stdout] --> src/s1/c4.rs:44:4 [INFO] [stdout] | [INFO] [stdout] 44 | fn score_vec(slice_to_score: &[u8]) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor_break` [INFO] [stdout] --> src/s1/c4.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn xor_break(slice_to_break: &[u8]) -> XorSingleResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor_break_multi` [INFO] [stdout] --> src/s1/c4.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn xor_break_multi(vecs: &Vec>) -> XorSingleResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor_encrypt` [INFO] [stdout] --> src/s1/c5.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn xor_encrypt(key: &[u8], content: &mut [u8]) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `XorRepeatingResult` [INFO] [stdout] --> src/s1/c6.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct XorRepeatingResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hamming_distance` [INFO] [stdout] --> src/s1/c6.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn hamming_distance(str_1: &[u8], str_2: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_avg_hd_on_block` [INFO] [stdout] --> src/s1/c6.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn get_avg_hd_on_block(byte_arr: &[u8], key_size: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_key_sizes` [INFO] [stdout] --> src/s1/c6.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn get_key_sizes(byte_arr: &[u8], range_low: usize, range_high: usize) -> Vec<(usize, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `xor_break_repeating` [INFO] [stdout] --> src/s1/c6.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn xor_break_repeating(byte_arr: &[u8]) -> XorRepeatingResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `is_aes_ecb` [INFO] [stdout] --> src/s1/c8.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn is_aes_ecb(candidate: &[u8]) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `detect_aes_ecb` [INFO] [stdout] --> src/s1/c8.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn detect_aes_ecb(candidates: &Vec>) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pad_pkcs7` [INFO] [stdout] --> src/s2/c9.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn pad_pkcs7(bytes: &[u8], block_size: usize) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `aes_cbc_decrypt` [INFO] [stdout] --> src/s2/c10.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn aes_cbc_decrypt(key: &[u8], data: &[u8], iv: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `rand_bytes` [INFO] [stdout] --> src/s2/c11.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn rand_bytes(size_min: usize, size_max: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `oracle_aes_ecb_cbc` [INFO] [stdout] --> src/s2/c11.rs:17:4 [INFO] [stdout] | [INFO] [stdout] 17 | fn oracle_aes_ecb_cbc(plaintext: &[u8]) -> (bool, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `detect_ecb_from_stream` [INFO] [stdout] --> src/s2/c11.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn detect_ecb_from_stream(ciphertext: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s2/c12.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn new(secret: &'a [u8]) -> AesOracleCore<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s2/c12.rs:60:16 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn new(oracle_core: &'a AesOracleCore) -> AesOracle<'a>{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s2/c12.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn new(oracle_core: &'a AesOracleCore) -> AesPrefixOracle<'a>{ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `are_blocks_equal` [INFO] [stdout] --> src/s2/c12.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | fn are_blocks_equal(block_size: usize, block_num: usize, b1: &[u8], b2: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_oracle_block_size` [INFO] [stdout] --> src/s2/c12.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn get_oracle_block_size(oracle: &T) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_consecutive_equal_ecb_blocks` [INFO] [stdout] --> src/s2/c12.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn get_consecutive_equal_ecb_blocks(ciphertext: &[u8], block_size: usize) -> Vec<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_user_data_start_block_` [INFO] [stdout] --> src/s2/c12.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | fn get_user_data_start_block_(oracle: &T, block_size: usize, padding: u8) -> (usize, usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_user_data_start_block` [INFO] [stdout] --> src/s2/c12.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn get_user_data_start_block(oracle: &T, block_size: usize) -> (usize, usize, usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attack_aes_oracle` [INFO] [stdout] --> src/s2/c12.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub fn attack_aes_oracle(oracle: &T) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `UserAccount` [INFO] [stdout] --> src/s2/c13.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct UserAccount { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `EmailOracle` [INFO] [stdout] --> src/s2/c13.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct EmailOracle<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s2/c13.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | fn new(key: &'a [u8]) -> EmailOracle { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `profile_for` [INFO] [stdout] --> src/s2/c13.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | fn profile_for(&mut self, email: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `cookie_to_object` [INFO] [stdout] --> src/s2/c13.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | fn cookie_to_object(self, cookie: &[u8]) -> UserAccount { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s2/c16.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn new(crypter: &'a (dyn CryptoWrapper + 'a)) -> ServerOracle<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `is_client_admin` [INFO] [stdout] --> src/s2/c16.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn is_client_admin(&self, data_encrypted: Vec) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attack_server` [INFO] [stdout] --> src/s2/c16.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn attack_server(oracle: &T) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `plaintext` [INFO] [stdout] --> src/s3/c17.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | plaintext: Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s3/c17.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | fn new(key: &'a [u8], ind: usize) -> ServerOracle<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attacker_decrypt_block` [INFO] [stdout] --> src/s3/c17.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn attacker_decrypt_block(oracle: &T, ct: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attacker` [INFO] [stdout] --> src/s3/c17.rs:143:4 [INFO] [stdout] | [INFO] [stdout] 143 | fn attacker(oracle: &T) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `key` [INFO] [stdout] --> src/s3/c20.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | key: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s3/c20.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new() -> CtManager { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_pt` [INFO] [stdout] --> src/s3/c20.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn add_pt(&mut self, pt: &[u8]) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attacker` [INFO] [stdout] --> src/s3/c20.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | fn attacker(ct_provider: &T) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mt19937_first_output_to_seed` [INFO] [stdout] --> src/s3/c22.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn mt19937_first_output_to_seed(output: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `untemper` [INFO] [stdout] --> src/s3/c23.rs:4:4 [INFO] [stdout] | [INFO] [stdout] 4 | fn untemper(y1: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clone_mt19937` [INFO] [stdout] --> src/s3/c23.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | fn clone_mt19937(mt: &mut Mt19937) -> Mt19937 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `ctr_mt19937` [INFO] [stdout] --> src/s3/c24.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn ctr_mt19937 (key: u16, data: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `prefix_plaintext` [INFO] [stdout] --> src/s3/c24.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn prefix_plaintext(key: u16, known_pt: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `break_ctr_mt19937` [INFO] [stdout] --> src/s3/c24.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn break_ctr_mt19937(known_pt: &[u8], ct: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `CtrContainer` [INFO] [stdout] --> src/s4/c25.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | struct CtrContainer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s4/c25.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | fn new(key: [u8; 16], pt: &[u8]) -> CtrContainer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_ct` [INFO] [stdout] --> src/s4/c25.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | fn get_ct(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `edit` [INFO] [stdout] --> src/s4/c25.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn edit(&mut self, offset: usize, newtext: &[u8]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attack_server` [INFO] [stdout] --> src/s4/c26.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn attack_server(oracle: &T) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Server` [INFO] [stdout] --> src/s4/c27.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | struct Server<'a> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s4/c27.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn new(crypter: &'a (dyn CryptoWrapper + 'a)) -> Server<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `encrypt` [INFO] [stdout] --> src/s4/c27.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn encrypt(&self, text: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `decrypt` [INFO] [stdout] --> src/s4/c27.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn decrypt(&self, ct: &[u8]) -> Result> { // Ok(status code), Err(plaintext) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `attack_server` [INFO] [stdout] --> src/s4/c27.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn attack_server(ct: &[u8], s: Server) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sha1_keyed_mac` [INFO] [stdout] --> src/s4/c28.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sha1_keyed_mac(content: &[u8], key: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `sha1_verify_mac` [INFO] [stdout] --> src/s4/c28.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn sha1_verify_mac(content: &[u8], key: &[u8], hash: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `break_sha1_mac` [INFO] [stdout] --> src/s4/c29.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn break_sha1_mac(hash_orig: &[u8], message: &[u8], to_append: &[u8], keysize: usize, res: &mut [u32; 5]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `md4_keyed_mac` [INFO] [stdout] --> src/s4/c30.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn md4_keyed_mac(content: &[u8], key: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `md4_verify_mac` [INFO] [stdout] --> src/s4/c30.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn md4_verify_mac(content: &[u8], key: &[u8], hash: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `break_md4_mac` [INFO] [stdout] --> src/s4/c30.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn break_md4_mac(hash_orig: &[u8], message: &[u8], to_append: &[u8], keysize: usize, res: &mut [u32; 4]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Peer` [INFO] [stdout] --> src/s5/peer.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Peer { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/s5/peer.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(p: &T, g: &Q) -> Peer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `nist` [INFO] [stdout] --> src/s5/peer.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn nist() -> Peer { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `make_session_key` [INFO] [stdout] --> src/s5/peer.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn make_session_key(&mut self, pub_key: &BigInt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes_encrypt` [INFO] [stdout] --> src/s5/peer.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn aes_encrypt(&self, pt: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `aes_decrypt` [INFO] [stdout] --> src/s5/peer.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn aes_decrypt(&self, ct: &[u8]) -> Result, ()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `aes_ecb_decrypt` [INFO] [stdout] --> src/symmetric/aes.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn aes_ecb_decrypt(key: &[u8], ciphertext: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/symmetric/aes.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new(key: &'a[u8], iv: Option<[u8; AES_BLOCK_SIZE]>, padding: bool) -> AesCbcWrapper<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `aes_ecb_decrypt_nopad` [INFO] [stdout] --> src/symmetric/aes.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn aes_ecb_decrypt_nopad(key: &[u8], ciphertext: &[u8], iv: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `gen_random_16_bytes` [INFO] [stdout] --> src/symmetric/aes.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn gen_random_16_bytes() -> [u8; AES_BLOCK_SIZE] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `strip_pkcs7` [INFO] [stdout] --> src/symmetric/aes.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn strip_pkcs7(inp: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/symmetric/aes.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn new(key: &'a[u8], nonce: u64) -> AesCtrWrapper<'a> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `hex_arr_from_str` [INFO] [stdout] --> src/utils/decode.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn hex_arr_from_str(content: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `base64_from_str` [INFO] [stdout] --> src/utils/decode.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn base64_from_str(content: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 139 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking hyper v0.13.7 [INFO] [stderr] Checking warp v0.2.3 [INFO] [stdout] error: couldn't read src/s1/4.txt: No such file or directory (os error 2) [INFO] [stdout] --> src/s1/c4.rs:142:43 [INFO] [stdout] | [INFO] [stdout] 142 | let file_contents: &'static str = include_str!("4.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read src/s1/6.txt: No such file or directory (os error 2) [INFO] [stdout] --> src/s1/c6.rs:109:43 [INFO] [stdout] | [INFO] [stdout] 109 | let file_contents: &'static str = include_str!("6.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read src/s1/7.txt: No such file or directory (os error 2) [INFO] [stdout] --> src/s1/c7.rs:13:43 [INFO] [stdout] | [INFO] [stdout] 13 | let file_contents: &'static str = include_str!("7.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read src/s1/8.txt: No such file or directory (os error 2) [INFO] [stdout] --> src/s1/c8.rs:49:43 [INFO] [stdout] | [INFO] [stdout] 49 | let file_contents: &'static str = include_str!("8.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't read src/s2/10.txt: No such file or directory (os error 2) [INFO] [stdout] --> src/s2/c10.rs:27:43 [INFO] [stdout] | [INFO] [stdout] 27 | let file_contents: &'static str = include_str!("10.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cryptopals` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "9155545aaafc9197ff103f5b2ac92a17a2f2fe47def354f59d910221396572d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9155545aaafc9197ff103f5b2ac92a17a2f2fe47def354f59d910221396572d4", kill_on_drop: false }` [INFO] [stdout] 9155545aaafc9197ff103f5b2ac92a17a2f2fe47def354f59d910221396572d4