From 946b706ddb62e9bc3f9a88d86431a19a77eec324 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 1 Nov 2023 16:00:47 -0700 Subject: [PATCH 1/4] Fixed cfg for RSA_PSS --- openssl-sys/src/evp.rs | 2 +- openssl/src/pkey.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openssl-sys/src/evp.rs b/openssl-sys/src/evp.rs index e317fea35..a3a8a84fb 100644 --- a/openssl-sys/src/evp.rs +++ b/openssl-sys/src/evp.rs @@ -7,7 +7,7 @@ pub const PKCS5_SALT_LEN: c_int = 8; pub const PKCS12_DEFAULT_ITER: c_int = 2048; pub const EVP_PKEY_RSA: c_int = NID_rsaEncryption; -#[cfg(any(openssl111, boringssl))] +#[cfg(any(ossl111, libressl310, boringssl))] pub const EVP_PKEY_RSA_PSS: c_int = NID_rsassaPss; pub const EVP_PKEY_DSA: c_int = NID_dsa; pub const EVP_PKEY_DH: c_int = NID_dhKeyAgreement; diff --git a/openssl/src/pkey.rs b/openssl/src/pkey.rs index ac5989c57..8f0b5bdf7 100644 --- a/openssl/src/pkey.rs +++ b/openssl/src/pkey.rs @@ -78,7 +78,7 @@ pub struct Id(c_int); impl Id { pub const RSA: Id = Id(ffi::EVP_PKEY_RSA); - #[cfg(any(openssl111, boringssl))] + #[cfg(any(ossl111, libressl310, boringssl))] pub const RSA_PSS: Id = Id(ffi::EVP_PKEY_RSA_PSS); #[cfg(not(boringssl))] pub const HMAC: Id = Id(ffi::EVP_PKEY_HMAC); From 05b620dd524b9f6966924ddbfbeb59dc015ffb72 Mon Sep 17 00:00:00 2001 From: Arnav Singh Date: Thu, 2 Nov 2023 08:55:39 -0700 Subject: [PATCH 2/4] Add binding to NID of Chacha20-Poly1305 cipher Ref: - https://github.com/openssl/openssl/blob/OpenSSL_1_1_0l/include/openssl/obj_mac.h#L4325 - https://github.com/openbsd/src/blob/d781822394e40621101778573b197bbb39bc8d5b/lib/libcrypto/objects/obj_mac.num#L967 --- openssl-sys/src/obj_mac.rs | 4 ++++ openssl/src/nid.rs | 2 ++ 2 files changed, 6 insertions(+) diff --git a/openssl-sys/src/obj_mac.rs b/openssl-sys/src/obj_mac.rs index 9f4c7c12d..2c4b6aaeb 100644 --- a/openssl-sys/src/obj_mac.rs +++ b/openssl-sys/src/obj_mac.rs @@ -996,3 +996,7 @@ pub const NID_sha3_512: c_int = 1034; pub const NID_shake128: c_int = 1100; #[cfg(ossl111)] pub const NID_shake256: c_int = 1101; +#[cfg(ossl110)] +pub const NID_chacha20_poly1305: c_int = 1018; +#[cfg(libressl271)] +pub const NID_chacha20_poly1305: c_int = 967; diff --git a/openssl/src/nid.rs b/openssl/src/nid.rs index a78d0e660..a5bd93ca4 100644 --- a/openssl/src/nid.rs +++ b/openssl/src/nid.rs @@ -1090,6 +1090,8 @@ impl Nid { pub const SHAKE128: Nid = Nid(ffi::NID_shake128); #[cfg(ossl111)] pub const SHAKE256: Nid = Nid(ffi::NID_shake256); + #[cfg(any(ossl110, libressl271))] + pub const CHACHA20_POLY1305: Nid = Nid(ffi::NID_chacha20_poly1305); } #[cfg(test)] From 6f6e5c4f02c370c594ccf404a4a67e366d26ad1c Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Thu, 2 Nov 2023 21:50:11 -0700 Subject: [PATCH 3/4] fixes #2050 -- build and test on libressl 3.8.2 --- .github/workflows/ci.yml | 4 ++-- openssl-sys/build/main.rs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 724c125ce..1bb015598 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -190,7 +190,7 @@ jobs: bindgen: true library: name: libressl - version: 3.8.0 + version: 3.8.2 - target: x86_64-unknown-linux-gnu bindgen: false library: @@ -205,7 +205,7 @@ jobs: bindgen: false library: name: libressl - version: 3.8.1 + version: 3.8.2 name: ${{ matrix.target }}-${{ matrix.library.name }}-${{ matrix.library.version }}-${{ matrix.bindgen }} runs-on: ubuntu-latest env: diff --git a/openssl-sys/build/main.rs b/openssl-sys/build/main.rs index cd732ca46..bbee7c5c0 100644 --- a/openssl-sys/build/main.rs +++ b/openssl-sys/build/main.rs @@ -292,6 +292,7 @@ See rust-openssl documentation for more information: (3, 7, _) => ('3', '7', 'x'), (3, 8, 0) => ('3', '8', '0'), (3, 8, 1) => ('3', '8', '1'), + (3, 8, _) => ('3', '8', 'x'), _ => version_error(), }; From 955c34819ec71ae4cd16fff5b974b44e64080252 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Fri, 3 Nov 2023 07:29:15 -0700 Subject: [PATCH 4/4] Release openssl v0.10.59 and openssl-sys v0.9.95 --- openssl-sys/CHANGELOG.md | 16 ++++++++++++++-- openssl-sys/Cargo.toml | 2 +- openssl/CHANGELOG.md | 15 +++++++++++++-- openssl/Cargo.toml | 4 ++-- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/openssl-sys/CHANGELOG.md b/openssl-sys/CHANGELOG.md index b8120733f..1113ce8c6 100644 --- a/openssl-sys/CHANGELOG.md +++ b/openssl-sys/CHANGELOG.md @@ -2,6 +2,17 @@ ## [Unreleased] +## [v0.9.95] - 2023-11-03 + +### Changed + +* Fixed the availability of `EVP_PKEY_RSA_PSS` on OpenSSL + +### Added + +* Added support for LibreSSL 3.8.x. +* Added `NID_chacha20_poly1305` + ## [v0.9.94] - 2023-11-01 ### Changed @@ -522,8 +533,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.94..master -[v0.9.93]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.93...openssl-sys-v0.9.94 +[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.95..master +[v0.9.95]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.94...openssl-sys-v0.9.95 +[v0.9.94]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.93...openssl-sys-v0.9.94 [v0.9.93]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.92...openssl-sys-v0.9.93 [v0.9.92]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.91...openssl-sys-v0.9.92 [v0.9.91]: https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.90...openssl-sys-v0.9.91 diff --git a/openssl-sys/Cargo.toml b/openssl-sys/Cargo.toml index 980f41e92..fc7e8f3c7 100644 --- a/openssl-sys/Cargo.toml +++ b/openssl-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "openssl-sys" -version = "0.9.94" +version = "0.9.95" authors = [ "Alex Crichton ", "Steven Fackler ", diff --git a/openssl/CHANGELOG.md b/openssl/CHANGELOG.md index f1acc1fcc..f9a433fae 100644 --- a/openssl/CHANGELOG.md +++ b/openssl/CHANGELOG.md @@ -2,6 +2,16 @@ ## [Unreleased] +## [v0.10.59] - 2023-11-03 + +### Added + +* Added `Nid::CHACHA20_POLY1305` + +### Changed + +* Fixed the availability of `Id::RSA_PSS` on OpenSSL + ## [v0.10.58] - 2023-11-01 ### Added @@ -815,8 +825,9 @@ Look at the [release tags] for information about older releases. -[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.58...master -[v0.10.57]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.57...openssl-v0.10.58 +[Unreleased]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.59...master +[v0.10.59]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.58...openssl-v0.10.59 +[v0.10.58]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.57...openssl-v0.10.58 [v0.10.57]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.56...openssl-v0.10.57 [v0.10.56]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.55...openssl-v0.10.56 [v0.10.55]: https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.54...openssl-v0.10.55 diff --git a/openssl/Cargo.toml b/openssl/Cargo.toml index 9a2f5016f..6778dcbb0 100644 --- a/openssl/Cargo.toml +++ b/openssl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "openssl" -version = "0.10.58" +version = "0.10.59" authors = ["Steven Fackler "] license = "Apache-2.0" description = "OpenSSL bindings" @@ -30,7 +30,7 @@ libc = "0.2" once_cell = "1.5.2" openssl-macros = { version = "0.1.0", path = "../openssl-macros" } -ffi = { package = "openssl-sys", version = "0.9.94", path = "../openssl-sys" } +ffi = { package = "openssl-sys", version = "0.9.95", path = "../openssl-sys" } [dev-dependencies] hex = "0.3"