aboutsummaryrefslogtreecommitdiff
path: root/openssl
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-10-14 20:50:45 -0700
committerSteven Fackler <[email protected]>2016-10-14 20:50:45 -0700
commitf520aa2860dcb8f995a8fa5bd602916f96de1d8a (patch)
tree8eceea30546656cfe7b71de2b35b0396d7216d6f /openssl
parentMerge pull request #470 from sfackler/confs (diff)
downloadrust-openssl-f520aa2860dcb8f995a8fa5bd602916f96de1d8a.tar.xz
rust-openssl-f520aa2860dcb8f995a8fa5bd602916f96de1d8a.zip
Handle OPENSSL_NO_COMP
Closes #459
Diffstat (limited to 'openssl')
-rw-r--r--openssl/build.rs5
-rw-r--r--openssl/src/ssl/mod.rs10
2 files changed, 15 insertions, 0 deletions
diff --git a/openssl/build.rs b/openssl/build.rs
index 15d4b4db..dd832150 100644
--- a/openssl/build.rs
+++ b/openssl/build.rs
@@ -12,4 +12,9 @@ fn main() {
if env::var("DEP_OPENSSL_IS_110").is_ok() {
println!("cargo:rustc-cfg=ossl110");
}
+ if let Ok(vars) = env::var("DEP_OPENSSL_OSSLCONF") {
+ for var in vars.split(",") {
+ println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
+ }
+ }
}
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index b042d81e..076ac400 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -952,6 +952,11 @@ impl<'a> SslRef<'a> {
/// The result will be either None, indicating no compression is in use, or
/// a string with the compression name.
pub fn compression(&self) -> Option<String> {
+ self._compression()
+ }
+
+ #[cfg(not(osslconf = "OPENSSL_NO_COMP"))]
+ fn _compression(&self) -> Option<String> {
let ptr = unsafe { ffi::SSL_get_current_compression(self.as_ptr()) };
if ptr == ptr::null() {
return None;
@@ -965,6 +970,11 @@ impl<'a> SslRef<'a> {
Some(s)
}
+ #[cfg(osslconf = "OPENSSL_NO_COMP")]
+ fn _compression(&self) -> Option<String> {
+ None
+ }
+
/// Returns the server's name for the current connection
pub fn servername(&self) -> Option<String> {
let name = unsafe { ffi::SSL_get_servername(self.as_ptr(), ffi::TLSEXT_NAMETYPE_host_name) };