diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d35e2224..8cbd92f45 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -156,9 +156,11 @@ jobs: - name: aws-lc version: vendored - name: boringssl - version: e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6 + version: 71bae60c26549ce1875f07d8c394b934de4b0f7b - name: openssl version: vendored + - name: openssl + version: 3.5.0 - name: openssl version: 3.4.0 - name: openssl @@ -190,17 +192,17 @@ jobs: bindgen: true library: name: libressl - version: 3.8.4 + version: 3.9.2 - target: x86_64-unknown-linux-gnu bindgen: true library: name: libressl - version: 3.9.2 + version: 4.0.0 - target: x86_64-unknown-linux-gnu bindgen: true library: name: libressl - version: 4.0.0 + version: 4.1.0 - target: x86_64-unknown-linux-gnu bindgen: false library: @@ -210,17 +212,17 @@ jobs: bindgen: false library: name: libressl - version: 3.8.4 + version: 3.9.2 - target: x86_64-unknown-linux-gnu bindgen: false library: name: libressl - version: 3.9.2 + version: 4.0.0 - target: x86_64-unknown-linux-gnu bindgen: false library: name: libressl - version: 4.0.0 + version: 4.1.0 name: ${{ matrix.target }}-${{ matrix.library.name }}-${{ matrix.library.version }}-${{ matrix.bindgen }} runs-on: ubuntu-22.04 env: diff --git a/openssl-sys/CHANGELOG.md b/openssl-sys/CHANGELOG.md index 62f110d57..f153892ab 100644 --- a/openssl-sys/CHANGELOG.md +++ b/openssl-sys/CHANGELOG.md @@ -2,6 +2,19 @@ ## [Unreleased] +## [v0.9.109] - 2025-05-28 + +### Fixed + +* Fixed building with `vcpkg`, a statically linked OpenSSL, and rust 1.87.0. +* Fixed building on the latest BoringSSL. + +## [v0.9.108] - 2025-04-30 + +### Added + +* Added support for LibreSSL 4.1.x. + ## [v0.9.107] - 2025-04-04 ### Added @@ -642,7 +655,9 @@ Fixed builds against OpenSSL built with `no-cast`. * Added `X509_verify` and `X509_REQ_verify`. * Added `EVP_MD_type` and `EVP_GROUP_get_curve_name`. -[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.107..master +[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.109..master +[v0.9.109]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.108...openssl-sys-v0.9.109 +[v0.9.108]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.107...openssl-sys-v0.9.108 [v0.9.107]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.106...openssl-sys-v0.9.107 [v0.9.106]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.105...openssl-sys-v0.9.106 [v0.9.105]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.104...openssl-sys-v0.9.105 diff --git a/openssl-sys/Cargo.toml b/openssl-sys/Cargo.toml index a38da8468..2ca5ce93b 100644 --- a/openssl-sys/Cargo.toml +++ b/openssl-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "openssl-sys" -version = "0.9.107" +version = "0.9.109" authors = [ "Alex Crichton ", "Steven Fackler ", diff --git a/openssl-sys/build/find_normal.rs b/openssl-sys/build/find_normal.rs index 1439e9ab3..6ab95259e 100644 --- a/openssl-sys/build/find_normal.rs +++ b/openssl-sys/build/find_normal.rs @@ -265,6 +265,7 @@ fn try_vcpkg() { println!("cargo:rustc-link-lib=user32"); println!("cargo:rustc-link-lib=gdi32"); println!("cargo:rustc-link-lib=crypt32"); + println!("cargo:rustc-link-lib=advapi32"); process::exit(0); } diff --git a/openssl-sys/build/main.rs b/openssl-sys/build/main.rs index c4ac240e3..4007a2658 100644 --- a/openssl-sys/build/main.rs +++ b/openssl-sys/build/main.rs @@ -449,6 +449,8 @@ See rust-openssl documentation for more information: (3, 9, _) => ('3', '9', 'x'), (4, 0, 0) => ('4', '0', '0'), (4, 0, _) => ('4', '0', 'x'), + (4, 1, 0) => ('4', '1', '0'), + (4, 1, _) => ('4', '1', 'x'), _ => version_error(), }; @@ -491,7 +493,7 @@ fn version_error() -> ! { " This crate is only compatible with OpenSSL (version 1.0.1 through 1.1.1, or 3), or LibreSSL 2.5 -through 4.0.x, but a different version of OpenSSL was found. The build is now aborting +through 4.1.x, but a different version of OpenSSL was found. The build is now aborting due to this version mismatch. " diff --git a/openssl/CHANGELOG.md b/openssl/CHANGELOG.md index da2db978f..250c619ea 100644 --- a/openssl/CHANGELOG.md +++ b/openssl/CHANGELOG.md @@ -2,6 +2,16 @@ ## [Unreleased] +## [v0.10.73] - 2025-05-28 + +### Fixed + +* Fixed building on the latest BoringSSL. + +### Changed + +* Replaced ctest2 with ctest in systest. + ## [v0.10.72] - 2025-04-04 ### Fixed @@ -969,7 +979,8 @@ Look at the [release tags] for information about older releases. -[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.72...master +[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.73...master +[v0.10.73]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.72...openssl-v0.10.73 [v0.10.72]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72 [v0.10.71]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.70...openssl-v0.10.71 [v0.10.70]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.69...openssl-v0.10.70 diff --git a/openssl/Cargo.toml b/openssl/Cargo.toml index 75d440496..c8e809e96 100644 --- a/openssl/Cargo.toml +++ b/openssl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "openssl" -version = "0.10.72" +version = "0.10.73" authors = ["Steven Fackler "] license = "Apache-2.0" description = "OpenSSL bindings" @@ -32,7 +32,7 @@ libc = "0.2" once_cell = "1.5.2" openssl-macros = { version = "0.1.1", path = "../openssl-macros" } -ffi = { package = "openssl-sys", version = "0.9.107", path = "../openssl-sys" } +ffi = { package = "openssl-sys", version = "0.9.109", path = "../openssl-sys" } [dev-dependencies] hex = "0.4" diff --git a/openssl/src/ssl/bio.rs b/openssl/src/ssl/bio.rs index 16485624f..ecd74c9a1 100644 --- a/openssl/src/ssl/bio.rs +++ b/openssl/src/ssl/bio.rs @@ -189,7 +189,7 @@ unsafe extern "C" fn destroy(bio: *mut BIO) -> c_int { } cfg_if! { - if #[cfg(any(ossl110, libressl273))] { + if #[cfg(any(ossl110, libressl273, boringssl))] { use ffi::{BIO_get_data, BIO_set_data, BIO_set_flags, BIO_set_init}; use crate::cvt; @@ -201,15 +201,34 @@ cfg_if! { impl BIO_METHOD { fn new() -> Result { + #[cfg(not(boringssl))] + use ffi::{ + BIO_meth_set_write__fixed_rust as BIO_meth_set_write, + BIO_meth_set_read__fixed_rust as BIO_meth_set_read, + BIO_meth_set_puts__fixed_rust as BIO_meth_set_puts, + BIO_meth_set_ctrl__fixed_rust as BIO_meth_set_ctrl, + BIO_meth_set_create__fixed_rust as BIO_meth_set_create, + BIO_meth_set_destroy__fixed_rust as BIO_meth_set_destroy, + }; + #[cfg(boringssl)] + use ffi::{ + BIO_meth_set_write, + BIO_meth_set_read, + BIO_meth_set_puts, + BIO_meth_set_ctrl, + BIO_meth_set_create, + BIO_meth_set_destroy, + }; + unsafe { let ptr = cvt_p(ffi::BIO_meth_new(ffi::BIO_TYPE_NONE, b"rust\0".as_ptr() as *const _))?; let method = BIO_METHOD(ptr); - cvt(ffi::BIO_meth_set_write__fixed_rust(method.0, Some(bwrite::)))?; - cvt(ffi::BIO_meth_set_read__fixed_rust(method.0, Some(bread::)))?; - cvt(ffi::BIO_meth_set_puts__fixed_rust(method.0, Some(bputs::)))?; - cvt(ffi::BIO_meth_set_ctrl__fixed_rust(method.0, Some(ctrl::)))?; - cvt(ffi::BIO_meth_set_create__fixed_rust(method.0, Some(create)))?; - cvt(ffi::BIO_meth_set_destroy__fixed_rust(method.0, Some(destroy::)))?; + cvt(BIO_meth_set_write(method.0, Some(bwrite::)))?; + cvt(BIO_meth_set_read(method.0, Some(bread::)))?; + cvt(BIO_meth_set_puts(method.0, Some(bputs::)))?; + cvt(BIO_meth_set_ctrl(method.0, Some(ctrl::)))?; + cvt(BIO_meth_set_create(method.0, Some(create)))?; + cvt(BIO_meth_set_destroy(method.0, Some(destroy::)))?; Ok(method) } } diff --git a/systest/Cargo.toml b/systest/Cargo.toml index d1e55ac3f..25a3258c9 100644 --- a/systest/Cargo.toml +++ b/systest/Cargo.toml @@ -9,7 +9,7 @@ libc = "0.2" openssl-sys = { path = "../openssl-sys" } [build-dependencies] -ctest2 = "0.4.7" +ctest = "0.4.11" [features] vendored = ['openssl-sys/vendored'] diff --git a/systest/build.rs b/systest/build.rs index fc970f410..22fc6b836 100644 --- a/systest/build.rs +++ b/systest/build.rs @@ -7,7 +7,7 @@ use std::env; mod cfgs; fn main() { - let mut cfg = ctest2::TestGenerator::new(); + let mut cfg = ctest::TestGenerator::new(); let target = env::var("TARGET").unwrap(); if let Ok(out) = env::var("DEP_OPENSSL_INCLUDE") { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy