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