From efefb22d15034e270fbebd91cb29b1ca156a6da3 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Fri, 8 Sep 2023 18:53:50 -0400 Subject: [PATCH] Fix const --- openssl-sys/build/cfgs.rs | 3 +++ openssl-sys/src/x509v3.rs | 10 +++++++++- openssl/build.rs | 3 +++ openssl/src/x509/mod.rs | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/openssl-sys/build/cfgs.rs b/openssl-sys/build/cfgs.rs index 34a58f7d68..8ee6f62373 100644 --- a/openssl-sys/build/cfgs.rs +++ b/openssl-sys/build/cfgs.rs @@ -59,6 +59,9 @@ pub fn get(openssl_version: Option, libressl_version: Option) -> Vec<& } else { let openssl_version = openssl_version.unwrap(); + if openssl_version >= 0x3_02_00_00_0 { + cfgs.push("ossl320"); + } if openssl_version >= 0x3_00_00_00_0 { cfgs.push("ossl300"); } diff --git a/openssl-sys/src/x509v3.rs b/openssl-sys/src/x509v3.rs index d2ff53489e..230dea1736 100644 --- a/openssl-sys/src/x509v3.rs +++ b/openssl-sys/src/x509v3.rs @@ -89,8 +89,16 @@ pub const X509_PURPOSE_CRL_SIGN: c_int = 6; pub const X509_PURPOSE_ANY: c_int = 7; pub const X509_PURPOSE_OCSP_HELPER: c_int = 8; pub const X509_PURPOSE_TIMESTAMP_SIGN: c_int = 9; +#[cfg(ossl320)] +pub const X509_PURPOSE_CODE_SIGN: c_int = 10; pub const X509_PURPOSE_MIN: c_int = 1; -pub const X509_PURPOSE_MAX: c_int = 9; +cfg_if! { + if #[cfg(ossl320)] { + pub const X509_PURPOSE_MAX: c_int = 10; + } else { + pub const X509_PURPOSE_MAX: c_int = 9; + } +} pub const CRL_REASON_UNSPECIFIED: c_int = 0; pub const CRL_REASON_KEY_COMPROMISE: c_int = 1; diff --git a/openssl/build.rs b/openssl/build.rs index 0a974b33e6..d5a7ac4039 100644 --- a/openssl/build.rs +++ b/openssl/build.rs @@ -102,6 +102,9 @@ fn main() { if version >= 0x3_01_00_00_0 { println!("cargo:rustc-cfg=ossl310"); } + if version >= 0x3_02_00_00_0 { + println!("cargo:rustc-cfg=ossl320"); + } } if let Ok(version) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") { diff --git a/openssl/src/x509/mod.rs b/openssl/src/x509/mod.rs index 24605df806..cc900e3936 100644 --- a/openssl/src/x509/mod.rs +++ b/openssl/src/x509/mod.rs @@ -2459,6 +2459,8 @@ impl X509PurposeId { pub const ANY: X509PurposeId = X509PurposeId(ffi::X509_PURPOSE_ANY); pub const OCSP_HELPER: X509PurposeId = X509PurposeId(ffi::X509_PURPOSE_OCSP_HELPER); pub const TIMESTAMP_SIGN: X509PurposeId = X509PurposeId(ffi::X509_PURPOSE_TIMESTAMP_SIGN); + #[cfg(ossl320)] + pub const CODE_SIGN: X509PurposeId = X509PurposeId(ffi::X509_PURPOSE_CODE_SIGN); /// Constructs an `X509PurposeId` from a raw OpenSSL value. pub fn from_raw(id: c_int) -> Self {