[INFO] fetching crate boring 4.9.1... [INFO] checking boring-4.9.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate boring 4.9.1 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate boring 4.9.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate boring 4.9.1 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate boring 4.9.1 [INFO] tweaked toml for crates.io crate boring 4.9.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate boring 4.9.1 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ca8b174b9b1df8d1aa42630545253e23d825e4e3cfea7895c8102eff6ce59135 [INFO] running `Command { std: "docker" "start" "-a" "ca8b174b9b1df8d1aa42630545253e23d825e4e3cfea7895c8102eff6ce59135", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ca8b174b9b1df8d1aa42630545253e23d825e4e3cfea7895c8102eff6ce59135", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca8b174b9b1df8d1aa42630545253e23d825e4e3cfea7895c8102eff6ce59135", kill_on_drop: false }` [INFO] [stdout] ca8b174b9b1df8d1aa42630545253e23d825e4e3cfea7895c8102eff6ce59135 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fac2fc9c5c7fa32ebbbb6066c09d7ba62a5dd51b6aa6ee89e0d3cb8fdc82c852 [INFO] running `Command { std: "docker" "start" "-a" "fac2fc9c5c7fa32ebbbb6066c09d7ba62a5dd51b6aa6ee89e0d3cb8fdc82c852", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.71 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling serde v1.0.193 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling libloading v0.7.4 [INFO] [stderr] Compiling bindgen v0.68.1 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling bitflags v2.4.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling shlex v1.2.0 [INFO] [stderr] Compiling clang-sys v1.6.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling fsio v0.1.3 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling envmnt v0.8.4 [INFO] [stderr] Compiling syn v2.0.42 [INFO] [stderr] Compiling fslock v0.2.1 [INFO] [stderr] Compiling ci_info v0.10.2 [INFO] [stderr] Compiling cmake v0.1.50 [INFO] [stderr] Compiling nias v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.3 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Checking foreign-types-shared v0.3.1 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling regex v1.10.2 [INFO] [stderr] Compiling rusty-hook v0.11.2 [INFO] [stderr] Compiling foreign-types-macros v0.2.3 [INFO] [stderr] Checking foreign-types v0.5.0 [INFO] [stderr] Compiling boring-sys v4.9.1 [INFO] [stderr] Checking boring v4.9.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `boring` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:137:19 [INFO] [stderr] | [INFO] [stderr] 137 | fn drop = $drop:expr_2021; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:138:22 [INFO] [stderr] | [INFO] [stderr] 138 | $(fn clone = $clone:expr_2021;)* [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:160:19 [INFO] [stderr] | [INFO] [stderr] 160 | fn drop = $drop:expr_2021; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:161:22 [INFO] [stderr] | [INFO] [stderr] 161 | $(fn clone = $clone:expr_2021;)* [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/ec.rs:943:13 [INFO] [stdout] | [INFO] [stdout] 943 | let gen = group.generator(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/ec.rs:948:32 [INFO] [stdout] | [INFO] [stdout] 948 | assert!(ecp.eq(&group, gen, &mut ctx).unwrap()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:137:25 [INFO] [stdout] | [INFO] [stdout] 137 | fn drop = $drop:expr; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 137 | fn drop = $drop:expr_2021; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:138:29 [INFO] [stdout] | [INFO] [stdout] 138 | $(fn clone = $clone:expr;)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 138 | $(fn clone = $clone:expr_2021;)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | fn drop = $drop:expr; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 160 | fn drop = $drop:expr_2021; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | $(fn clone = $clone:expr;)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 161 | $(fn clone = $clone:expr_2021;)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let callback = &mut *(cb_state as *mut CallbackState); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe extern "C" fn invoke_passwd_cb( [INFO] [stdout] 41 | | buf: *mut c_char, [INFO] [stdout] 42 | | size: c_int, [INFO] [stdout] 43 | | _rwflag: c_int, [INFO] [stdout] ... | [INFO] [stdout] 46 | | where [INFO] [stdout] 47 | | F: FnOnce(&mut [u8]) -> Result, [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | let pass_slice = slice::from_raw_parts_mut(buf as *mut u8, size as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextBuilder::set_get_session_callback` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/async_callbacks.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | self.set_get_session_callback(async_callback) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/async_callbacks.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | / pub unsafe fn set_async_get_session_callback(&mut self, callback: F) [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | F: Fn(&mut SslRef, &[u8]) -> Option + Send + Sync + 'static, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub unsafe fn take_error(bio: *mut BIO) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub unsafe fn take_panic(bio: *mut BIO) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | &state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub unsafe fn get_ref<'a, S: 'a>(bio: *mut BIO) -> &'a S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | &mut state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub unsafe fn get_mut<'a, S: 'a>(bio: *mut BIO) -> &'a mut S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn take_stream(bio: *mut BIO) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let state = Box::>::from_raw(data as *mut _); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | state::(bio).dtls_mtu_size = mtu_size as c_long; [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe fn set_dtls_mtu_size(bio: *mut BIO, mtu_size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | let data = BIO_get_data(bio) as *mut StreamState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | unsafe fn state<'a, S: 'a>(bio: *mut BIO) -> &'a mut StreamState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | &mut *data [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | unsafe extern "C" fn bwrite(bio: *mut BIO, buf: *const c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let buf = slice::from_raw_parts(buf as *const _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_write` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | BIO_set_retry_write(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe extern "C" fn bread(bio: *mut BIO, buf: *mut c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:130:15 [INFO] [stdout] | [INFO] [stdout] 130 | let buf = slice::from_raw_parts_mut(buf as *mut _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_read` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | BIO_set_retry_read(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::bwrite` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | unsafe extern "C" fn bputs(bio: *mut BIO, s: *const c_char) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `libc::strlen` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | / unsafe extern "C" fn ctrl( [INFO] [stdout] 161 | | bio: *mut BIO, [INFO] [stdout] 162 | | cmd: c_int, [INFO] [stdout] 163 | | _num: c_long, [INFO] [stdout] 164 | | _ptr: *mut c_void, [INFO] [stdout] 165 | | ) -> c_long { [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:187:1 [INFO] [stdout] | [INFO] [stdout] 187 | unsafe extern "C" fn create(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::BIO_set_num` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | BIO_set_num(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | BIO_set_flags(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:200:16 [INFO] [stdout] | [INFO] [stdout] 200 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:195:1 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe extern "C" fn destroy(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:203:14 [INFO] [stdout] | [INFO] [stdout] 203 | drop(Box::>::from_raw(data as *mut _)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:451:14 [INFO] [stdout] | [INFO] [stdout] 451 | drop(Box::::from_raw(ptr as *mut T)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:442:1 [INFO] [stdout] | [INFO] [stdout] 442 | / unsafe extern "C" fn free_data_box( [INFO] [stdout] 443 | | _parent: *mut c_void, [INFO] [stdout] 444 | | ptr: *mut c_void, [INFO] [stdout] 445 | | _ad: *mut ffi::CRYPTO_EX_DATA, [INFO] [stdout] ... | [INFO] [stdout] 448 | | _argp: *mut c_void, [INFO] [stdout] 449 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | ctx: SslContext::from_ptr(ctx), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:946:5 [INFO] [stdout] | [INFO] [stdout] 946 | pub unsafe fn from_ptr(ctx: *mut ffi::SSL_CTX) -> SslContextBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_sess_set_get_cb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:1810:9 [INFO] [stdout] | [INFO] [stdout] 1810 | ffi::SSL_CTX_sess_set_get_cb(self.as_ptr(), Some(callbacks::raw_get_session::)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:1802:5 [INFO] [stdout] | [INFO] [stdout] 1802 | / pub unsafe fn set_get_session_callback(&mut self, callback: F) [INFO] [stdout] 1803 | | where [INFO] [stdout] 1804 | | F: Fn(&mut SslRef, &[u8]) -> Result, GetSessionPendingError> [INFO] [stdout] 1805 | | + 'static [INFO] [stdout] 1806 | | + Sync [INFO] [stdout] 1807 | | + Send, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2176:20 [INFO] [stdout] | [INFO] [stdout] 2176 | let data = ffi::SSL_CTX_get_ex_data(self.as_ptr(), index.as_raw()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2175:5 [INFO] [stdout] | [INFO] [stdout] 2175 | unsafe fn ex_data_mut(&mut self, index: Index) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2180:23 [INFO] [stdout] | [INFO] [stdout] 2180 | Some(&mut *(data as *mut T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::ex_data_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2196:28 [INFO] [stdout] | [INFO] [stdout] 2196 | if let Some(old) = self.ex_data_mut(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2195:5 [INFO] [stdout] | [INFO] [stdout] 2195 | unsafe fn replace_ex_data(&mut self, index: Index, data: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::set_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2200:9 [INFO] [stdout] | [INFO] [stdout] 2200 | self.set_ex_data(index, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_add_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2218:9 [INFO] [stdout] | [INFO] [stdout] 2218 | ffi::SSL_CTX_add_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2217:5 [INFO] [stdout] | [INFO] [stdout] 2217 | pub unsafe fn add_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_remove_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2234:9 [INFO] [stdout] | [INFO] [stdout] 2234 | ffi::SSL_CTX_remove_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2233:5 [INFO] [stdout] | [INFO] [stdout] 2233 | pub unsafe fn remove_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_set_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3602:13 [INFO] [stdout] | [INFO] [stdout] 3602 | cvt(ffi::SSL_set_session(self.as_ptr(), session.as_ptr())).map(|_| ()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3601:5 [INFO] [stdout] | [INFO] [stdout] 3601 | pub unsafe fn set_session(&mut self, session: &SslSessionRef) -> Result<(), ErrorStack> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3974:19 [INFO] [stdout] | [INFO] [stdout] 3974 | let ssl = Ssl::from_ptr(ssl); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3973:5 [INFO] [stdout] | [INFO] [stdout] 3973 | pub unsafe fn from_raw_parts(ssl: *mut ffi::SSL, stream: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4529:9 [INFO] [stdout] | [INFO] [stdout] 4529 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4532:5 [INFO] [stdout] | [INFO] [stdout] 4532 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4539:9 [INFO] [stdout] | [INFO] [stdout] 4539 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4542:5 [INFO] [stdout] | [INFO] [stdout] 4542 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::sk_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/stack.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | OPENSSL_sk_value(self.as_stack(), idx) as *mut _ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/stack.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | unsafe fn _get(&self, idx: usize) -> *mut T::CType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/string.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | crate::ffi::OPENSSL_free(buf as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/string.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | unsafe fn free(buf: *mut c_char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509V3_EXT_i2d` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:868:15 [INFO] [stdout] | [INFO] [stdout] 868 | cvt_p(ffi::X509V3_EXT_i2d(nid.as_raw(), critical as _, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:862:5 [INFO] [stdout] | [INFO] [stdout] 862 | / pub(crate) unsafe fn new_internal( [INFO] [stdout] 863 | | nid: Nid, [INFO] [stdout] 864 | | critical: bool, [INFO] [stdout] 865 | | value: *mut c_void, [INFO] [stdout] 866 | | ) -> Result { [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:869:22 [INFO] [stdout] | [INFO] [stdout] 869 | .map(|p| X509Extension::from_ptr(p)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:18 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1543:5 [INFO] [stdout] | [INFO] [stdout] 1543 | / unsafe fn new( [INFO] [stdout] 1544 | | type_: c_int, [INFO] [stdout] 1545 | | asn1_type: Asn1Type, [INFO] [stdout] 1546 | | value: &[u8], [INFO] [stdout] 1547 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::GENERAL_NAME_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:46 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1550:9 [INFO] [stdout] | [INFO] [stdout] 1550 | (*gn.as_ptr()).type_ = type_; [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_type_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1551:23 [INFO] [stdout] | [INFO] [stdout] 1551 | let s = cvt_p(ffi::ASN1_STRING_type_new(asn1_type.as_raw()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_set` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1552:9 [INFO] [stdout] | [INFO] [stdout] 1552 | ffi::ASN1_STRING_set(s, value.as_ptr().cast(), value.len().try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1554:9 [INFO] [stdout] | [INFO] [stdout] 1554 | (*gn.as_ptr()).d.ptr = s.cast(); [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509_OBJECT_free_contents` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1721:5 [INFO] [stdout] | [INFO] [stdout] 1721 | ffi::X509_OBJECT_free_contents(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1720:1 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn X509_OBJECT_free(x: *mut ffi::X509_OBJECT) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1722:5 [INFO] [stdout] | [INFO] [stdout] 1722 | ffi::OPENSSL_free(x as *mut libc::c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(panic) = self.panic.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match self.panic.take() { Some(panic) => { [INFO] [stdout] 32 | panic::resume_unwind(panic); [INFO] [stdout] 33 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/ssl/mod.rs:4177:12 [INFO] [stdout] | [INFO] [stdout] 4177 | if let Some(err) = unsafe { bio::take_panic::(self.ssl.get_raw_rbio()) } { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/ssl/mod.rs:4179:9 [INFO] [stdout] | [INFO] [stdout] 4179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 4177 ~ match unsafe { bio::take_panic::(self.ssl.get_raw_rbio()) } { Some(err) => { [INFO] [stdout] 4178 | resume_unwind(err) [INFO] [stdout] 4179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 67 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `boring` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:137:19 [INFO] [stderr] | [INFO] [stderr] 137 | fn drop = $drop:expr_2021; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:138:22 [INFO] [stderr] | [INFO] [stderr] 138 | $(fn clone = $clone:expr_2021;)* [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:160:19 [INFO] [stderr] | [INFO] [stderr] 160 | fn drop = $drop:expr_2021; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/macros.rs:161:22 [INFO] [stderr] | [INFO] [stderr] 161 | $(fn clone = $clone:expr_2021;)* [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/ec.rs:943:13 [INFO] [stdout] | [INFO] [stdout] 943 | let gen = group.generator(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/ec.rs:948:32 [INFO] [stdout] | [INFO] [stdout] 948 | assert!(ecp.eq(&group, gen, &mut ctx).unwrap()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:137:25 [INFO] [stdout] | [INFO] [stdout] 137 | fn drop = $drop:expr; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 137 | fn drop = $drop:expr_2021; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:138:29 [INFO] [stdout] | [INFO] [stdout] 138 | $(fn clone = $clone:expr;)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 138 | $(fn clone = $clone:expr_2021;)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:160:25 [INFO] [stdout] | [INFO] [stdout] 160 | fn drop = $drop:expr; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 160 | fn drop = $drop:expr_2021; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/macros.rs:161:29 [INFO] [stdout] | [INFO] [stdout] 161 | $(fn clone = $clone:expr;)* [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 161 | $(fn clone = $clone:expr_2021;)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let callback = &mut *(cb_state as *mut CallbackState); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe extern "C" fn invoke_passwd_cb( [INFO] [stdout] 41 | | buf: *mut c_char, [INFO] [stdout] 42 | | size: c_int, [INFO] [stdout] 43 | | _rwflag: c_int, [INFO] [stdout] ... | [INFO] [stdout] 46 | | where [INFO] [stdout] 47 | | F: FnOnce(&mut [u8]) -> Result, [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | let pass_slice = slice::from_raw_parts_mut(buf as *mut u8, size as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextBuilder::set_get_session_callback` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/async_callbacks.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | self.set_get_session_callback(async_callback) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/async_callbacks.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | / pub unsafe fn set_async_get_session_callback(&mut self, callback: F) [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | F: Fn(&mut SslRef, &[u8]) -> Option + Send + Sync + 'static, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub unsafe fn take_error(bio: *mut BIO) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub unsafe fn take_panic(bio: *mut BIO) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | &state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub unsafe fn get_ref<'a, S: 'a>(bio: *mut BIO) -> &'a S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | &mut state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub unsafe fn get_mut<'a, S: 'a>(bio: *mut BIO) -> &'a mut S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn take_stream(bio: *mut BIO) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let state = Box::>::from_raw(data as *mut _); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | state::(bio).dtls_mtu_size = mtu_size as c_long; [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe fn set_dtls_mtu_size(bio: *mut BIO, mtu_size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | let data = BIO_get_data(bio) as *mut StreamState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | unsafe fn state<'a, S: 'a>(bio: *mut BIO) -> &'a mut StreamState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | &mut *data [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | unsafe extern "C" fn bwrite(bio: *mut BIO, buf: *const c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let buf = slice::from_raw_parts(buf as *const _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_write` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | BIO_set_retry_write(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe extern "C" fn bread(bio: *mut BIO, buf: *mut c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:130:15 [INFO] [stdout] | [INFO] [stdout] 130 | let buf = slice::from_raw_parts_mut(buf as *mut _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_read` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | BIO_set_retry_read(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::bwrite` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | unsafe extern "C" fn bputs(bio: *mut BIO, s: *const c_char) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `libc::strlen` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | / unsafe extern "C" fn ctrl( [INFO] [stdout] 161 | | bio: *mut BIO, [INFO] [stdout] 162 | | cmd: c_int, [INFO] [stdout] 163 | | _num: c_long, [INFO] [stdout] 164 | | _ptr: *mut c_void, [INFO] [stdout] 165 | | ) -> c_long { [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:187:1 [INFO] [stdout] | [INFO] [stdout] 187 | unsafe extern "C" fn create(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::BIO_set_num` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | BIO_set_num(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | BIO_set_flags(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:200:16 [INFO] [stdout] | [INFO] [stdout] 200 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:195:1 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe extern "C" fn destroy(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:203:14 [INFO] [stdout] | [INFO] [stdout] 203 | drop(Box::>::from_raw(data as *mut _)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:451:14 [INFO] [stdout] | [INFO] [stdout] 451 | drop(Box::::from_raw(ptr as *mut T)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:442:1 [INFO] [stdout] | [INFO] [stdout] 442 | / unsafe extern "C" fn free_data_box( [INFO] [stdout] 443 | | _parent: *mut c_void, [INFO] [stdout] 444 | | ptr: *mut c_void, [INFO] [stdout] 445 | | _ad: *mut ffi::CRYPTO_EX_DATA, [INFO] [stdout] ... | [INFO] [stdout] 448 | | _argp: *mut c_void, [INFO] [stdout] 449 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | ctx: SslContext::from_ptr(ctx), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:946:5 [INFO] [stdout] | [INFO] [stdout] 946 | pub unsafe fn from_ptr(ctx: *mut ffi::SSL_CTX) -> SslContextBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_sess_set_get_cb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:1810:9 [INFO] [stdout] | [INFO] [stdout] 1810 | ffi::SSL_CTX_sess_set_get_cb(self.as_ptr(), Some(callbacks::raw_get_session::)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:1802:5 [INFO] [stdout] | [INFO] [stdout] 1802 | / pub unsafe fn set_get_session_callback(&mut self, callback: F) [INFO] [stdout] 1803 | | where [INFO] [stdout] 1804 | | F: Fn(&mut SslRef, &[u8]) -> Result, GetSessionPendingError> [INFO] [stdout] 1805 | | + 'static [INFO] [stdout] 1806 | | + Sync [INFO] [stdout] 1807 | | + Send, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2176:20 [INFO] [stdout] | [INFO] [stdout] 2176 | let data = ffi::SSL_CTX_get_ex_data(self.as_ptr(), index.as_raw()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2175:5 [INFO] [stdout] | [INFO] [stdout] 2175 | unsafe fn ex_data_mut(&mut self, index: Index) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2180:23 [INFO] [stdout] | [INFO] [stdout] 2180 | Some(&mut *(data as *mut T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::ex_data_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2196:28 [INFO] [stdout] | [INFO] [stdout] 2196 | if let Some(old) = self.ex_data_mut(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2195:5 [INFO] [stdout] | [INFO] [stdout] 2195 | unsafe fn replace_ex_data(&mut self, index: Index, data: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::set_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2200:9 [INFO] [stdout] | [INFO] [stdout] 2200 | self.set_ex_data(index, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_add_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2218:9 [INFO] [stdout] | [INFO] [stdout] 2218 | ffi::SSL_CTX_add_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2217:5 [INFO] [stdout] | [INFO] [stdout] 2217 | pub unsafe fn add_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_remove_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2234:9 [INFO] [stdout] | [INFO] [stdout] 2234 | ffi::SSL_CTX_remove_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2233:5 [INFO] [stdout] | [INFO] [stdout] 2233 | pub unsafe fn remove_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_set_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3602:13 [INFO] [stdout] | [INFO] [stdout] 3602 | cvt(ffi::SSL_set_session(self.as_ptr(), session.as_ptr())).map(|_| ()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3601:5 [INFO] [stdout] | [INFO] [stdout] 3601 | pub unsafe fn set_session(&mut self, session: &SslSessionRef) -> Result<(), ErrorStack> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3974:19 [INFO] [stdout] | [INFO] [stdout] 3974 | let ssl = Ssl::from_ptr(ssl); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3973:5 [INFO] [stdout] | [INFO] [stdout] 3973 | pub unsafe fn from_raw_parts(ssl: *mut ffi::SSL, stream: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4529:9 [INFO] [stdout] | [INFO] [stdout] 4529 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4532:5 [INFO] [stdout] | [INFO] [stdout] 4532 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4539:9 [INFO] [stdout] | [INFO] [stdout] 4539 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4542:5 [INFO] [stdout] | [INFO] [stdout] 4542 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::sk_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/stack.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | OPENSSL_sk_value(self.as_stack(), idx) as *mut _ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/stack.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | unsafe fn _get(&self, idx: usize) -> *mut T::CType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/string.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | crate::ffi::OPENSSL_free(buf as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/string.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | unsafe fn free(buf: *mut c_char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509V3_EXT_i2d` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:868:15 [INFO] [stdout] | [INFO] [stdout] 868 | cvt_p(ffi::X509V3_EXT_i2d(nid.as_raw(), critical as _, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:862:5 [INFO] [stdout] | [INFO] [stdout] 862 | / pub(crate) unsafe fn new_internal( [INFO] [stdout] 863 | | nid: Nid, [INFO] [stdout] 864 | | critical: bool, [INFO] [stdout] 865 | | value: *mut c_void, [INFO] [stdout] 866 | | ) -> Result { [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:869:22 [INFO] [stdout] | [INFO] [stdout] 869 | .map(|p| X509Extension::from_ptr(p)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:18 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1543:5 [INFO] [stdout] | [INFO] [stdout] 1543 | / unsafe fn new( [INFO] [stdout] 1544 | | type_: c_int, [INFO] [stdout] 1545 | | asn1_type: Asn1Type, [INFO] [stdout] 1546 | | value: &[u8], [INFO] [stdout] 1547 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::GENERAL_NAME_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:46 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1550:9 [INFO] [stdout] | [INFO] [stdout] 1550 | (*gn.as_ptr()).type_ = type_; [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_type_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1551:23 [INFO] [stdout] | [INFO] [stdout] 1551 | let s = cvt_p(ffi::ASN1_STRING_type_new(asn1_type.as_raw()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_set` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1552:9 [INFO] [stdout] | [INFO] [stdout] 1552 | ffi::ASN1_STRING_set(s, value.as_ptr().cast(), value.len().try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1554:9 [INFO] [stdout] | [INFO] [stdout] 1554 | (*gn.as_ptr()).d.ptr = s.cast(); [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509_OBJECT_free_contents` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1721:5 [INFO] [stdout] | [INFO] [stdout] 1721 | ffi::X509_OBJECT_free_contents(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1720:1 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn X509_OBJECT_free(x: *mut ffi::X509_OBJECT) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1722:5 [INFO] [stdout] | [INFO] [stdout] 1722 | ffi::OPENSSL_free(x as *mut libc::c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(panic) = self.panic.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/util.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match self.panic.take() { Some(panic) => { [INFO] [stdout] 32 | panic::resume_unwind(panic); [INFO] [stdout] 33 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/ssl/mod.rs:4177:12 [INFO] [stdout] | [INFO] [stdout] 4177 | if let Some(err) = unsafe { bio::take_panic::(self.ssl.get_raw_rbio()) } { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/ssl/mod.rs:4179:9 [INFO] [stdout] | [INFO] [stdout] 4179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 4177 ~ match unsafe { bio::take_panic::(self.ssl.get_raw_rbio()) } { Some(err) => { [INFO] [stdout] 4178 | resume_unwind(err) [INFO] [stdout] 4179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 67 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating examples/fips_enabled.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/mk_certs.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.44s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking boring v4.9.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/ec.rs:943:13 [INFO] [stdout] | [INFO] [stdout] 943 | let gen = group.generator(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 943 | let r#gen = group.generator(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/ec.rs:943:13 [INFO] [stdout] | [INFO] [stdout] 943 | let gen = group.generator(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 943 | let r#gen = group.generator(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/ec.rs:948:32 [INFO] [stdout] | [INFO] [stdout] 948 | assert!(ecp.eq(&group, gen, &mut ctx).unwrap()); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let callback = &mut *(cb_state as *mut CallbackState); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe extern "C" fn invoke_passwd_cb( [INFO] [stdout] 41 | | buf: *mut c_char, [INFO] [stdout] 42 | | size: c_int, [INFO] [stdout] 43 | | _rwflag: c_int, [INFO] [stdout] ... | [INFO] [stdout] 46 | | where [INFO] [stdout] 47 | | F: FnOnce(&mut [u8]) -> Result, [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | let pass_slice = slice::from_raw_parts_mut(buf as *mut u8, size as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextBuilder::set_get_session_callback` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/async_callbacks.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | self.set_get_session_callback(async_callback) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/async_callbacks.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | / pub unsafe fn set_async_get_session_callback(&mut self, callback: F) [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | F: Fn(&mut SslRef, &[u8]) -> Option + Send + Sync + 'static, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub unsafe fn take_error(bio: *mut BIO) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub unsafe fn take_panic(bio: *mut BIO) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | &state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub unsafe fn get_ref<'a, S: 'a>(bio: *mut BIO) -> &'a S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | &mut state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub unsafe fn get_mut<'a, S: 'a>(bio: *mut BIO) -> &'a mut S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn take_stream(bio: *mut BIO) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let state = Box::>::from_raw(data as *mut _); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | state::(bio).dtls_mtu_size = mtu_size as c_long; [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe fn set_dtls_mtu_size(bio: *mut BIO, mtu_size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | let data = BIO_get_data(bio) as *mut StreamState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | unsafe fn state<'a, S: 'a>(bio: *mut BIO) -> &'a mut StreamState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | &mut *data [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | unsafe extern "C" fn bwrite(bio: *mut BIO, buf: *const c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let buf = slice::from_raw_parts(buf as *const _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_write` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | BIO_set_retry_write(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe extern "C" fn bread(bio: *mut BIO, buf: *mut c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:130:15 [INFO] [stdout] | [INFO] [stdout] 130 | let buf = slice::from_raw_parts_mut(buf as *mut _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_read` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | BIO_set_retry_read(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::bwrite` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | unsafe extern "C" fn bputs(bio: *mut BIO, s: *const c_char) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `libc::strlen` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | / unsafe extern "C" fn ctrl( [INFO] [stdout] 161 | | bio: *mut BIO, [INFO] [stdout] 162 | | cmd: c_int, [INFO] [stdout] 163 | | _num: c_long, [INFO] [stdout] 164 | | _ptr: *mut c_void, [INFO] [stdout] 165 | | ) -> c_long { [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:187:1 [INFO] [stdout] | [INFO] [stdout] 187 | unsafe extern "C" fn create(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::BIO_set_num` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | BIO_set_num(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | BIO_set_flags(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:200:16 [INFO] [stdout] | [INFO] [stdout] 200 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:195:1 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe extern "C" fn destroy(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:203:14 [INFO] [stdout] | [INFO] [stdout] 203 | drop(Box::>::from_raw(data as *mut _)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:451:14 [INFO] [stdout] | [INFO] [stdout] 451 | drop(Box::::from_raw(ptr as *mut T)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:442:1 [INFO] [stdout] | [INFO] [stdout] 442 | / unsafe extern "C" fn free_data_box( [INFO] [stdout] 443 | | _parent: *mut c_void, [INFO] [stdout] 444 | | ptr: *mut c_void, [INFO] [stdout] 445 | | _ad: *mut ffi::CRYPTO_EX_DATA, [INFO] [stdout] ... | [INFO] [stdout] 448 | | _argp: *mut c_void, [INFO] [stdout] 449 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | ctx: SslContext::from_ptr(ctx), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:946:5 [INFO] [stdout] | [INFO] [stdout] 946 | pub unsafe fn from_ptr(ctx: *mut ffi::SSL_CTX) -> SslContextBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_sess_set_get_cb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:1810:9 [INFO] [stdout] | [INFO] [stdout] 1810 | ffi::SSL_CTX_sess_set_get_cb(self.as_ptr(), Some(callbacks::raw_get_session::)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:1802:5 [INFO] [stdout] | [INFO] [stdout] 1802 | / pub unsafe fn set_get_session_callback(&mut self, callback: F) [INFO] [stdout] 1803 | | where [INFO] [stdout] 1804 | | F: Fn(&mut SslRef, &[u8]) -> Result, GetSessionPendingError> [INFO] [stdout] 1805 | | + 'static [INFO] [stdout] 1806 | | + Sync [INFO] [stdout] 1807 | | + Send, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2176:20 [INFO] [stdout] | [INFO] [stdout] 2176 | let data = ffi::SSL_CTX_get_ex_data(self.as_ptr(), index.as_raw()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2175:5 [INFO] [stdout] | [INFO] [stdout] 2175 | unsafe fn ex_data_mut(&mut self, index: Index) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2180:23 [INFO] [stdout] | [INFO] [stdout] 2180 | Some(&mut *(data as *mut T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::ex_data_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2196:28 [INFO] [stdout] | [INFO] [stdout] 2196 | if let Some(old) = self.ex_data_mut(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2195:5 [INFO] [stdout] | [INFO] [stdout] 2195 | unsafe fn replace_ex_data(&mut self, index: Index, data: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::set_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2200:9 [INFO] [stdout] | [INFO] [stdout] 2200 | self.set_ex_data(index, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_add_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2218:9 [INFO] [stdout] | [INFO] [stdout] 2218 | ffi::SSL_CTX_add_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2217:5 [INFO] [stdout] | [INFO] [stdout] 2217 | pub unsafe fn add_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_remove_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2234:9 [INFO] [stdout] | [INFO] [stdout] 2234 | ffi::SSL_CTX_remove_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2233:5 [INFO] [stdout] | [INFO] [stdout] 2233 | pub unsafe fn remove_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_set_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3602:13 [INFO] [stdout] | [INFO] [stdout] 3602 | cvt(ffi::SSL_set_session(self.as_ptr(), session.as_ptr())).map(|_| ()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3601:5 [INFO] [stdout] | [INFO] [stdout] 3601 | pub unsafe fn set_session(&mut self, session: &SslSessionRef) -> Result<(), ErrorStack> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3974:19 [INFO] [stdout] | [INFO] [stdout] 3974 | let ssl = Ssl::from_ptr(ssl); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3973:5 [INFO] [stdout] | [INFO] [stdout] 3973 | pub unsafe fn from_raw_parts(ssl: *mut ffi::SSL, stream: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4529:9 [INFO] [stdout] | [INFO] [stdout] 4529 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4532:5 [INFO] [stdout] | [INFO] [stdout] 4532 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4539:9 [INFO] [stdout] | [INFO] [stdout] 4539 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4542:5 [INFO] [stdout] | [INFO] [stdout] 4542 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::sk_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/stack.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | OPENSSL_sk_value(self.as_stack(), idx) as *mut _ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/stack.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | unsafe fn _get(&self, idx: usize) -> *mut T::CType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/string.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | crate::ffi::OPENSSL_free(buf as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/string.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | unsafe fn free(buf: *mut c_char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:49:25 [INFO] [stdout] | [INFO] [stdout] 49 | let callback = &mut *(cb_state as *mut CallbackState); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/util.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | / pub unsafe extern "C" fn invoke_passwd_cb( [INFO] [stdout] 41 | | buf: *mut c_char, [INFO] [stdout] 42 | | size: c_int, [INFO] [stdout] 43 | | _rwflag: c_int, [INFO] [stdout] ... | [INFO] [stdout] 46 | | where [INFO] [stdout] 47 | | F: FnOnce(&mut [u8]) -> Result, [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/util.rs:52:26 [INFO] [stdout] | [INFO] [stdout] 52 | let pass_slice = slice::from_raw_parts_mut(buf as *mut u8, size as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509V3_EXT_i2d` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:868:15 [INFO] [stdout] | [INFO] [stdout] 868 | cvt_p(ffi::X509V3_EXT_i2d(nid.as_raw(), critical as _, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:862:5 [INFO] [stdout] | [INFO] [stdout] 862 | / pub(crate) unsafe fn new_internal( [INFO] [stdout] 863 | | nid: Nid, [INFO] [stdout] 864 | | critical: bool, [INFO] [stdout] 865 | | value: *mut c_void, [INFO] [stdout] 866 | | ) -> Result { [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:869:22 [INFO] [stdout] | [INFO] [stdout] 869 | .map(|p| X509Extension::from_ptr(p)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:18 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1543:5 [INFO] [stdout] | [INFO] [stdout] 1543 | / unsafe fn new( [INFO] [stdout] 1544 | | type_: c_int, [INFO] [stdout] 1545 | | asn1_type: Asn1Type, [INFO] [stdout] 1546 | | value: &[u8], [INFO] [stdout] 1547 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::GENERAL_NAME_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:46 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1550:9 [INFO] [stdout] | [INFO] [stdout] 1550 | (*gn.as_ptr()).type_ = type_; [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_type_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1551:23 [INFO] [stdout] | [INFO] [stdout] 1551 | let s = cvt_p(ffi::ASN1_STRING_type_new(asn1_type.as_raw()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_set` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1552:9 [INFO] [stdout] | [INFO] [stdout] 1552 | ffi::ASN1_STRING_set(s, value.as_ptr().cast(), value.len().try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1554:9 [INFO] [stdout] | [INFO] [stdout] 1554 | (*gn.as_ptr()).d.ptr = s.cast(); [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509_OBJECT_free_contents` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1721:5 [INFO] [stdout] | [INFO] [stdout] 1721 | ffi::X509_OBJECT_free_contents(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1720:1 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn X509_OBJECT_free(x: *mut ffi::X509_OBJECT) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1722:5 [INFO] [stdout] | [INFO] [stdout] 1722 | ffi::OPENSSL_free(x as *mut libc::c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 59 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `boring` (lib) due to 2 previous errors; 59 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextBuilder::set_get_session_callback` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/async_callbacks.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | self.set_get_session_callback(async_callback) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/async_callbacks.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | / pub unsafe fn set_async_get_session_callback(&mut self, callback: F) [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | F: Fn(&mut SslRef, &[u8]) -> Option + Send + Sync + 'static, [INFO] [stdout] | |_________________________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:54:1 [INFO] [stdout] | [INFO] [stdout] 54 | pub unsafe fn take_error(bio: *mut BIO) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:60:17 [INFO] [stdout] | [INFO] [stdout] 60 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub unsafe fn take_panic(bio: *mut BIO) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:65:6 [INFO] [stdout] | [INFO] [stdout] 65 | &state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub unsafe fn get_ref<'a, S: 'a>(bio: *mut BIO) -> &'a S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | &mut state(bio).stream [INFO] [stdout] | ^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | pub unsafe fn get_mut<'a, S: 'a>(bio: *mut BIO) -> &'a mut S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:75:16 [INFO] [stdout] | [INFO] [stdout] 75 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:72:1 [INFO] [stdout] | [INFO] [stdout] 72 | pub unsafe extern "C" fn take_stream(bio: *mut BIO) -> S { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | let state = Box::>::from_raw(data as *mut _); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 93 | state::(bio).dtls_mtu_size = mtu_size as c_long; [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub unsafe fn set_dtls_mtu_size(bio: *mut BIO, mtu_size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:97:16 [INFO] [stdout] | [INFO] [stdout] 97 | let data = BIO_get_data(bio) as *mut StreamState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | unsafe fn state<'a, S: 'a>(bio: *mut BIO) -> &'a mut StreamState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | &mut *data [INFO] [stdout] | ^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:104:1 [INFO] [stdout] | [INFO] [stdout] 104 | unsafe extern "C" fn bwrite(bio: *mut BIO, buf: *const c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | let buf = slice::from_raw_parts(buf as *const _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_write` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | BIO_set_retry_write(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_clear_retry_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | BIO_clear_retry_flags(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe extern "C" fn bread(bio: *mut BIO, buf: *mut c_char, len: c_int) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:130:15 [INFO] [stdout] | [INFO] [stdout] 130 | let buf = slice::from_raw_parts_mut(buf as *mut _, len as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_retry_read` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | BIO_set_retry_read(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::bwrite` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | unsafe extern "C" fn bputs(bio: *mut BIO, s: *const c_char) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `libc::strlen` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:157:25 [INFO] [stdout] | [INFO] [stdout] 157 | bwrite::(bio, s, strlen(s) as c_int) [INFO] [stdout] | ^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::state` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:166:17 [INFO] [stdout] | [INFO] [stdout] 166 | let state = state::(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | / unsafe extern "C" fn ctrl( [INFO] [stdout] 161 | | bio: *mut BIO, [INFO] [stdout] 162 | | cmd: c_int, [INFO] [stdout] 163 | | _num: c_long, [INFO] [stdout] 164 | | _ptr: *mut c_void, [INFO] [stdout] 165 | | ) -> c_long { [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:187:1 [INFO] [stdout] | [INFO] [stdout] 187 | unsafe extern "C" fn create(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::bio::BIO_set_num` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | BIO_set_num(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_flags` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | BIO_set_flags(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_get_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:200:16 [INFO] [stdout] | [INFO] [stdout] 200 | let data = BIO_get_data(bio); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/bio.rs:195:1 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe extern "C" fn destroy(bio: *mut BIO) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:203:14 [INFO] [stdout] | [INFO] [stdout] 203 | drop(Box::>::from_raw(data as *mut _)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | BIO_set_data(bio, ptr::null_mut()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::BIO_set_init` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/bio.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 207 | BIO_set_init(bio, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:451:14 [INFO] [stdout] | [INFO] [stdout] 451 | drop(Box::::from_raw(ptr as *mut T)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:442:1 [INFO] [stdout] | [INFO] [stdout] 442 | / unsafe extern "C" fn free_data_box( [INFO] [stdout] 443 | | _parent: *mut c_void, [INFO] [stdout] 444 | | ptr: *mut c_void, [INFO] [stdout] 445 | | _ad: *mut ffi::CRYPTO_EX_DATA, [INFO] [stdout] ... | [INFO] [stdout] 448 | | _argp: *mut c_void, [INFO] [stdout] 449 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:948:18 [INFO] [stdout] | [INFO] [stdout] 948 | ctx: SslContext::from_ptr(ctx), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:946:5 [INFO] [stdout] | [INFO] [stdout] 946 | pub unsafe fn from_ptr(ctx: *mut ffi::SSL_CTX) -> SslContextBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_sess_set_get_cb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:1810:9 [INFO] [stdout] | [INFO] [stdout] 1810 | ffi::SSL_CTX_sess_set_get_cb(self.as_ptr(), Some(callbacks::raw_get_session::)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:1802:5 [INFO] [stdout] | [INFO] [stdout] 1802 | / pub unsafe fn set_get_session_callback(&mut self, callback: F) [INFO] [stdout] 1803 | | where [INFO] [stdout] 1804 | | F: Fn(&mut SslRef, &[u8]) -> Result, GetSessionPendingError> [INFO] [stdout] 1805 | | + 'static [INFO] [stdout] 1806 | | + Sync [INFO] [stdout] 1807 | | + Send, [INFO] [stdout] | |___________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2176:20 [INFO] [stdout] | [INFO] [stdout] 2176 | let data = ffi::SSL_CTX_get_ex_data(self.as_ptr(), index.as_raw()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2175:5 [INFO] [stdout] | [INFO] [stdout] 2175 | unsafe fn ex_data_mut(&mut self, index: Index) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2180:23 [INFO] [stdout] | [INFO] [stdout] 2180 | Some(&mut *(data as *mut T)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::ex_data_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2196:28 [INFO] [stdout] | [INFO] [stdout] 2196 | if let Some(old) = self.ex_data_mut(index) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2195:5 [INFO] [stdout] | [INFO] [stdout] 2195 | unsafe fn replace_ex_data(&mut self, index: Index, data: T) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ssl::SslContextRef::set_ex_data` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2200:9 [INFO] [stdout] | [INFO] [stdout] 2200 | self.set_ex_data(index, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_add_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2218:9 [INFO] [stdout] | [INFO] [stdout] 2218 | ffi::SSL_CTX_add_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2217:5 [INFO] [stdout] | [INFO] [stdout] 2217 | pub unsafe fn add_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_remove_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:2234:9 [INFO] [stdout] | [INFO] [stdout] 2234 | ffi::SSL_CTX_remove_session(self.as_ptr(), session.as_ptr()) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:2233:5 [INFO] [stdout] | [INFO] [stdout] 2233 | pub unsafe fn remove_session(&self, session: &SslSessionRef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_set_session` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3602:13 [INFO] [stdout] | [INFO] [stdout] 3602 | cvt(ffi::SSL_set_session(self.as_ptr(), session.as_ptr())).map(|_| ()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3601:5 [INFO] [stdout] | [INFO] [stdout] 3601 | pub unsafe fn set_session(&mut self, session: &SslSessionRef) -> Result<(), ErrorStack> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:3974:19 [INFO] [stdout] | [INFO] [stdout] 3974 | let ssl = Ssl::from_ptr(ssl); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:3973:5 [INFO] [stdout] | [INFO] [stdout] 3973 | pub unsafe fn from_raw_parts(ssl: *mut ffi::SSL, stream: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4529:9 [INFO] [stdout] | [INFO] [stdout] 4529 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_CTX_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4532:5 [INFO] [stdout] | [INFO] [stdout] 4532 | ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4525:1 [INFO] [stdout] | [INFO] [stdout] 4525 | unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4539:9 [INFO] [stdout] | [INFO] [stdout] 4539 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::SSL_get_ex_new_index` is unsafe and requires unsafe block [INFO] [stdout] --> src/ssl/mod.rs:4542:5 [INFO] [stdout] | [INFO] [stdout] 4542 | ffi::SSL_get_ex_new_index(0, ptr::null_mut(), ptr::null_mut(), None, f) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ssl/mod.rs:4535:1 [INFO] [stdout] | [INFO] [stdout] 4535 | unsafe fn get_new_ssl_idx(f: ffi::CRYPTO_EX_free) -> c_int { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::sk_value` is unsafe and requires unsafe block [INFO] [stdout] --> src/stack.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | OPENSSL_sk_value(self.as_stack(), idx) as *mut _ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/stack.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | unsafe fn _get(&self, idx: usize) -> *mut T::CType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/string.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | crate::ffi::OPENSSL_free(buf as *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/string.rs:82:1 [INFO] [stdout] | [INFO] [stdout] 82 | unsafe fn free(buf: *mut c_char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509V3_EXT_i2d` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:868:15 [INFO] [stdout] | [INFO] [stdout] 868 | cvt_p(ffi::X509V3_EXT_i2d(nid.as_raw(), critical as _, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:862:5 [INFO] [stdout] | [INFO] [stdout] 862 | / pub(crate) unsafe fn new_internal( [INFO] [stdout] 863 | | nid: Nid, [INFO] [stdout] 864 | | critical: bool, [INFO] [stdout] 865 | | value: *mut c_void, [INFO] [stdout] 866 | | ) -> Result { [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:869:22 [INFO] [stdout] | [INFO] [stdout] 869 | .map(|p| X509Extension::from_ptr(p)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `foreign_types::ForeignType::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:18 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1543:5 [INFO] [stdout] | [INFO] [stdout] 1543 | / unsafe fn new( [INFO] [stdout] 1544 | | type_: c_int, [INFO] [stdout] 1545 | | asn1_type: Asn1Type, [INFO] [stdout] 1546 | | value: &[u8], [INFO] [stdout] 1547 | | ) -> Result { [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::GENERAL_NAME_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1549:46 [INFO] [stdout] | [INFO] [stdout] 1549 | let gn = GeneralName::from_ptr(cvt_p(ffi::GENERAL_NAME_new())?); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1550:9 [INFO] [stdout] | [INFO] [stdout] 1550 | (*gn.as_ptr()).type_ = type_; [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_type_new` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1551:23 [INFO] [stdout] | [INFO] [stdout] 1551 | let s = cvt_p(ffi::ASN1_STRING_type_new(asn1_type.as_raw()))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::ASN1_STRING_set` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1552:9 [INFO] [stdout] | [INFO] [stdout] 1552 | ffi::ASN1_STRING_set(s, value.as_ptr().cast(), value.len().try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1554:9 [INFO] [stdout] | [INFO] [stdout] 1554 | (*gn.as_ptr()).d.ptr = s.cast(); [INFO] [stdout] | ^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::X509_OBJECT_free_contents` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1721:5 [INFO] [stdout] | [INFO] [stdout] 1721 | ffi::X509_OBJECT_free_contents(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/x509/mod.rs:1720:1 [INFO] [stdout] | [INFO] [stdout] 1720 | unsafe fn X509_OBJECT_free(x: *mut ffi::X509_OBJECT) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ffi::OPENSSL_free` is unsafe and requires unsafe block [INFO] [stdout] --> src/x509/mod.rs:1722:5 [INFO] [stdout] | [INFO] [stdout] 1722 | ffi::OPENSSL_free(x as *mut libc::c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 59 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `boring` (lib test) due to 3 previous errors; 59 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "fac2fc9c5c7fa32ebbbb6066c09d7ba62a5dd51b6aa6ee89e0d3cb8fdc82c852", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fac2fc9c5c7fa32ebbbb6066c09d7ba62a5dd51b6aa6ee89e0d3cb8fdc82c852", kill_on_drop: false }` [INFO] [stdout] fac2fc9c5c7fa32ebbbb6066c09d7ba62a5dd51b6aa6ee89e0d3cb8fdc82c852