filter chain instead of just down the rest of the chain. This fix will
speed up some unnecessary overhead introduced in the last patch.
Suggested by: Cliff Woolley <jwoolley@apache.org>
to do some trickery with the server_context to make sure it is always
valid within the current thread.
This patch makes sure the server_context is created in apache's
post_read_request hook phase, and then registeres a cleanup that
will NULL out the server context when the request goes out of scope.
Then, inside the output filters, if the server_context is null we
throw an error. Finally, instead of saving the output filter in
the server_context, now we store the entire request_rec pointer
in there.
POST bodies appear to be working now, although they are very inefficient.
The input filter is still just realloc()ing for whatever data comes
down the input pipe, and then sending this to PHP. This means that
we are doing some really nasty memory management on big POST bodies.
For now this it allows for unlimited input bodies, which means that
a big POST could potentially DoS a box by making it run out of memory.
We might want to put a limit on here just in case, at least until
we figure out how to consume input data more efficiently into php.
Apache 2 the input and output filter contexts are kept unique. We now
only depend on SG(server_context) for each request, and assume that
the same thread will process the entire request. At some point it
would be wise to separate the input and output contexts.
an MH_DYLIB. As all PPC code is relocatable, we don't use the libtool
based shared build but go a static route. Goodbye libtool!
# I'm committing this to enable widespear testing.
# Anyone have any ideas on how to easily backport this to 4.2.0?
include fastcgi library for ease of windows builds
NOTE: included fastcgi library is modified for thread safety, but
fastcgi support in cgi_main.c is only written for single
threaded serving. This does not present any issue for using
fastcgi.