Re: APT do not work with Squid as a proxy because of pipelining default
On 2010-05-19, Goswin von Brederlow <firstname.lastname@example.org> wrote:
> Reading that I don't think that is really a pipelining issue. You do not
> need pipelineing for it to work. The real problem is keep-alive. The
> connection isn't destroyed after each request so you can put multiple
> requests into the stream and exploit different brokenness in different
> parsers along the way.
Those are bugs in the servers that allow that output, though.
> I think you have failed to show that pipelining is broken. What seems
> "broken" is Keep-Alive. Do you suggest we stop using Keep-Alive to
> prevent broken parsers from being exploited? Make a full 3-way handshake
> for every request?
I think we would want keep-alive with a pipeline depth of 1 (i.e. send the
new request after the old one was processed). I'd rather think that
TCP slow start is a problem if you avoid keepalive than the full 3-way
handshake (which is annoying too). Concurrent requests put an unreasonable
load onto the mirrors, so we should avoid that.