Unverified Commit ca0c828d authored by Steven Fackler's avatar Steven Fackler Committed by GitHub
Browse files

Merge pull request #775 from sfackler/libressl-stable

Whitelist stable libressl version ranges
parents b91aed22 55bf390d
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -79,9 +79,6 @@ openssl_101: &OPENSSL_101
libressl_250: &LIBRESSL_250
  LIBRARY: libressl
  VERSION: 2.5.0
libressl_261: &LIBRESSL_262
  LIBRARY: libressl
  VERSION: 2.6.2
libressl_263: &LIBRESSL_263
  LIBRARY: libressl
  VERSION: 2.6.3
@@ -143,10 +140,6 @@ jobs:
    <<: *JOB
    environment:
      <<: [*LIBRESSL_250, *X86_64, *BASE]
  x86_64-libressl-2.6.2:
    <<: *JOB
    environment:
      <<: [*LIBRESSL_262, *X86_64, *BASE]
  x86_64-libressl-2.6.3:
    <<: *JOB
    environment:
@@ -165,5 +158,4 @@ workflows:
    - armhf-openssl-1.0.2
    - armhf-openssl-1.0.1
    - x86_64-libressl-2.5.0
    - x86_64-libressl-2.6.2
    - x86_64-libressl-2.6.3
