Support LibreSSL 3.0.0

Closes #1121
This commit is contained in:
Steven Fackler 2019-08-06 18:36:04 -07:00
parent dbe0672dc4
commit 8d521bacbb
2 changed files with 20 additions and 18 deletions

View File

@ -288,10 +288,10 @@ workflows:
library: libressl library: libressl
version: 2.5.5 version: 2.5.5
- linux: - linux:
name: x86_64-libressl-2.9 name: x86_64-libressl-3.0
target: x86_64-unknown-linux-gnu target: x86_64-unknown-linux-gnu
library: libressl library: libressl
version: 2.9.1 version: 3.0.0
- macos: - macos:
name: macos name: macos
- macos: - macos:

View File

@ -183,28 +183,30 @@ See rust-openssl README for more information:
if let Some(libressl_version) = libressl_version { if let Some(libressl_version) = libressl_version {
println!("cargo:libressl_version_number={:x}", 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 minor = (libressl_version >> 20) as u8;
let fix = (libressl_version >> 12) as u8; let fix = (libressl_version >> 12) as u8;
let (minor, fix) = match (minor, fix) { let (major, minor, fix) = match (major, minor, fix) {
(5, 0) => ('5', '0'), (2, 5, 0) => ('2', '5', '0'),
(5, 1) => ('5', '1'), (2, 5, 1) => ('2', '5', '1'),
(5, 2) => ('5', '2'), (2, 5, 2) => ('2', '5', '2'),
(5, _) => ('5', 'x'), (2, 5, _) => ('2', '5', 'x'),
(6, 0) => ('6', '0'), (2, 6, 0) => ('2', '6', '0'),
(6, 1) => ('6', '1'), (2, 6, 1) => ('2', '6', '1'),
(6, 2) => ('6', '2'), (2, 6, 2) => ('2', '6', '2'),
(6, _) => ('6', 'x'), (2, 6, _) => ('2', '6', 'x'),
(7, _) => ('7', 'x'), (2, 7, _) => ('2', '7', 'x'),
(8, 0) => ('8', '0'), (2, 8, 0) => ('2', '8', '0'),
(8, 1) => ('8', '1'), (2, 8, 1) => ('2', '8', '1'),
(8, _) => ('8', 'x'), (2, 8, _) => ('2', '8', 'x'),
(9, 0) => ('9', '0'), (2, 9, 0) => ('2', '9', '0'),
(9, _) => ('9', 'x'), (2, 9, _) => ('2', '9', 'x'),
(3, 0, 0) => ('3', '0', '0'),
_ => version_error(), _ => version_error(),
}; };
println!("cargo:libressl=true"); println!("cargo:libressl=true");
println!("cargo:libressl_version=2{}{}", minor, fix); println!("cargo:libressl_version={}{}{}", major, minor, fix);
println!("cargo:version=101"); println!("cargo:version=101");
Version::Libressl Version::Libressl
} else { } else {