[INFO] updating cached repository davbo/cryptopals [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/davbo/cryptopals [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/davbo/cryptopals" "work/ex/beta-1.37-6/sources/1.36.0/gh/davbo/cryptopals"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/1.36.0/gh/davbo/cryptopals'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/davbo/cryptopals" "work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/davbo/cryptopals"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/davbo/cryptopals'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] fc44233cda34a14c7f4ef54b5bf8d0bff9e83b85 [INFO] sha for GitHub repo davbo/cryptopals: fc44233cda34a14c7f4ef54b5bf8d0bff9e83b85 [INFO] validating manifest of davbo/cryptopals on toolchain 1.36.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of davbo/cryptopals on toolchain beta-2019-07-23 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing davbo/cryptopals [INFO] finished frobbing davbo/cryptopals [INFO] frobbed toml for davbo/cryptopals written to work/ex/beta-1.37-6/sources/1.36.0/gh/davbo/cryptopals/Cargo.toml [INFO] started frobbing davbo/cryptopals [INFO] finished frobbing davbo/cryptopals [INFO] frobbed toml for davbo/cryptopals written to work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/davbo/cryptopals/Cargo.toml [INFO] crate davbo/cryptopals already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing davbo/cryptopals against beta-2019-07-23 for beta-1.37-6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-2/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/davbo/cryptopals:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-07-23" "build" "--frozen"` [INFO] [stdout] b59b254d23a41a4e5696613915ea68d160e36ffb3d4a6d0483bbe90549800b51 [INFO] running `"docker" "start" "-a" "b59b254d23a41a4e5696613915ea68d160e36ffb3d4a6d0483bbe90549800b51"` [INFO] [stderr] Compiling openssl v0.10.8 [INFO] [stderr] Compiling libc v0.2.10 [INFO] [stderr] Compiling openssl-sys v0.9.31 [INFO] [stderr] Compiling rand v0.5.0 [INFO] [stderr] Compiling matasano v0.0.1 (/opt/crater/workdir) [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 item 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: struct is never constructed: `Profile` [INFO] [stderr] --> src/set2/challenge13.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | struct Profile { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/set2/challenge13.rs:16:5 [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:1 [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:1 [INFO] [stderr] | [INFO] [stderr] 40 | fn decrypt(ciphertext: Vec) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item 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:1 [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:1 [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:1 [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:1 [INFO] [stderr] | [INFO] [stderr] 56 | fn test_byte(candidate: u8, byte_index: usize, block_size: usize, marker_cipher: Vec, target_permutation: Vec, decrypted_bytes: &[u8]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `find_marker_block` [INFO] [stderr] --> src/set2/challenge14.rs:91:1 [INFO] [stderr] | [INFO] [stderr] 91 | fn find_marker_block(block_size: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item 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 item 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:1 [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:1 [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:1 [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] Finished dev [unoptimized + debuginfo] target(s) in 7.94s [INFO] running `"docker" "inspect" "b59b254d23a41a4e5696613915ea68d160e36ffb3d4a6d0483bbe90549800b51"` [INFO] running `"docker" "rm" "-f" "b59b254d23a41a4e5696613915ea68d160e36ffb3d4a6d0483bbe90549800b51"` [INFO] [stdout] b59b254d23a41a4e5696613915ea68d160e36ffb3d4a6d0483bbe90549800b51 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-2/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/davbo/cryptopals:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-07-23" "test" "--frozen" "--no-run"` [INFO] [stdout] e6d969198bbf806d1e5bfe1a9e583f92030a3c3e347aa144aefe98f3dd587721 [INFO] running `"docker" "start" "-a" "e6d969198bbf806d1e5bfe1a9e583f92030a3c3e347aa144aefe98f3dd587721"` [INFO] [stderr] Compiling matasano v0.0.1 (/opt/crater/workdir) [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] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] 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: 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] Finished dev [unoptimized + debuginfo] target(s) in 2.00s [INFO] running `"docker" "inspect" "e6d969198bbf806d1e5bfe1a9e583f92030a3c3e347aa144aefe98f3dd587721"` [INFO] running `"docker" "rm" "-f" "e6d969198bbf806d1e5bfe1a9e583f92030a3c3e347aa144aefe98f3dd587721"` [INFO] [stdout] e6d969198bbf806d1e5bfe1a9e583f92030a3c3e347aa144aefe98f3dd587721 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-2/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/davbo/cryptopals:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-07-23" "test" "--frozen"` [INFO] [stdout] ecd5ba929e1abe6e14f0bc6cdc09ab87971e8e87c8a82a3d3011d32e846c4290 [INFO] running `"docker" "start" "-a" "ecd5ba929e1abe6e14f0bc6cdc09ab87971e8e87c8a82a3d3011d32e846c4290"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running /opt/crater/target/debug/deps/matasano-a9c5f090484e5266 [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test set1::challenge2::challenge2 ... ok [INFO] [stdout] test set1::challenge1::challenge1 ... ok [INFO] [stdout] test set1::challenge5::challenge5 ... ok [INFO] [stdout] test set1::challenge6::test_hamming ... ok [INFO] [stdout] test set1::challenge6::test_keysize ... ok [INFO] [stdout] test set2::challenge10::enc_dec ... ok [INFO] [stdout] test set1::challenge7::challenge7 ... ok [INFO] [stdout] test set1::challenge8::finds_repeating_blocks ... ok [INFO] [stdout] test set1::challenge3::challenge3 ... ok [INFO] [stdout] test set2::challenge10::challenge10 ... ok [INFO] [stdout] test set2::challenge11::challenge11 ... ok [INFO] [stdout] test set2::challenge12::challenge_12 ... ok [INFO] [stdout] test set2::challenge13::challenge13 ... ok [INFO] [stdout] test set2::challenge13::encrypt_decrypt ... ok [INFO] [stdout] test set2::challenge9::challenge9 ... ok [INFO] [stdout] test set2::challenge13::eat_metachars ... ok [INFO] [stdout] test set2::challenge13::profile_prints_url_formatted ... ok [INFO] [stdout] test set2::challenge10::enc_dec_longer ... ok [INFO] [stdout] test set2::challenge9::should_stay_at_block_length ... ok [INFO] [stdout] test set3::challenge17::pkcs7_padding ... 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] [stderr] Doc-tests matasano [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [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 [INFO] [stdout] [INFO] running `"docker" "inspect" "ecd5ba929e1abe6e14f0bc6cdc09ab87971e8e87c8a82a3d3011d32e846c4290"` [INFO] running `"docker" "rm" "-f" "ecd5ba929e1abe6e14f0bc6cdc09ab87971e8e87c8a82a3d3011d32e846c4290"` [INFO] [stdout] ecd5ba929e1abe6e14f0bc6cdc09ab87971e8e87c8a82a3d3011d32e846c4290