+9 −29
Original line number Diff line number Diff line
@@ -316,24 +316,18 @@ fn validate_headers(include_dirs: &[PathBuf]) -> Version {
#include <openssl/opensslv.h>
#include <openssl/opensslconf.h>

#if LIBRESSL_VERSION_NUMBER >= 0x20604000
#if LIBRESSL_VERSION_NUMBER >= 0x20700000
RUST_LIBRESSL_NEW
#elif LIBRESSL_VERSION_NUMBER >= 0x20603000
RUST_LIBRESSL_263
RUST_LIBRESSL_26X
#elif LIBRESSL_VERSION_NUMBER >= 0x20602000
RUST_LIBRESSL_262
#elif LIBRESSL_VERSION_NUMBER >= 0x20601000
RUST_LIBRESSL_261
#elif LIBRESSL_VERSION_NUMBER >= 0x20600000
RUST_LIBRESSL_260
#elif LIBRESSL_VERSION_NUMBER >= 0x20506000
RUST_LIBRESSL_NEW
#elif LIBRESSL_VERSION_NUMBER >= 0x20505000
RUST_LIBRESSL_255
#elif LIBRESSL_VERSION_NUMBER >= 0x20504000
RUST_LIBRESSL_254
#elif LIBRESSL_VERSION_NUMBER >= 0x20503000
RUST_LIBRESSL_253
RUST_LIBRESSL_25X
#elif LIBRESSL_VERSION_NUMBER >= 0x20502000
RUST_LIBRESSL_252
#elif LIBRESSL_VERSION_NUMBER >= 0x20501000
@@ -435,25 +429,11 @@ See rust-openssl README for more information:
        println!("cargo:libressl_version=252");
        println!("cargo:version=101");
        Version::Libressl
    } else if expanded.contains("RUST_LIBRESSL_253") {
        println!("cargo:rustc-cfg=libressl");
        println!("cargo:rustc-cfg=libressl253");
        println!("cargo:libressl=true");
        println!("cargo:libressl_version=253");
        println!("cargo:version=101");
        Version::Libressl
    } else if expanded.contains("RUST_LIBRESSL_254") {
        println!("cargo:rustc-cfg=libressl");
        println!("cargo:rustc-cfg=libressl254");
        println!("cargo:libressl=true");
        println!("cargo:libressl_version=254");
        println!("cargo:version=101");
        Version::Libressl
    } else if expanded.contains("RUST_LIBRESSL_255") {
    } else if expanded.contains("RUST_LIBRESSL_25X") {
        println!("cargo:rustc-cfg=libressl");
        println!("cargo:rustc-cfg=libressl255");
        println!("cargo:rustc-cfg=libressl25x");
        println!("cargo:libressl=true");
        println!("cargo:libressl_version=255");
        println!("cargo:libressl_version=25x");
        println!("cargo:version=101");
        Version::Libressl
    } else if expanded.contains("RUST_LIBRESSL_260") {
@@ -477,11 +457,11 @@ See rust-openssl README for more information:
        println!("cargo:libressl_version=262");
        println!("cargo:version=101");
        Version::Libressl
    } else if expanded.contains("RUST_LIBRESSL_263") {
    } else if expanded.contains("RUST_LIBRESSL_26X") {
        println!("cargo:rustc-cfg=libressl");
        println!("cargo:rustc-cfg=libressl263");
        println!("cargo:rustc-cfg=libressl26x");
        println!("cargo:libressl=true");
        println!("cargo:libressl_version=263");
        println!("cargo:libressl_version=26x");
        println!("cargo:version=101");
        Version::Libressl
    } else if expanded.contains("RUST_OPENSSL_110F") {
+4 −4
Original line number Diff line number Diff line
@@ -1250,14 +1250,14 @@ pub const SSL_VERIFY_NONE: c_int = 0;
pub const SSL_VERIFY_PEER: c_int = 1;
pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: c_int = 2;

#[cfg(not(any(libressl261, libressl262, libressl263, ossl101)))]
#[cfg(not(any(libressl261, libressl262, libressl26x, ossl101)))]
pub const SSL_OP_TLSEXT_PADDING: c_ulong = 0x00000010;
#[cfg(any(libressl261, libressl262, libressl263))]
#[cfg(any(libressl261, libressl262, libressl26x))]
pub const SSL_OP_TLSEXT_PADDING: c_ulong = 0x0;
pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: c_ulong = 0x00000800;
#[cfg(not(any(libressl261, libressl262, libressl263)))]
#[cfg(not(any(libressl261, libressl262, libressl26x)))]
pub const SSL_OP_CRYPTOPRO_TLSEXT_BUG: c_ulong = 0x80000000;
#[cfg(any(libressl261, libressl262, libressl263))]
#[cfg(any(libressl261, libressl262, libressl26x))]
pub const SSL_OP_CRYPTOPRO_TLSEXT_BUG: c_ulong = 0x0;
pub const SSL_OP_LEGACY_SERVER_CONNECT: c_ulong = 0x00000004;
#[cfg(not(libressl))]
+4 −4
Original line number Diff line number Diff line
@@ -345,9 +345,9 @@ pub const SSL_CTRL_OPTIONS: c_int = 32;
pub const SSL_CTRL_CLEAR_OPTIONS: c_int = 77;
pub const SSL_CTRL_SET_ECDH_AUTO: c_int = 94;

#[cfg(any(libressl261, libressl262, libressl263))]
#[cfg(any(libressl261, libressl262, libressl26x))]
pub const SSL_OP_ALL: c_ulong = 0x4;
#[cfg(not(any(libressl261, libressl262, libressl263)))]
#[cfg(not(any(libressl261, libressl262, libressl26x)))]
pub const SSL_OP_ALL: c_ulong = 0x80000014;
pub const SSL_OP_CISCO_ANYCONNECT: c_ulong = 0x0;
pub const SSL_OP_NO_COMPRESSION: c_ulong = 0x0;
@@ -360,9 +360,9 @@ pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x0;
pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x0;
pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x0;
pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x0;
#[cfg(any(libressl261, libressl262, libressl263))]
#[cfg(any(libressl261, libressl262, libressl26x))]
pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x0;
#[cfg(not(any(libressl261, libressl262, libressl263)))]
#[cfg(not(any(libressl261, libressl262, libressl26x)))]
pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
pub const SSL_OP_NO_SSLv2: c_ulong = 0x0;
+2 −2
Original line number Diff line number Diff line
@@ -649,7 +649,7 @@ impl SslContextBuilder {

    /// Set the protocols to be used during Next Protocol Negotiation (the protocols
    /// supported by the application).
    #[cfg(not(any(libressl261, libressl262, libressl263)))]
    #[cfg(not(any(libressl261, libressl262, libressl26x)))]
    pub fn set_npn_protocols(&mut self, protocols: &[&[u8]]) -> Result<(), ErrorStack> {
        // Firstly, convert the list of protocols to a byte-array that can be passed to OpenSSL
        // APIs -- a list of length-prefixed strings.
@@ -1307,7 +1307,7 @@ impl SslRef {
    ///
    /// The protocol's name is returned is an opaque sequence of bytes. It is up to the client
    /// to interpret it.
    #[cfg(not(any(libressl261, libressl262, libressl263)))]
    #[cfg(not(any(libressl261, libressl262, libressl26x)))]
    pub fn selected_npn_protocol(&self) -> Option<&[u8]> {
        unsafe {
            let mut data: *const c_uchar = ptr::null();
Loading