summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tlscommon.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/tlscommon.c b/tlscommon.c
index d5a35bf..6739f03 100644
--- a/tlscommon.c
+++ b/tlscommon.c
@@ -203,6 +203,7 @@ static int tlsaddcacrl(SSL_CTX *ctx, struct tls *conf) {
static SSL_CTX *tlscreatectx(uint8_t type, struct tls *conf) {
SSL_CTX *ctx = NULL;
unsigned long error;
+ long sslversion = SSLeay();
switch (type) {
#ifdef RADPROT_TLS
@@ -227,15 +228,15 @@ static SSL_CTX *tlscreatectx(uint8_t type, struct tls *conf) {
debug(DBG_ERR, "tlscreatectx: Error initialising SSL/TLS in TLS context %s", conf->name);
return NULL;
}
-#if OPENSSL_VERSION_NUMBER < 0x0090810f \
- || (OPENSSL_VERSION_NUMBER >= 0x1000000f \
- && OPENSSL_VERSION_NUMBER < 0x1000002f)
- debug(DBG_WARN, "%s: OpenSSL seems to be of a version with a "
- "certain security critical bug (fixed in OpenSSL 0.9.8p and "
- "1.0.0b). Disabling OpenSSL session caching for context %p.",
- __func__, ctx);
- SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
-#endif
+
+ if (sslversion < 0x00908100L ||
+ (sslversion >= 0x10000000L && sslversion < 0x10000020L)) {
+ debug(DBG_WARN, "%s: %s seems to be of a version with a "
+ "certain security critical bug (fixed in OpenSSL 0.9.8p and "
+ "1.0.0b). Disabling OpenSSL session caching for context %p.",
+ __func__, SSLeay_version(SSLEAY_VERSION), ctx);
+ SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
+ }
if (conf->certkeypwd) {
SSL_CTX_set_default_passwd_cb_userdata(ctx, conf->certkeypwd);