From 701a54c177466c9cbcb82f68c27880281850bd93 Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Thu, 15 Mar 2018 21:08:29 +0300 Subject: HTTP parser: excluding leading and trailing tabs from field values. As required by RFC 7230. --- src/nxt_http_parse.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/nxt_http_parse.c b/src/nxt_http_parse.c index 2bd821b8..05254506 100644 --- a/src/nxt_http_parse.c +++ b/src/nxt_http_parse.c @@ -618,7 +618,9 @@ nxt_http_parse_field_value(nxt_http_request_parse_t *rp, u_char **pos, return NXT_AGAIN; } - if (*p != ' ') { + ch = *p; + + if (ch != ' ' && ch != '\t') { break; } @@ -662,7 +664,8 @@ nxt_http_parse_field_value(nxt_http_request_parse_t *rp, u_char **pos, *pos = p; if (nxt_fast_path(p != start)) { - while (p[-1] == ' ') { + + while (p[-1] == ' ' || p[-1] == '\t') { p--; } } -- cgit