浏览代码

Compile with old OpenSSL

Tatsuhiro Tsujikawa 11 年之前
父节点
当前提交
62fba76666
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/LibsslTLSContext.cc

+ 6 - 0
src/LibsslTLSContext.cc

@@ -102,7 +102,9 @@ OpenSSLTLSContext::OpenSSLTLSContext(TLSSessionSide side)
   }
   // Disable SSLv2/3 and enable all workarounds for buggy servers
   SSL_CTX_set_options(sslCtx_, SSL_OP_ALL | SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3
+#ifdef SSL_OP_SINGLE_ECDH_USE
                       | SSL_OP_SINGLE_ECDH_USE
+#endif // SSL_OP_SINGLE_ECDH_USE
 #ifdef SSL_OP_NO_COMPRESSION
                       | SSL_OP_NO_COMPRESSION
 #endif // SSL_OP_NO_COMPRESSION
@@ -119,6 +121,8 @@ OpenSSLTLSContext::OpenSSLTLSContext(TLSSessionSide side)
                      ERR_error_string(ERR_get_error(), nullptr)));
   }
 
+#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
+#ifndef OPENSSL_NO_ECDH
   auto ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
   if(ecdh == nullptr) {
     A2_LOG_WARN(fmt("Failed to enable ECDHE cipher suites. Cause: %s",
@@ -127,6 +131,8 @@ OpenSSLTLSContext::OpenSSLTLSContext(TLSSessionSide side)
     SSL_CTX_set_tmp_ecdh(sslCtx_, ecdh);
     EC_KEY_free(ecdh);
   }
+#endif // OPENSSL_NO_ECDH
+#endif // OPENSSL_VERSION_NUMBER >= 0x0090800fL
 }
 
 OpenSSLTLSContext::~OpenSSLTLSContext()