HTTP 1.1 parser whitespace in header value

Marin Stavrev mstavrev at gmail.com
Wed May 6 12:45:01 UTC 2020


I had raised similar problem on December, 2019 -
http://mailman.nginx.org/pipermail/nginx-devel/2020-January/012942.html but
it had been put down as no other complains had been filed about it.

On Wed, May 6, 2020, 14:00 Андрей Аладьев <aladjev.andrew at gmail.com> wrote:

> Hello. I've read nginx HTTP parser and found the following line:
>
> /* header value */
> case sw_value:
>   switch (ch) {
>     case ' ':
>       r->header_end = p;
>       state = sw_space_after_value;
>       break;
>
> It means that nginx HTTP parser will finish header value immediately after
> whitespace. But RFC 7230 declares the following:
>
> header-field   = field-name ":" OWS field-value OWS
> field-value    = *( field-content / obs-fold )
> field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
> field-vchar    = VCHAR / obs-text
>
> "field-vchar [ 1*( SP / HTAB ) field-vchar ]" I think this ABNF means
> header value can have SP or HTAB between visible chars.
>
> So it looks like nginx HTTP parser is broken. What do you think about it?
> Thank you.
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20200506/50f357f1/attachment.htm>


More information about the nginx-devel mailing list