rustls-openssl 0.4.0

Rustls crypto provider for OpenSSL
Documentation
#![allow(clippy::unusual_byte_groupings)]

use std::env;

fn main() {
    println!("cargo:rustc-check-cfg=cfg(fips_module)");
    println!("cargo:rustc-check-cfg=cfg(ossl300)");
    println!("cargo:rustc-check-cfg=cfg(ossl320)");
    println!("cargo:rustc-check-cfg=cfg(ossl350)");
    // Determine whether to work around https://github.com/openssl/openssl/issues/23448
    // according to the OpenSSL version
    println!("cargo:rustc-check-cfg=cfg(bugged_add_hkdf_info)");
    if let Ok(version) = env::var("DEP_OPENSSL_VERSION_NUMBER") {
        let version = u64::from_str_radix(&version, 16).unwrap();

        if (0x3_00_00_00_0..0x3_04_00_00_0).contains(&version) {
            println!("cargo:rustc-cfg=bugged_add_hkdf_info");
        }

        if version < 0x3_00_00_00_0 {
            println!("cargo:rustc-cfg=fips_module");
        }

        if version >= 0x3_00_00_00_0 {
            println!("cargo:rustc-cfg=ossl300");
        }

        if version >= 0x3_02_00_00_0 {
            println!("cargo:rustc-cfg=ossl320");
        }

        if version >= 0x3_05_00_00_0 {
            println!("cargo:rustc-cfg=ossl350");
        }
    }
}