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;
   }