summaryrefslogtreecommitdiffstats
path: root/vendor/openssl-sys/build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/openssl-sys/build
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/openssl-sys/build')
-rw-r--r--vendor/openssl-sys/build/cfgs.rs4
-rw-r--r--vendor/openssl-sys/build/expando.c8
-rw-r--r--vendor/openssl-sys/build/main.rs36
-rw-r--r--vendor/openssl-sys/build/run_bindgen.rs10
4 files changed, 32 insertions, 26 deletions
diff --git a/vendor/openssl-sys/build/cfgs.rs b/vendor/openssl-sys/build/cfgs.rs
index 960515f00..2f3ff3eaf 100644
--- a/vendor/openssl-sys/build/cfgs.rs
+++ b/vendor/openssl-sys/build/cfgs.rs
@@ -1,3 +1,4 @@
+#[allow(clippy::unusual_byte_groupings)]
pub fn get(openssl_version: Option<u64>, libressl_version: Option<u64>) -> Vec<&'static str> {
let mut cfgs = vec![];
@@ -91,6 +92,9 @@ pub fn get(openssl_version: Option<u64>, libressl_version: Option<u64>) -> Vec<&
if openssl_version >= 0x1_01_01_03_0 {
cfgs.push("ossl111c");
}
+ if openssl_version >= 0x1_01_01_04_0 {
+ cfgs.push("ossl111d");
+ }
}
cfgs
diff --git a/vendor/openssl-sys/build/expando.c b/vendor/openssl-sys/build/expando.c
index 11fb04db0..5d003d902 100644
--- a/vendor/openssl-sys/build/expando.c
+++ b/vendor/openssl-sys/build/expando.c
@@ -75,10 +75,18 @@ RUST_CONF_OPENSSL_NO_NEXTPROTONEG
RUST_CONF_OPENSSL_NO_OCSP
#endif
+#ifdef OPENSSL_NO_OCB
+RUST_CONF_OPENSSL_NO_OCB
+#endif
+
#ifdef OPENSSL_NO_PSK
RUST_CONF_OPENSSL_NO_PSK
#endif
+#ifdef OPENSSL_NO_RC4
+RUST_CONF_OPENSSL_NO_RC4
+#endif
+
#ifdef OPENSSL_NO_RFC3779
RUST_CONF_OPENSSL_NO_RFC3779
#endif
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
index ba149c17f..3359165a3 100644
--- a/vendor/openssl-sys/build/main.rs
+++ b/vendor/openssl-sys/build/main.rs
@@ -1,9 +1,3 @@
-#![allow(
- clippy::inconsistent_digit_grouping,
- clippy::uninlined_format_args,
- clippy::unusual_byte_groupings
-)]
-
#[cfg(feature = "bindgen")]
extern crate bindgen;
extern crate cc;
@@ -131,7 +125,6 @@ fn main() {
}
}
-#[allow(clippy::let_and_return)]
fn postprocess(include_dirs: &[PathBuf]) -> Version {
let version = validate_headers(include_dirs);
@@ -146,7 +139,7 @@ fn postprocess(include_dirs: &[PathBuf]) -> Version {
/// Validates the header files found in `include_dir` and then returns the
/// version string of OpenSSL.
-#[allow(clippy::manual_strip)] // we need to support pre-1.45.0
+#[allow(clippy::unusual_byte_groupings)]
fn validate_headers(include_dirs: &[PathBuf]) -> Version {
// This `*-sys` crate only works with OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1 and 3.0.0.
// To correctly expose the right API from this crate, take a look at
@@ -162,9 +155,7 @@ fn validate_headers(include_dirs: &[PathBuf]) -> Version {
// account for compile differences and such.
println!("cargo:rerun-if-changed=build/expando.c");
let mut gcc = cc::Build::new();
- for include_dir in include_dirs {
- gcc.include(include_dir);
- }
+ gcc.includes(include_dirs);
let expanded = match gcc.file("build/expando.c").try_expand() {
Ok(expanded) => expanded,
Err(e) => {
@@ -210,17 +201,14 @@ See rust-openssl documentation for more information:
let libressl_prefix = "RUST_VERSION_LIBRESSL_";
let boringsl_prefix = "RUST_OPENSSL_IS_BORINGSSL";
let conf_prefix = "RUST_CONF_";
- if line.starts_with(openssl_prefix) {
- let version = &line[openssl_prefix.len()..];
+ if let Some(version) = line.strip_prefix(openssl_prefix) {
openssl_version = Some(parse_version(version));
- } else if line.starts_with(new_openssl_prefix) {
- let version = &line[new_openssl_prefix.len()..];
+ } else if let Some(version) = line.strip_prefix(new_openssl_prefix) {
openssl_version = Some(parse_new_version(version));
- } else if line.starts_with(libressl_prefix) {
- let version = &line[libressl_prefix.len()..];
+ } else if let Some(version) = line.strip_prefix(libressl_prefix) {
libressl_version = Some(parse_version(version));
- } else if line.starts_with(conf_prefix) {
- enabled.push(&line[conf_prefix.len()..]);
+ } else if let Some(conf) = line.strip_prefix(conf_prefix) {
+ enabled.push(conf);
} else if line.starts_with(boringsl_prefix) {
is_boringssl = true;
}
@@ -285,6 +273,7 @@ See rust-openssl documentation for more information:
(3, 7, 0) => ('3', '7', '0'),
(3, 7, 1) => ('3', '7', '1'),
(3, 7, _) => ('3', '7', 'x'),
+ (3, 8, 0) => ('3', '8', '0'),
_ => version_error(),
};
@@ -327,7 +316,7 @@ fn version_error() -> ! {
"
This crate is only compatible with OpenSSL (version 1.0.1 through 1.1.1, or 3.0.0), or LibreSSL 2.5
-through 3.7.x, but a different version of OpenSSL was found. The build is now aborting
+through 3.8.0, but a different version of OpenSSL was found. The build is now aborting
due to this version mismatch.
"
@@ -335,18 +324,13 @@ due to this version mismatch.
}
// parses a string that looks like "0x100020cfL"
-#[allow(deprecated)] // trim_right_matches is now trim_end_matches
-#[allow(clippy::match_like_matches_macro)] // matches macro requires rust 1.42.0
fn parse_version(version: &str) -> u64 {
// cut off the 0x prefix
assert!(version.starts_with("0x"));
let version = &version[2..];
// and the type specifier suffix
- let version = version.trim_right_matches(|c: char| match c {
- '0'..='9' | 'a'..='f' | 'A'..='F' => false,
- _ => true,
- });
+ let version = version.trim_end_matches(|c: char| !c.is_ascii_hexdigit());
u64::from_str_radix(version, 16).unwrap()
}
diff --git a/vendor/openssl-sys/build/run_bindgen.rs b/vendor/openssl-sys/build/run_bindgen.rs
index 4fa9ec66f..5d307503f 100644
--- a/vendor/openssl-sys/build/run_bindgen.rs
+++ b/vendor/openssl-sys/build/run_bindgen.rs
@@ -110,11 +110,15 @@ pub fn run_boringssl(include_dirs: &[PathBuf]) {
let mut builder = bindgen::builder()
.rust_target(RustTarget::Stable_1_47)
.ctypes_prefix("::libc")
+ .raw_line("use libc::*;")
.derive_default(false)
.enable_function_attribute_detection()
.default_macro_constant_type(MacroTypeVariation::Signed)
.rustified_enum("point_conversion_form_t")
.allowlist_file(".*/openssl/[^/]+\\.h")
+ .allowlist_recursively(false)
+ .blocklist_function("BIO_vsnprintf")
+ .blocklist_function("OPENSSL_vasprintf")
.wrap_static_fns(true)
.wrap_static_fns_path(out_dir.join("boring_static_wrapper").display().to_string())
.layout_tests(false)
@@ -163,13 +167,19 @@ pub fn run_boringssl(include_dirs: &[PathBuf]) {
bindgen_cmd
.arg("-o")
.arg(out_dir.join("bindgen.rs"))
+ // Must be a valid version from
+ // https://docs.rs/bindgen/latest/bindgen/enum.RustTarget.html
.arg("--rust-target=1.47")
.arg("--ctypes-prefix=::libc")
+ .arg("--raw-line=use libc::*;")
.arg("--no-derive-default")
.arg("--enable-function-attribute-detection")
.arg("--default-macro-constant-type=signed")
.arg("--rustified-enum=point_conversion_form_t")
.arg("--allowlist-file=.*/openssl/[^/]+\\.h")
+ .arg("--no-recursive-allowlist")
+ .arg("--blocklist-function=BIO_vsnprintf")
+ .arg("--blocklist-function=OPENSSL_vasprintf")
.arg("--experimental")
.arg("--wrap-static-fns")
.arg("--wrap-static-fns-path")