[nginx] SPDY: stop emitting multiple empty header values.
Valentin Bartenev
vbart at nginx.com
Tue Oct 28 19:03:17 UTC 2014
details: http://hg.nginx.org/nginx/rev/87ada3ba1392
branches:
changeset: 5891:87ada3ba1392
user: Piotr Sikora <piotr at cloudflare.com>
date: Mon Oct 27 14:25:56 2014 -0700
description:
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 at cloudflare.com>
diffstat:
src/http/ngx_http_spdy_filter_module.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diffs (19 lines):
diff -r 049c3ea24480 -r 87ada3ba1392 src/http/ngx_http_spdy_filter_module.c
--- 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 @@ ngx_http_spdy_header_filter(ngx_http_req
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;
}
More information about the nginx-devel
mailing list