Subject: mod-ssl on win32 (mod_ssl bug 569, apache crash)

From: "Enrico Demarin" <[email-masked]>
Date: Thu, 17 Jan 2002 10:18:47 -0800

I know it's not supported but... seems like something is still not good
in mod_ssl , as reported by Josef Goebel,
who posted a patch, there is something odd in mod_ssl for win32. I
applied his patch to ap_ctx.c , that cures
the crash in most of the cases 
 
in ap_ctx_get() adds:
 
 if ((ctx==NULL) || (key==NULL)) 
 {
  ap_log_assert("ap_ctx_get_bug: ctx or key are NULL!",
                          __FILE__, __LINE__);
          return NULL;
         }
 
and i also added the same check in ap_ctx_set. The problem is that
sometimes mod_ssl calls such functions with ctx set to null and key set
to null, and crashes apache. I have had other crashes which i haven't
been able to debug ( how do i properly build a debug version of
apache-ssl on win32 ? when the visual c debug window pops up after a
crash all i can see is assembly code ).  As reported by Josef the "null"
calls seem to be generated by ssl_io_suck_read() in ssl_engine_io.c,
but why does it happen ? is there some memory corruption going inside
mod_ssl that causes the structures to be set to null ? Apache with
aforementioned patch is "almost" stable but... i have the sensation that
there is a  problem somewhere else. 

- Enrico