Welcome! Log In Create A New Profile

Advanced

Re: implicit *LWS ?

Maxim Dounin
October 07, 2010 12:08PM
Hello!

On Thu, Oct 07, 2010 at 07:35:21PM +0400, Alexandre Snarskii wrote:

> On Wed, Oct 06, 2010 at 05:42:29PM +0400, Maxim Dounin wrote:
> > >
> > > то есть nginx при проксировании обрезал весь контент поля начиная с CRLF.
> > >
> > > То же самое происходит если пытаться передавать запрос на fastcgi backend,
> > > в параметре HTTP_ACCEPT я вижу только text/plain, text/html, но не */*.
> > > С другими хидерами происходит то же самое - как только встречается LWS -
> > > поле "обрезается", что для proxy_pass, что для fastcgi_pass.
> > >
> > > Вопрос: это бага или фича ? Если фича - обойти как-нибудь можно ?
> >
> > Это фича, LWS не поддерживаются, да и в HTTPbis они deprecated.
>
> thanks.
> Хотя, jimho, не поддерживать deprecated и not recommended headers - это
> все-таки нарушение robustness principle (be liberal in what you accept).

Кто ж спорит (хотя на самом деле с robustness principle нужно быть
очень осторожным, ибо он любит оборачиваться security flaws). Но
хорошего патча нет, а приоритет у этой задачи всилу описанных
обстоятельств, скажем так, низкий.

> > Если очень нужно чтобы заработало вот прям здесь и сейчас -
> > где-то в районе nginx@ пробегал патч, но он ужасненький:
>
> "Он хуже, он просто кю!".
>
> > http://nginx.org/pipermail/nginx/2010-September/022608.html
>
> См. аттач. Это пока "концепт-кар", толком не оттестированный, но, jimho,
> более правильный.
> Куда пришлось залезть:
> а) изменить state-машину парсера заголовков для проверки LWS,
> с добавлением (новой) точки выхода - incomplete (в случаях когда
> буфера не хватает для read-ahead)

Я уже писал об этом Петру в том треде, и тут повторю: мне
вообще не нравится идея look-ahead, она плохая и негодная.

> б) изменить логику чтения запроса, разрешив чтение в случае когда
> буферизовано менее двух байт.

Так нельзя - эти два байта вполне могут, скажем, вообще завершать
запрос.

> > А что за чудо генерит такие запросы?
>
> Одно доморощенное чудо когда-то решило, что User-Agent стоит
> разбить на две строки, "ведь это ж rfc!!" :) А когда встал вопрос
> о том, а можем ли мы делать content-switching по версии агента -
> эта грабель и вылезла.

Ok, понятно.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

implicit *LWS ?

Alexandre Snarskii October 06, 2010 07:50AM

Re: implicit *LWS ?

Valery Kholodkov October 06, 2010 08:54AM

Re: implicit *LWS ?

Alexandre Snarskii October 06, 2010 09:58AM

Re: implicit *LWS ?

Maxim Dounin October 06, 2010 09:44AM

Re: implicit *LWS ?

Alexandre Snarskii October 07, 2010 11:36AM

Re: implicit *LWS ?

Maxim Dounin October 07, 2010 12:08PM

Re: implicit *LWS ?

Alexandre Snarskii October 08, 2010 11:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 213
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready