From 8d521bacbb355c5cc14956159b8dcfeb3da7e022 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Tue, 6 Aug 2019 18:36:04 -0700 Subject: [PATCH] Support LibreSSL 3.0.0 Closes #1121 --- .circleci/config.yml | 4 ++-- openssl-sys/build/main.rs | 34 ++++++++++++++++++---------------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 649ce4292..612ce174b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -288,10 +288,10 @@ workflows: library: libressl version: 2.5.5 - linux: - name: x86_64-libressl-2.9 + name: x86_64-libressl-3.0 target: x86_64-unknown-linux-gnu library: libressl - version: 2.9.1 + version: 3.0.0 - macos: name: macos - macos: diff --git a/openssl-sys/build/main.rs b/openssl-sys/build/main.rs index 7f803a5b3..773d02b56 100644 --- a/openssl-sys/build/main.rs +++ b/openssl-sys/build/main.rs @@ -183,28 +183,30 @@ See rust-openssl README for more information: if let Some(libressl_version) = libressl_version { println!("cargo:libressl_version_number={:x}", libressl_version); + let major = (libressl_version >> 28) as u8; let minor = (libressl_version >> 20) as u8; let fix = (libressl_version >> 12) as u8; - let (minor, fix) = match (minor, fix) { - (5, 0) => ('5', '0'), - (5, 1) => ('5', '1'), - (5, 2) => ('5', '2'), - (5, _) => ('5', 'x'), - (6, 0) => ('6', '0'), - (6, 1) => ('6', '1'), - (6, 2) => ('6', '2'), - (6, _) => ('6', 'x'), - (7, _) => ('7', 'x'), - (8, 0) => ('8', '0'), - (8, 1) => ('8', '1'), - (8, _) => ('8', 'x'), - (9, 0) => ('9', '0'), - (9, _) => ('9', 'x'), + let (major, minor, fix) = match (major, minor, fix) { + (2, 5, 0) => ('2', '5', '0'), + (2, 5, 1) => ('2', '5', '1'), + (2, 5, 2) => ('2', '5', '2'), + (2, 5, _) => ('2', '5', 'x'), + (2, 6, 0) => ('2', '6', '0'), + (2, 6, 1) => ('2', '6', '1'), + (2, 6, 2) => ('2', '6', '2'), + (2, 6, _) => ('2', '6', 'x'), + (2, 7, _) => ('2', '7', 'x'), + (2, 8, 0) => ('2', '8', '0'), + (2, 8, 1) => ('2', '8', '1'), + (2, 8, _) => ('2', '8', 'x'), + (2, 9, 0) => ('2', '9', '0'), + (2, 9, _) => ('2', '9', 'x'), + (3, 0, 0) => ('3', '0', '0'), _ => version_error(), }; println!("cargo:libressl=true"); - println!("cargo:libressl_version=2{}{}", minor, fix); + println!("cargo:libressl_version={}{}{}", major, minor, fix); println!("cargo:version=101"); Version::Libressl } else { -- GitLab