From: Joe Orton Date: Thu, 15 Apr 2004 19:54:51 +0000 (+0000) Subject: * modules/ssl/ssl_engine_init.c (ssl_init_ctx_session_cache): Disable X-Git-Tag: 2.0.50~200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=139474d6c354fe2025d67029489b0a1b0d53d771;p=thirdparty%2Fapache%2Fhttpd.git * modules/ssl/ssl_engine_init.c (ssl_init_ctx_session_cache): Disable all OpenSSL-internal session caching. * modules/ssl/ssl_toolkit_compat.h: Define SSL_SESS_CACHE_NO_INTERNAL as SSL_SESS_CACHE_NO_INTERNAL_LOOKUP if necessary. PR: 26562 Submitted by: Madhusudan Mathihalli Reviewed by: Joe Orton, Jeff Trawick git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@103397 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index ff933a7da53..93a948974e1 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,8 @@ Changes with Apache 2.0.50 + *) mod_ssl: Fix memory leak in session cache handling. PR 26562 + [Madhusudan Mathihalli] + *) mod_ssl: Fix potential segfaults when performing SSL shutdown from a pool cleanup. PR 27945. [Joe Orton] diff --git a/STATUS b/STATUS index a11079d9950..284c3d7ad67 100644 --- a/STATUS +++ b/STATUS @@ -1,5 +1,5 @@ APACHE 2.0 STATUS: -*-text-*- -Last modified at [$Date: 2004/04/15 19:41:38 $] +Last modified at [$Date: 2004/04/15 19:54:49 $] Release: @@ -155,12 +155,6 @@ PATCHES TO BACKPORT FROM 2.1 modules/mappers/mod_alias.c: r1.45, 1.46, 1.47, 1.48, 1.55 +1: nd - *) mod_ssl: Disable the extra session caching in OpenSSL to prevent - memory leak. PR: 26562. - modules/ssl/ssl_engine_init.c: r1.127 - modules/ssl/ssl_toolkit_compat.h: r1.41 - +1: madhum, jorton, trawick - *) Fixed mean and median calculations in ab, also changed where time values are set for start and connect when doing keep alive benchmarking. support/ab.c: r1.143 diff --git a/modules/ssl/ssl_engine_init.c b/modules/ssl/ssl_engine_init.c index f4107af7da3..f1c0e3bd8da 100644 --- a/modules/ssl/ssl_engine_init.c +++ b/modules/ssl/ssl_engine_init.c @@ -449,11 +449,11 @@ static void ssl_init_ctx_session_cache(server_rec *s, long cache_mode = SSL_SESS_CACHE_OFF; if (mc->nSessionCacheMode != SSL_SCMODE_NONE) { - /* SSL_SESS_CACHE_NO_INTERNAL_LOOKUP will force OpenSSL + /* SSL_SESS_CACHE_NO_INTERNAL will force OpenSSL * to ignore process local-caching and * to always get/set/delete sessions using mod_ssl's callbacks. */ - cache_mode = SSL_SESS_CACHE_SERVER|SSL_SESS_CACHE_NO_INTERNAL_LOOKUP; + cache_mode = SSL_SESS_CACHE_SERVER|SSL_SESS_CACHE_NO_INTERNAL; } SSL_CTX_set_session_cache_mode(ctx, cache_mode); diff --git a/modules/ssl/ssl_toolkit_compat.h b/modules/ssl/ssl_toolkit_compat.h index be77cb6afbe..2a86a1ce7a2 100644 --- a/modules/ssl/ssl_toolkit_compat.h +++ b/modules/ssl/ssl_toolkit_compat.h @@ -206,4 +206,8 @@ typedef void (*modssl_popfree_fn)(char *data); #define HAVE_SSL_X509V3_H #endif +#ifndef SSL_SESS_CACHE_NO_INTERNAL +#define SSL_SESS_CACHE_NO_INTERNAL SSL_SESS_CACHE_NO_INTERNAL_LOOKUP +#endif + #endif /* SSL_TOOLKIT_COMPAT_H */