Mercurial > hg > nginx
comparison src/http/ngx_http_cache.h @ 7704:847fd35f94de
Cache: reset c->body_start when reading a variant on Vary mismatch.
Previously, a variant not present in shared memory and stored on disk using a
secondary key was read using c->body_start from a variant stored with a main
key. This could result in critical errors "cache file .. has too long header".
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Fri, 04 Aug 2017 19:37:37 +0300 |
parents | ccb5ff87ab3e |
children | 3781de64e747 |
comparison
equal
deleted
inserted
replaced
7703:da5e3f5b1673 | 7704:847fd35f94de |
---|---|
78 | 78 |
79 ngx_str_t etag; | 79 ngx_str_t etag; |
80 ngx_str_t vary; | 80 ngx_str_t vary; |
81 u_char variant[NGX_HTTP_CACHE_KEY_LEN]; | 81 u_char variant[NGX_HTTP_CACHE_KEY_LEN]; |
82 | 82 |
83 size_t buffer_size; | |
83 size_t header_start; | 84 size_t header_start; |
84 size_t body_start; | 85 size_t body_start; |
85 off_t length; | 86 off_t length; |
86 off_t fs_size; | 87 off_t fs_size; |
87 | 88 |