[INFO] cloning repository https://github.com/davbo/cryptopals [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/davbo/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavbo%2Fcryptopals", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavbo%2Fcryptopals'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cf8782b9328a2dabe0809db2d964d055547757c2 [INFO] testing davbo/cryptopals against master#61469b682c2b0bf9cebc4622f1859e2bb3b7ebca for pr-91743 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdavbo%2Fcryptopals" "/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/davbo/cryptopals on toolchain 61469b682c2b0bf9cebc4622f1859e2bb3b7ebca [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+61469b682c2b0bf9cebc4622f1859e2bb3b7ebca" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/davbo/cryptopals [INFO] finished tweaking git repo https://github.com/davbo/cryptopals [INFO] tweaked toml for git repo https://github.com/davbo/cryptopals written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/davbo/cryptopals already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+61469b682c2b0bf9cebc4622f1859e2bb3b7ebca" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+61469b682c2b0bf9cebc4622f1859e2bb3b7ebca" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2572e8e331c2f53c3be9914216436f96846e7f1305ff133d86b82393de8550ac [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" "2572e8e331c2f53c3be9914216436f96846e7f1305ff133d86b82393de8550ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2572e8e331c2f53c3be9914216436f96846e7f1305ff133d86b82393de8550ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2572e8e331c2f53c3be9914216436f96846e7f1305ff133d86b82393de8550ac", kill_on_drop: false }` [INFO] [stdout] 2572e8e331c2f53c3be9914216436f96846e7f1305ff133d86b82393de8550ac [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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+61469b682c2b0bf9cebc4622f1859e2bb3b7ebca" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 3a38725d2c78b9a7bb28de571de894c03a49a1841152c4d557f5b412abd86019 [INFO] running `Command { std: "docker" "start" "-a" "3a38725d2c78b9a7bb28de571de894c03a49a1841152c4d557f5b412abd86019", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling cc v1.0.67 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling openssl v0.10.34 [INFO] [stderr] Compiling once_cell v1.7.2 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling openssl-sys v0.9.62 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling matasano v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `set1::challenge8::score_ciphertext_for_ecb_mode` [INFO] [stdout] --> src/set2/challenge12.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use set1::challenge8::score_ciphertext_for_ecb_mode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sanitised_input` is never read [INFO] [stdout] --> src/set2/challenge13.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | let mut sanitised_input = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `KEY` [INFO] [stdout] --> src/set2/challenge13.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const KEY: &'static [u8] = b"YELLOW SUBMARINE"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/set2/challenge13.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(email: String) -> Profile { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encrypt` [INFO] [stdout] --> src/set2/challenge13.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn encrypt(plaintext: String) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decrypt` [INFO] [stdout] --> src/set2/challenge13.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn decrypt(ciphertext: Vec) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MESSAGE` [INFO] [stdout] --> src/set2/challenge14.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / const MESSAGE: &'static [u8] = b"Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg [INFO] [stdout] 8 | | aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq [INFO] [stdout] 9 | | dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg [INFO] [stdout] 10 | | YnkK"; [INFO] [stdout] | |______^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `random_input` [INFO] [stdout] --> src/set2/challenge14.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn random_input() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encryption_oracle` [INFO] [stdout] --> src/set2/challenge14.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn encryption_oracle(attacker_input: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_target_permutation` [INFO] [stdout] --> src/set2/challenge14.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn find_target_permutation(byte_index: usize, block_size: usize, marker_cipher: Vec, decrypted_bytes: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_byte` [INFO] [stdout] --> src/set2/challenge14.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn test_byte(candidate: u8, byte_index: usize, block_size: usize, marker_cipher: Vec, target_permutation: Vec, decrypted_bytes: &... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_marker_block` [INFO] [stdout] --> src/set2/challenge14.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn find_marker_block(block_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BLOCK_LENGTH` [INFO] [stdout] --> src/set3/challenge17.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | const BLOCK_LENGTH: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `INPUT_STRINGS` [INFO] [stdout] --> src/set3/challenge17.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / const INPUT_STRINGS: [&'static str; 10] = [ [INFO] [stdout] 10 | | "MDAwMDAwTm93IHRoYXQgdGhlIHBhcnR5IGlzIGp1bXBpbmc=", [INFO] [stdout] 11 | | "MDAwMDAxV2l0aCB0aGUgYmFzcyBraWNrZWQgaW4gYW5kIHRoZSBWZWdhJ3MgYXJlIHB1bXBpbic=", [INFO] [stdout] 12 | | "MDAwMDAyUXVpY2sgdG8gdGhlIHBvaW50LCB0byB0aGUgcG9pbnQsIG5vIGZha2luZw==", [INFO] [stdout] ... | [INFO] [stdout] 19 | | "MDAwMDA5aXRoIG15IHJhZy10b3AgZG93biBzbyBteSBoYWlyIGNhbiBibG93", [INFO] [stdout] 20 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pad` [INFO] [stdout] --> src/set3/challenge17.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn pad(mut input: Vec) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decrypt_and_check_padding` [INFO] [stdout] --> src/set3/challenge17.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn decrypt_and_check_padding(ciphertext: Vec, key: &[u8], iv: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_byte` [INFO] [stdout] --> src/set3/challenge17.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn test_byte(guess: u8, target_index: usize, attacking_block: Vec, discovered_bytes: &Vec, key: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 26.62s [INFO] running `Command { std: "docker" "inspect" "3a38725d2c78b9a7bb28de571de894c03a49a1841152c4d557f5b412abd86019", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a38725d2c78b9a7bb28de571de894c03a49a1841152c4d557f5b412abd86019", kill_on_drop: false }` [INFO] [stdout] 3a38725d2c78b9a7bb28de571de894c03a49a1841152c4d557f5b412abd86019 [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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+61469b682c2b0bf9cebc4622f1859e2bb3b7ebca" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 568b7ea64ace5a4c0cfa058576a62f2b2c7817da7ef4c438e3aefcf48a147038 [INFO] running `Command { std: "docker" "start" "-a" "568b7ea64ace5a4c0cfa058576a62f2b2c7817da7ef4c438e3aefcf48a147038", kill_on_drop: false }` [INFO] [stderr] Compiling matasano v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `set1::challenge8::score_ciphertext_for_ecb_mode` [INFO] [stdout] --> src/set2/challenge12.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use set1::challenge8::score_ciphertext_for_ecb_mode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sanitised_input` is never read [INFO] [stdout] --> src/set2/challenge13.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | let mut sanitised_input = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `KEY` [INFO] [stdout] --> src/set2/challenge13.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const KEY: &'static [u8] = b"YELLOW SUBMARINE"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/set2/challenge13.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn new(email: String) -> Profile { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encrypt` [INFO] [stdout] --> src/set2/challenge13.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn encrypt(plaintext: String) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decrypt` [INFO] [stdout] --> src/set2/challenge13.rs:40:4 [INFO] [stdout] | [INFO] [stdout] 40 | fn decrypt(ciphertext: Vec) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MESSAGE` [INFO] [stdout] --> src/set2/challenge14.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / const MESSAGE: &'static [u8] = b"Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg [INFO] [stdout] 8 | | aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq [INFO] [stdout] 9 | | dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg [INFO] [stdout] 10 | | YnkK"; [INFO] [stdout] | |______^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `random_input` [INFO] [stdout] --> src/set2/challenge14.rs:12:4 [INFO] [stdout] | [INFO] [stdout] 12 | fn random_input() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `encryption_oracle` [INFO] [stdout] --> src/set2/challenge14.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn encryption_oracle(attacker_input: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_target_permutation` [INFO] [stdout] --> src/set2/challenge14.rs:27:4 [INFO] [stdout] | [INFO] [stdout] 27 | fn find_target_permutation(byte_index: usize, block_size: usize, marker_cipher: Vec, decrypted_bytes: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_byte` [INFO] [stdout] --> src/set2/challenge14.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn test_byte(candidate: u8, byte_index: usize, block_size: usize, marker_cipher: Vec, target_permutation: Vec, decrypted_bytes: &... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `find_marker_block` [INFO] [stdout] --> src/set2/challenge14.rs:91:4 [INFO] [stdout] | [INFO] [stdout] 91 | fn find_marker_block(block_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `BLOCK_LENGTH` [INFO] [stdout] --> src/set3/challenge17.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | const BLOCK_LENGTH: usize = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `INPUT_STRINGS` [INFO] [stdout] --> src/set3/challenge17.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / const INPUT_STRINGS: [&'static str; 10] = [ [INFO] [stdout] 10 | | "MDAwMDAwTm93IHRoYXQgdGhlIHBhcnR5IGlzIGp1bXBpbmc=", [INFO] [stdout] 11 | | "MDAwMDAxV2l0aCB0aGUgYmFzcyBraWNrZWQgaW4gYW5kIHRoZSBWZWdhJ3MgYXJlIHB1bXBpbic=", [INFO] [stdout] 12 | | "MDAwMDAyUXVpY2sgdG8gdGhlIHBvaW50LCB0byB0aGUgcG9pbnQsIG5vIGZha2luZw==", [INFO] [stdout] ... | [INFO] [stdout] 19 | | "MDAwMDA5aXRoIG15IHJhZy10b3AgZG93biBzbyBteSBoYWlyIGNhbiBibG93", [INFO] [stdout] 20 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `pad` [INFO] [stdout] --> src/set3/challenge17.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn pad(mut input: Vec) -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decrypt_and_check_padding` [INFO] [stdout] --> src/set3/challenge17.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn decrypt_and_check_padding(ciphertext: Vec, key: &[u8], iv: &[u8]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_byte` [INFO] [stdout] --> src/set3/challenge17.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn test_byte(guess: u8, target_index: usize, attacking_block: Vec, discovered_bytes: &Vec, key: &[u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/set2/challenge13.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 72 | while (test_len == len_enc) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - while (test_len == len_enc) { [INFO] [stdout] 72 + while test_len == len_enc { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `sanitised_input` is never read [INFO] [stdout] --> src/set2/challenge13.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | let mut sanitised_input = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/set2/challenge13.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | let mut len_enc = encrypt(Profile::new(test_email.clone()).to_string()).len(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.65s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/matasano-fc6ff43551511eba) [INFO] running `Command { std: "docker" "inspect" "568b7ea64ace5a4c0cfa058576a62f2b2c7817da7ef4c438e3aefcf48a147038", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "568b7ea64ace5a4c0cfa058576a62f2b2c7817da7ef4c438e3aefcf48a147038", kill_on_drop: false }` [INFO] [stdout] 568b7ea64ace5a4c0cfa058576a62f2b2c7817da7ef4c438e3aefcf48a147038 [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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+61469b682c2b0bf9cebc4622f1859e2bb3b7ebca" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] ca0eb04f9619a16c956b2fa82801ee6e9f4661f1e2c6481e3960911f5a6cb45e [INFO] running `Command { std: "docker" "start" "-a" "ca0eb04f9619a16c956b2fa82801ee6e9f4661f1e2c6481e3960911f5a6cb45e", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `set1::challenge8::score_ciphertext_for_ecb_mode` [INFO] [stderr] --> src/set2/challenge12.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use set1::challenge8::score_ciphertext_for_ecb_mode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `sanitised_input` is never read [INFO] [stderr] --> src/set2/challenge13.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | let mut sanitised_input = String::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `KEY` [INFO] [stderr] --> src/set2/challenge13.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | const KEY: &'static [u8] = b"YELLOW SUBMARINE"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/set2/challenge13.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(email: String) -> Profile { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encrypt` [INFO] [stderr] --> src/set2/challenge13.rs:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | fn encrypt(plaintext: String) -> Vec { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decrypt` [INFO] [stderr] --> src/set2/challenge13.rs:40:4 [INFO] [stderr] | [INFO] [stderr] 40 | fn decrypt(ciphertext: Vec) -> String { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `MESSAGE` [INFO] [stderr] --> src/set2/challenge14.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / const MESSAGE: &'static [u8] = b"Um9sbGluJyBpbiBteSA1LjAKV2l0aCBteSByYWctdG9wIGRvd24gc28gbXkg [INFO] [stderr] 8 | | aGFpciBjYW4gYmxvdwpUaGUgZ2lybGllcyBvbiBzdGFuZGJ5IHdhdmluZyBq [INFO] [stderr] 9 | | dXN0IHRvIHNheSBoaQpEaWQgeW91IHN0b3A/IE5vLCBJIGp1c3QgZHJvdmUg [INFO] [stderr] 10 | | YnkK"; [INFO] [stderr] | |______^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `random_input` [INFO] [stderr] --> src/set2/challenge14.rs:12:4 [INFO] [stderr] | [INFO] [stderr] 12 | fn random_input() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `encryption_oracle` [INFO] [stderr] --> src/set2/challenge14.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn encryption_oracle(attacker_input: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_target_permutation` [INFO] [stderr] --> src/set2/challenge14.rs:27:4 [INFO] [stderr] | [INFO] [stderr] 27 | fn find_target_permutation(byte_index: usize, block_size: usize, marker_cipher: Vec, decrypted_bytes: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_byte` [INFO] [stderr] --> src/set2/challenge14.rs:56:4 [INFO] [stderr] | [INFO] [stderr] 56 | fn test_byte(candidate: u8, byte_index: usize, block_size: usize, marker_cipher: Vec, target_permutation: Vec, decrypted_bytes: &... [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_marker_block` [INFO] [stderr] --> src/set2/challenge14.rs:91:4 [INFO] [stderr] | [INFO] [stderr] 91 | fn find_marker_block(block_size: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `BLOCK_LENGTH` [INFO] [stderr] --> src/set3/challenge17.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const BLOCK_LENGTH: usize = 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `INPUT_STRINGS` [INFO] [stderr] --> src/set3/challenge17.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / const INPUT_STRINGS: [&'static str; 10] = [ [INFO] [stderr] 10 | | "MDAwMDAwTm93IHRoYXQgdGhlIHBhcnR5IGlzIGp1bXBpbmc=", [INFO] [stderr] 11 | | "MDAwMDAxV2l0aCB0aGUgYmFzcyBraWNrZWQgaW4gYW5kIHRoZSBWZWdhJ3MgYXJlIHB1bXBpbic=", [INFO] [stderr] 12 | | "MDAwMDAyUXVpY2sgdG8gdGhlIHBvaW50LCB0byB0aGUgcG9pbnQsIG5vIGZha2luZw==", [INFO] [stderr] ... | [INFO] [stderr] 19 | | "MDAwMDA5aXRoIG15IHJhZy10b3AgZG93biBzbyBteSBoYWlyIGNhbiBibG93", [INFO] [stderr] 20 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pad` [INFO] [stderr] --> src/set3/challenge17.rs:22:4 [INFO] [stderr] | [INFO] [stderr] 22 | fn pad(mut input: Vec) -> Vec { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `decrypt_and_check_padding` [INFO] [stderr] --> src/set3/challenge17.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | fn decrypt_and_check_padding(ciphertext: Vec, key: &[u8], iv: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_byte` [INFO] [stderr] --> src/set3/challenge17.rs:42:4 [INFO] [stderr] | [INFO] [stderr] 42 | fn test_byte(guess: u8, target_index: usize, attacking_block: Vec, discovered_bytes: &Vec, key: &[u8]) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `while` condition [INFO] [stderr] --> src/set2/challenge13.rs:72:11 [INFO] [stderr] | [INFO] [stderr] 72 | while (test_len == len_enc) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 72 - while (test_len == len_enc) { [INFO] [stderr] 72 + while test_len == len_enc { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/set2/challenge13.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | let mut len_enc = encrypt(Profile::new(test_email.clone()).to_string()).len(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `matasano` (lib) generated 17 warnings [INFO] [stderr] warning: `matasano` (lib test) generated 3 warnings (1 duplicate) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/matasano-fc6ff43551511eba) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test set1::challenge2::challenge2 ... ok [INFO] [stdout] test set1::challenge5::challenge5 ... ok [INFO] [stdout] test set1::challenge6::test_keysize ... ok [INFO] [stdout] test set1::challenge8::finds_repeating_blocks ... ok [INFO] [stdout] test set2::challenge13::eat_metachars ... ok [INFO] [stdout] test set1::challenge1::challenge1 ... ok [INFO] [stdout] test set2::challenge13::profile_prints_url_formatted ... ok [INFO] [stdout] test set2::challenge9::challenge9 ... ok [INFO] [stdout] test set1::challenge6::test_hamming ... ok [INFO] [stdout] test set3::challenge17::pkcs7_padding ... ok [INFO] [stdout] test set2::challenge9::should_stay_at_block_length ... ok [INFO] [stdout] test set1::challenge3::challenge3 ... ok [INFO] [stdout] test set2::challenge10::enc_dec_longer ... ok [INFO] [stdout] test set2::challenge13::challenge13 ... ok [INFO] [stdout] test set1::challenge7::challenge7 ... ok [INFO] [stdout] test set2::challenge10::enc_dec ... ok [INFO] [stdout] test set2::challenge13::encrypt_decrypt ... ok [INFO] [stdout] test set2::challenge11::challenge11 ... ok [INFO] [stdout] test set2::challenge10::challenge10 ... ok [INFO] [stdout] test set2::challenge12::challenge_12 ... ok [INFO] [stdout] test set3::challenge17::challenge17 ... ok [INFO] [stdout] test set1::challenge8::challenge8 ... ok [INFO] [stdout] test set1::challenge6::challenge6 ... ok [INFO] [stdout] test set1::challenge4::challenge4 ... ok [INFO] [stdout] test set2::challenge14::challenge14 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.21s [INFO] [stdout] [INFO] [stderr] Doc-tests matasano [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ca0eb04f9619a16c956b2fa82801ee6e9f4661f1e2c6481e3960911f5a6cb45e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca0eb04f9619a16c956b2fa82801ee6e9f4661f1e2c6481e3960911f5a6cb45e", kill_on_drop: false }` [INFO] [stdout] ca0eb04f9619a16c956b2fa82801ee6e9f4661f1e2c6481e3960911f5a6cb45e