[INFO] cloning repository https://github.com/moeru1/cryptopals [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/moeru1/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 247505df94c9ecc98f089660d0f178c131944c49 [INFO] checking moeru1/cryptopals against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/moeru1/cryptopals on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/moeru1/cryptopals [INFO] finished tweaking git repo https://github.com/moeru1/cryptopals [INFO] tweaked toml for git repo https://github.com/moeru1/cryptopals written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/moeru1/cryptopals already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ascii v1.1.0 [INFO] [stderr] Downloaded pkg-config v0.3.29 [INFO] [stderr] Downloaded bitflags v2.4.2 [INFO] [stderr] Downloaded either v1.10.0 [INFO] [stderr] Downloaded openssl-sys v0.9.99 [INFO] [stderr] Downloaded openssl v0.10.63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c4ef6e3b1800a7b225a5169334305c5f085581a9ef9e7f7fd6fc94f9f5ded960 [INFO] running `Command { std: "docker" "start" "-a" "c4ef6e3b1800a7b225a5169334305c5f085581a9ef9e7f7fd6fc94f9f5ded960", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c4ef6e3b1800a7b225a5169334305c5f085581a9ef9e7f7fd6fc94f9f5ded960", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4ef6e3b1800a7b225a5169334305c5f085581a9ef9e7f7fd6fc94f9f5ded960", kill_on_drop: false }` [INFO] [stdout] c4ef6e3b1800a7b225a5169334305c5f085581a9ef9e7f7fd6fc94f9f5ded960 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 659267d41ca30e12f5699f06a796c333d7c29fcfeb70b1ca98a5f61295561473 [INFO] running `Command { std: "docker" "start" "-a" "659267d41ca30e12f5699f06a796c333d7c29fcfeb70b1ca98a5f61295561473", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling pkg-config v0.3.29 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling openssl v0.10.63 [INFO] [stderr] Checking either v1.10.0 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling openssl-sys v0.9.99 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor` [INFO] [stdout] --> src/set1/aes_ecb.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `repeating_key_xor` [INFO] [stdout] --> src/set1/break_repeating_key.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::{repeating_key_xor, single_byte_xor_cipher::decrypt_single_xor}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/set1/break_repeating_key.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, prelude::*, BufReader}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `break_repeating_key::hamming_distance` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::{break_repeating_key::hamming_distance, fixed_xor::hex_decode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine`, `alphabet::STANDARD`, `engine::general_purpose` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self, alphabet::STANDARD, engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `base64` is imported redundantly [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self, alphabet::STANDARD, engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^ the item `base64` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp::min` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | cmp::min, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor::*` [INFO] [stdout] --> src/set1/detect_single_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `hex_decode` is imported redundantly [INFO] [stdout] --> src/set1/detect_single_xor.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor::*; [INFO] [stdout] | ------------------------- the item `hex_decode` is already imported here [INFO] [stdout] ... [INFO] [stdout] 7 | use super::fixed_xor::hex_decode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/set1/fixed_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `format` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{format, Write}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write as IoWrite`, `self` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, Write as IoWrite}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repeat_with`, `slice::ChunksExact` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with, zip}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 5 | slice::ChunksExact, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb_decrypt` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | cbc::{aes_ecb_decrypt, aes_ecb_encrpyt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard`, `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `repeat_with` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard`, `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor` [INFO] [stdout] --> src/set1/aes_ecb.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb` [INFO] [stdout] --> src/set2/cbc.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | aes_ecb, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `encrypt` [INFO] [stdout] --> src/set2/cbc.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use openssl::symm::{encrypt, Cipher, Crypter, Mode}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/set1/break_repeating_key.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, prelude::*, BufReader}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set2::pkcs7` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::set2::pkcs7; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `break_repeating_key::hamming_distance` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::{break_repeating_key::hamming_distance, fixed_xor::hex_decode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `seq::SliceRandom` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:6:59 [INFO] [stdout] | [INFO] [stdout] 6 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Engine`, `alphabet::STANDARD`, `engine::general_purpose` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self, alphabet::STANDARD, engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `base64` is imported redundantly [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self, alphabet::STANDARD, engine::general_purpose, Engine}; [INFO] [stdout] | ^^^^ the item `base64` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmp::min` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | cmp::min, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, `thread_rng` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | use rand::{thread_rng, Rng, SeedableRng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::fixed_xor::*` [INFO] [stdout] --> src/set1/detect_single_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `hex_decode` is imported redundantly [INFO] [stdout] --> src/set1/detect_single_xor.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::set1::fixed_xor::*; [INFO] [stdout] | ------------------------- the item `hex_decode` is already imported here [INFO] [stdout] ... [INFO] [stdout] 7 | use super::fixed_xor::hex_decode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/set1/fixed_xor.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::single_byte_xor_cipher::*` [INFO] [stdout] --> src/set1/fixed_xor.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | use crate::set1::single_byte_xor_cipher::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Cow` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::borrow::Cow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `format` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:3:16 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{format, Write}; [INFO] [stdout] | ^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write as IoWrite`, `self` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{self, Write as IoWrite}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str` [INFO] [stdout] --> src/set1/single_byte_xor_cipher.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `repeat_with`, `slice::ChunksExact` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with, zip}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 5 | slice::ChunksExact, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb_decrypt` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | cbc::{aes_ecb_decrypt, aes_ecb_encrpyt}, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard`, `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `repeat_with` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | iter::{repeat, repeat_with}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::detect_aes_ecb::evaluate` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::set1::detect_aes_ecb::evaluate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `distributions::Standard`, `seq::SliceRandom` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aes_ecb` [INFO] [stdout] --> src/set2/cbc.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | aes_ecb, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `encrypt` [INFO] [stdout] --> src/set2/cbc.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use openssl::symm::{encrypt, Cipher, Crypter, Mode}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `seq::SliceRandom` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:6:59 [INFO] [stdout] | [INFO] [stdout] 6 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ascii::IntoAsciiString` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | use ascii::IntoAsciiString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:130:25 [INFO] [stdout] | [INFO] [stdout] 130 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | use std::io::{BufRead, BufReader}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:17:36 [INFO] [stdout] | [INFO] [stdout] 17 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | self, distributions::Standard, prelude::Distribution, seq::SliceRandom, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | let (block_size, n) = find_block_size(encryption_oracle); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:35 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | let (block_size, n) = find_block_size(encryption_oracle); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:35 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:35 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:193:26 [INFO] [stdout] | [INFO] [stdout] 193 | let (block_size, n) = find_block_size(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `entropy` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn entropy<'a>(p: impl Iterator) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `asd` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn asd(reader: impl BufRead) -> vec::IntoIter<(f32, String)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_aes_ecb` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn detect_aes_ecb(filename: impl AsRef) -> vec::IntoIter<(f32, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EncryptionOracle` is never constructed [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct EncryptionOracle<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `encrypt` are never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | impl<'a> EncryptionOracle<'a> { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 42 | fn new(random_prefix: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn encrypt(&self, input: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn find_block_size(encryption_oracle: &EncryptionOracle) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn find_prefix_len(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:102:4 [INFO] [stdout] | [INFO] [stdout] 102 | fn find_prefix_len2(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_mixed_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | fn find_mixed_block(encryption_oracle: &EncryptionOracle, block_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn find_block_size() -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `aes_cbc_encrpyt_naive` is never used [INFO] [stdout] --> src/set2/cbc.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn aes_cbc_encrpyt_naive(plaintext: &[u8], key: &[u8], iv: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Threshold` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct Threshold(f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OracleTrainer` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct OracleTrainer {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Oracle` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Oracle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `train_oracle` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 64 | impl OracleTrainer { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 65 | fn train_oracle<'a>(input: impl IntoIterator>) -> Threshold { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `ecb_cbc_oracle` are never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 112 | impl Oracle { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 113 | fn new(threshold: Threshold) -> Oracle { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn ecb_cbc_oracle(&self, value: f32) -> EncryptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kv_formatter` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn kv_formatter<'a>(input: impl Iterator) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kv_parsing` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn kv_parsing(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `profile_for` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn profile_for(email: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt_user` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn encrypt_user(encoded_user: &str) -> (Vec, [u8; BLOCK_SIZE]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_and_parse` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn decrypt_and_parse(encrypted_user: &[u8], key: &[u8; BLOCK_SIZE]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 70 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `oracle` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | let oracle = Oracle::new(threshold); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oracle` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let output = kv_parsing("foo=bar&baz=qux&zap=zazzle"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn find_prefix_len(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:147:4 [INFO] [stdout] | [INFO] [stdout] 147 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:165:4 [INFO] [stdout] | [INFO] [stdout] 165 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:220:4 [INFO] [stdout] | [INFO] [stdout] 220 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:64:4 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:87:4 [INFO] [stdout] | [INFO] [stdout] 87 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | struct Threshold(f32); [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = note: `Threshold` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | struct Threshold(()); [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threshold` is never read [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct Oracle { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 14 | threshold: Threshold, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ecb_cbc_oracle` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 112 | impl Oracle { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 116 | fn ecb_cbc_oracle(&self, value: f32) -> EncryptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 57 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.69s [INFO] running `Command { std: "docker" "inspect" "659267d41ca30e12f5699f06a796c333d7c29fcfeb70b1ca98a5f61295561473", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "659267d41ca30e12f5699f06a796c333d7c29fcfeb70b1ca98a5f61295561473", kill_on_drop: false }` [INFO] [stdout] 659267d41ca30e12f5699f06a796c333d7c29fcfeb70b1ca98a5f61295561473 [INFO] checking moeru1/cryptopals against try#36dbcaee1a55543dfc181be52a69d99ff46ff62f for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoeru1%2Fcryptopals" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/moeru1/cryptopals on toolchain 36dbcaee1a55543dfc181be52a69d99ff46ff62f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36dbcaee1a55543dfc181be52a69d99ff46ff62f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/moeru1/cryptopals [INFO] finished tweaking git repo https://github.com/moeru1/cryptopals [INFO] tweaked toml for git repo https://github.com/moeru1/cryptopals written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/moeru1/cryptopals already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36dbcaee1a55543dfc181be52a69d99ff46ff62f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+36dbcaee1a55543dfc181be52a69d99ff46ff62f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 62dd8387df2d02d1558c9a653251bdb7280d69b4defd4c08db61ffc74cc97a82 [INFO] running `Command { std: "docker" "start" "-a" "62dd8387df2d02d1558c9a653251bdb7280d69b4defd4c08db61ffc74cc97a82", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "62dd8387df2d02d1558c9a653251bdb7280d69b4defd4c08db61ffc74cc97a82", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "62dd8387df2d02d1558c9a653251bdb7280d69b4defd4c08db61ffc74cc97a82", kill_on_drop: false }` [INFO] [stdout] 62dd8387df2d02d1558c9a653251bdb7280d69b4defd4c08db61ffc74cc97a82 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+36dbcaee1a55543dfc181be52a69d99ff46ff62f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 76db935124b4294c81f993808360e7e47301a4a66bb07352390623de530bf9a9 [INFO] running `Command { std: "docker" "start" "-a" "76db935124b4294c81f993808360e7e47301a4a66bb07352390623de530bf9a9", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling pkg-config v0.3.29 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.63 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking either v1.10.0 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling openssl-sys v0.9.99 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking cryptopals v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/set1/break_repeating_key.rs (2 fixes) [INFO] [stderr] Fixed src/set2/byte_ecb_decryption_harder.rs (5 fixes) [INFO] [stderr] Fixed src/set1/single_byte_xor_cipher.rs (4 fixes) [INFO] [stderr] Fixed src/set1/aes_ecb.rs (1 fix) [INFO] [stderr] Fixed src/set2/ecb_cbc_oracle.rs (2 fixes) [INFO] [stderr] Fixed src/set1/detect_single_xor.rs (1 fix) [INFO] [stderr] Fixed src/set1/fixed_xor.rs (1 fix) [INFO] [stderr] Fixed src/set1/detect_aes_ecb.rs (3 fixes) [INFO] [stderr] Fixed src/set2/byte_ecb_decryption_simple.rs (4 fixes) [INFO] [stderr] Fixed src/set2/cbc.rs (2 fixes) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | self, distributions::Standard, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:83:22 [INFO] [stdout] | [INFO] [stdout] 83 | let (block_size, n) = find_block_size(encryption_oracle); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:250:35 [INFO] [stdout] | [INFO] [stdout] 250 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:173:35 [INFO] [stdout] | [INFO] [stdout] 173 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `entropy` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:25:4 [INFO] [stdout] | [INFO] [stdout] 25 | fn entropy<'a>(p: impl Iterator) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `asd` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn asd(reader: impl BufRead) -> vec::IntoIter<(f32, String)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `detect_aes_ecb` is never used [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:83:4 [INFO] [stdout] | [INFO] [stdout] 83 | fn detect_aes_ecb(filename: impl AsRef) -> vec::IntoIter<(f32, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EncryptionOracle` is never constructed [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | struct EncryptionOracle<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `encrypt` are never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 38 | impl<'a> EncryptionOracle<'a> { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 39 | fn new(random_prefix: &'a [u8]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn encrypt(&self, input: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn find_block_size(encryption_oracle: &EncryptionOracle) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn find_prefix_len(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_prefix_len2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn find_prefix_len2(encryption_oracle: &EncryptionOracle) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_mixed_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:119:4 [INFO] [stdout] | [INFO] [stdout] 119 | fn find_mixed_block(encryption_oracle: &EncryptionOracle, block_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:139:4 [INFO] [stdout] | [INFO] [stdout] 139 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:144:4 [INFO] [stdout] | [INFO] [stdout] 144 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:194:4 [INFO] [stdout] | [INFO] [stdout] 194 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:217:4 [INFO] [stdout] | [INFO] [stdout] 217 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:250:4 [INFO] [stdout] | [INFO] [stdout] 250 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_block_size` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn find_block_size() -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_block` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn get_block(bytes: &[u8], i: usize, block_size: usize) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary_opt` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:67:4 [INFO] [stdout] | [INFO] [stdout] 67 | fn create_dictionary_opt<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary3` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:85:4 [INFO] [stdout] | [INFO] [stdout] 85 | fn dictionary3(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_dictionary` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn create_dictionary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary2` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:140:4 [INFO] [stdout] | [INFO] [stdout] 140 | fn dictionary2(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dictionary1` is never used [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `aes_cbc_encrpyt_naive` is never used [INFO] [stdout] --> src/set2/cbc.rs:72:4 [INFO] [stdout] | [INFO] [stdout] 72 | fn aes_cbc_encrpyt_naive(plaintext: &[u8], key: &[u8], iv: &[u8]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Threshold` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct Threshold(f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OracleTrainer` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct OracleTrainer {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Oracle` is never constructed [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Oracle { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `train_oracle` is never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 63 | impl OracleTrainer { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 64 | fn train_oracle<'a>(input: impl IntoIterator>) -> Threshold { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `ecb_cbc_oracle` are never used [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl Oracle { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 112 | fn new(threshold: Threshold) -> Oracle { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | fn ecb_cbc_oracle(&self, value: f32) -> EncryptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCK_SIZE` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const BLOCK_SIZE: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kv_formatter` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn kv_formatter<'a>(input: impl Iterator) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `kv_parsing` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn kv_parsing(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `profile_for` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn profile_for(email: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encrypt_user` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn encrypt_user(encoded_user: &str) -> (Vec, [u8; BLOCK_SIZE]) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decrypt_and_parse` is never used [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:42:4 [INFO] [stdout] | [INFO] [stdout] 42 | fn decrypt_and_parse(encrypted_user: &[u8], key: &[u8; BLOCK_SIZE]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `repeating_key_xor` [INFO] [stdout] --> src/set1/break_repeating_key.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | let msg = repeating_key_xor::encrypt(&bytes, &key); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of undeclared crate or module `repeating_key_xor` [INFO] [stdout] | [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 67 + use crate::set1::repeating_key_xor; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `pkcs7` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | pkcs7::pad_to_multiple(&mut a, 16); [INFO] [stdout] | ^^^^^ use of undeclared crate or module `pkcs7` [INFO] [stdout] | [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 126 + use crate::set2::pkcs7; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:2:14 [INFO] [stdout] | [INFO] [stdout] 2 | use base64::{self}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, `thread_rng` [INFO] [stdout] --> src/set1/detect_aes_ecb.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | use rand::{thread_rng, Rng, SeedableRng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::set1::single_byte_xor_cipher::*` [INFO] [stdout] --> src/set1/fixed_xor.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::set1::single_byte_xor_cipher::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `rand` is imported redundantly [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | self, distributions::Standard, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^ the item `rand` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ascii::IntoAsciiString` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | use ascii::IntoAsciiString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | use std::fs::{self, File}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader` [INFO] [stdout] --> src/set2/ecb_cbc_oracle.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | use std::io::{BufRead, BufReader}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::Distribution` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | self, prelude::Distribution, thread_rng, Rng, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:83:22 [INFO] [stdout] | [INFO] [stdout] 83 | let (block_size, n) = find_block_size(encryption_oracle); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_harder.rs:250:35 [INFO] [stdout] | [INFO] [stdout] 250 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `total_len` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:173:35 [INFO] [stdout] | [INFO] [stdout] 173 | fn dictionary1(block_size: usize, total_len: usize) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/set2/byte_ecb_decryption_simple.rs:191:26 [INFO] [stdout] | [INFO] [stdout] 191 | let (block_size, n) = find_block_size(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> src/set2/ecb_cut_paste.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let output = kv_parsing("foo=bar&baz=qux&zap=zazzle"); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `cryptopals` (bin "cryptopals" test) due to 3 previous errors; 17 warnings emitted [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "76db935124b4294c81f993808360e7e47301a4a66bb07352390623de530bf9a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "76db935124b4294c81f993808360e7e47301a4a66bb07352390623de530bf9a9", kill_on_drop: false }` [INFO] [stdout] 76db935124b4294c81f993808360e7e47301a4a66bb07352390623de530bf9a9