Allow to build against libressl >= 2.9.x

diff --git a/vendor/openssl-sys/build/cfgs.rs b/vendor/openssl-sys/build/cfgs.rs
--- a/vendor/openssl-sys/build/cfgs.rs
+++ b/vendor/openssl-sys/build/cfgs.rs
@@ -22,6 +22,18 @@
         if libressl_version >= 0x2_08_01_00_0 {
             cfgs.push("libressl281");
         }
+        if libressl_version >= 0x2_09_00_00_0 {
+            cfgs.push("libressl290");
+        }
+        if libressl_version >= 0x2_09_01_00_0 {
+            cfgs.push("libressl291");
+        }
+        if libressl_version >= 0x2_09_02_00_0 {
+            cfgs.push("libressl292");
+        }
+        if libressl_version >= 0x3_00_00_00_0 {
+            cfgs.push("libressl300");
+        }
     } else {
         let openssl_version = openssl_version.unwrap();
 
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
--- a/vendor/openssl-sys/build/main.rs
+++ b/vendor/openssl-sys/build/main.rs
@@ -183,6 +183,7 @@
     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) {
@@ -199,11 +200,14 @@
             (8, 1) => ('8', '1'),
             (8, _) => ('8', 'x'),
             (9, 0) => ('9', '0'),
+            (9, _) => ('9', 'x'),
+            (0, 0) => ('0', '0'),
+            (0, _) => ('0', 'x'),
             _ => 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 {
