You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by do...@apache.org on 2001/11/12 23:01:15 UTC
cvs commit: httpd-2.0/modules/ssl ssl_engine_kernel.c
dougm 01/11/12 14:01:15
Modified: modules/ssl ssl_engine_kernel.c
Log:
fix segv triggered by recent ap_lingering_close change
need to set SSLFilterRec.pssl = NULL when ssl_hook_CloseConnection is called
otherwise, ap_lingering_close -> ap_flush_conn will call ssl_io_filter_Output
which thinks it can still use the SSLFilterRec.pssl
Revision Changes Path
1.20 +4 -0 httpd-2.0/modules/ssl/ssl_engine_kernel.c
Index: ssl_engine_kernel.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_engine_kernel.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- ssl_engine_kernel.c 2001/08/24 00:09:30 1.19
+++ ssl_engine_kernel.c 2001/11/12 22:01:14 1.20
@@ -67,6 +67,9 @@
* Close the SSL part of the socket connection
* (called immediately _before_ the socket is closed)
*/
+/* XXX: perhaps ssl_abort() should call us or vice-versa
+ * lot of the same happening in both places
+ */
apr_status_t ssl_hook_CloseConnection(SSLFilterRec *filter)
{
SSL *ssl;
@@ -144,6 +147,7 @@
/* deallocate the SSL connection */
SSL_free(ssl);
apr_table_setn(conn->notes, "ssl", NULL);
+ filter->pssl = NULL; /* so filters know we've been shutdown */
return APR_SUCCESS;
}