Fix crash if a read event occur and the request args have been deleted
This could happen with the upload module if for a reason the upload
is aborted. In this case an internal redirect is done, but the request
still contains our read even handler.
Unfortunately the request args are nullified before calling this read
even handler. So we were crashing because we didn't check for id==null.
This patch fixes this issue.
Signed-off-by: Brice Figureau <brice@daysofwonder.com>
When we clean a node, we ask nginx to free the memory. On some
platform or no load there were great chance the memory wasn't
reused for something else.
With high load and on FreeBSD, the memory seems to be reused
immediatly and we jump in the middle of f*****g nowhere, and
we crash.
Thanks to Vladimir Getmanshchuk for his bug report.
Signed-off-by: Brice Figureau <brice@daysofwonder.com>
* Added a content handler that overrides the original handler (but calls it). It is
used to add our own read_event_handler.
* Implemented a read_event_handler that calls the original handler, and store the rest/content_length in our
own node.
* modified the different handlers to use the new node fields
* added new CHANGES
* support for lowercase or mixed case X-Progress-ID header or parameter (fixes IE lowercasing headers)
* report original HTTP error code in probe in case of upload error
* fix crash reported by Michal Drapiewski
This version contains:
* new timeout to remember connections after they are finished to be able
to report termination on this connection to upload progress probes
* handling of HTTP error 413 (request entity too large)