]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
m_ssl_openssl Use SSL_MODE_RELEASE_BUFFERS if available
authorAttila Molnar <attilamolnar@hush.com>
Mon, 6 Jul 2015 17:07:30 +0000 (19:07 +0200)
committerAttila Molnar <attilamolnar@hush.com>
Mon, 6 Jul 2015 17:07:30 +0000 (19:07 +0200)
src/modules/extra/m_ssl_openssl.cpp

index 684ee218060dda2f28effb766d7bf17dd3b30d83..6d3eef3933af3009d51876296e55072a333e1a44 100644 (file)
@@ -126,7 +126,12 @@ namespace OpenSSL
 #endif
 
                        ctx_options = SSL_CTX_set_options(ctx, opts);
 #endif
 
                        ctx_options = SSL_CTX_set_options(ctx, opts);
-                       SSL_CTX_set_mode(ctx, SSL_MODE_ENABLE_PARTIAL_WRITE | SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
+
+                       long mode = SSL_MODE_ENABLE_PARTIAL_WRITE | SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER;
+#ifdef SSL_MODE_RELEASE_BUFFERS
+                       mode |= SSL_MODE_RELEASE_BUFFERS;
+#endif
+                       SSL_CTX_set_mode(ctx, mode);
                        SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_CLIENT_ONCE, OnVerify);
                        SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
                        SSL_CTX_set_info_callback(ctx, StaticSSLInfoCallback);
                        SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER | SSL_VERIFY_CLIENT_ONCE, OnVerify);
                        SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF);
                        SSL_CTX_set_info_callback(ctx, StaticSSLInfoCallback);