Mercurial > hg > nginx
changeset 5891:87ada3ba1392
SPDY: stop emitting multiple empty header values.
Previously, nginx would emit empty values in a header with multiple,
NULL-separated values.
This is forbidden by the SPDY specification, which requires headers to
have either a single (possibly empty) value or multiple, NULL-separated
non-empty values.
Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
author | Piotr Sikora <piotr@cloudflare.com> |
---|---|
date | Mon, 27 Oct 2014 14:25:56 -0700 |
parents | 049c3ea24480 |
children | 42520df85ebb |
files | src/http/ngx_http_spdy_filter_module.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_spdy_filter_module.c Tue Oct 28 21:58:49 2014 +0300 +++ b/src/http/ngx_http_spdy_filter_module.c Mon Oct 27 14:25:56 2014 -0700 @@ -493,9 +493,13 @@ continue; } - *last++ = '\0'; + if (h[j].value.len) { + if (last != p) { + *last++ = '\0'; + } - last = ngx_cpymem(last, h[j].value.data, h[j].value.len); + last = ngx_cpymem(last, h[j].value.data, h[j].value.len); + } h[j].hash = 2; }