nginx/src/event
Maxim Dounin 8e67fb4226 Event pipe: fixed handling of buf_to_file data.
Input filter might free a buffer if there is no data in it, and in case
of first buffer (used for cache header and request header, aka p->buf_to_file)
this resulted in cache corruption.  Buffer memory was reused to read upstream
response before headers were written to disk.

Fix is to avoid moving pointers in ngx_event_pipe_add_free_buf() to a buffer
start if we were asked to free a buffer used by p->buf_to_file.

This fixes occasional cache file corruption, usually resulted
in "cache file ... has md5 collision" alerts.

Reported by Anatoli Marinov.
2012-10-30 11:14:24 +00:00
..
modules Fixed compilation with -Wmissing-prototypes. 2012-07-24 15:09:54 +00:00
ngx_event.c Explicitly ignore returned value from close() in ngx_event_core_init_conf(). 2012-08-07 13:57:04 +00:00
ngx_event.h debug_connection: added the IPv6 and UNIX-domain socket support. 2012-04-29 22:02:18 +00:00
ngx_event_accept.c Accept moderation in case of EMFILE/ENFILE. 2012-05-11 13:33:06 +00:00
ngx_event_acceptex.c Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_busy_lock.c Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_busy_lock.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_connect.c Fixed error handling in ngx_event_connect_peer(). 2012-01-30 11:12:52 +00:00
ngx_event_connect.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_connectex.c Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_mutex.c Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_openssl.c OCSP stapling: log error data in ngx_ssl_error(). 2012-10-01 12:50:36 +00:00
ngx_event_openssl.h SSL: the "ssl_verify_client" directive parameter "optional_no_ca". 2012-10-03 15:24:08 +00:00
ngx_event_openssl_stapling.c OCSP stapling: build fixes. 2012-10-01 13:54:13 +00:00
ngx_event_pipe.c Event pipe: fixed handling of buf_to_file data. 2012-10-30 11:14:24 +00:00
ngx_event_pipe.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_posted.c Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_posted.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_event_timer.c Fixed signed integer overflows in timer code (ticket #145). 2012-04-06 23:46:09 +00:00
ngx_event_timer.h Copyright updated. 2012-01-18 15:07:43 +00:00