Re: [squid-users] Missing content-length header for POST and PUT

2011-02-08 Thread David Gubler

On 24.01.2011 21:32, Henrik Nordström wrote:

Sure. Revision 11172. Drops those method checks.


Thanks guys, you're great! Problem is solved with the latest version 
from the repository.


(sorry, it took me a while to actually find time to test it...)

David




Re: [squid-users] Missing content-length header for POST and PUT

2011-01-24 Thread Amos Jeffries

On 24/01/11 13:28, Henrik Nordström wrote:

fre 2011-01-21 klockan 05:45 +1300 skrev Amos Jeffries:


empty? No. If they have no content length indicated they have to be
assumed as being infinite length transfers. HTTP specs require this 411
reply message.


Not quite. Requests without an entity is always headers-only. The
infinite length is only on responses.


Doh. Of course they are. Thanks for that.




The client software is *supposed* to add a length and retry.


Yes.

But to be honest we do not really need to check that POST/PUT have a
request entity. This is mostly a relic from way back when request
entities were handled very special.



Can I expect a patch soon then?

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.10
  Beta testers wanted for 3.2.0.4


Re: [squid-users] Missing content-length header for POST and PUT

2011-01-24 Thread Henrik Nordström
tis 2011-01-25 klockan 02:01 +1300 skrev Amos Jeffries:

  But to be honest we do not really need to check that POST/PUT have a
  request entity. This is mostly a relic from way back when request
  entities were handled very special.
 
 
 Can I expect a patch soon then?

Sure. Revision 11172. Drops those method checks.

Also fixes a copy-paste adaptation bug related to this if
request_entities on is set in squid.conf.

Regards
Henrik



Re: [squid-users] Missing content-length header for POST and PUT

2011-01-23 Thread Henrik Nordström
fre 2011-01-21 klockan 05:45 +1300 skrev Amos Jeffries:

 empty? No. If they have no content length indicated they have to be 
 assumed as being infinite length transfers. HTTP specs require this 411 
 reply message.

Not quite. Requests without an entity is always headers-only. The
infinite length is only on responses.

 The client software is *supposed* to add a length and retry.

Yes.

But to be honest we do not really need to check that POST/PUT have a
request entity. This is mostly a relic from way back when request
entities were handled very special.

Regards
Henrik



[squid-users] Missing content-length header for POST and PUT

2011-01-20 Thread David Gubler

Hi list,

We're testing Squid (3.1.6) as a reverse proxy to accelerate our web 
site. Now we have discovered a major issue: Squid does not accept empty 
POSTs (and probably PUTs) that don't have a content-length header, and 
returns HTTP/411. All works fine if we bypass the proxy.


Since this is a reverse proxy setup, we cannot easily control all the 
clients - the reverse proxy just must accept such requests.


I have searched for this problem for quite some time and found about 15 
cases of users having the exact same issue, but no one has a solution 
(apart from changing all the clients, which we can't).


Is there a workaround? Because as it is, all I can do is ditch Squid and 
try a different proxy :(


Thanks!

David


Re: [squid-users] Missing content-length header for POST and PUT

2011-01-20 Thread Ralf Hildebrandt
* David Gubler d...@doodle.com:
 Hi list,
 
 We're testing Squid (3.1.6) as a reverse proxy to accelerate our web
 site. Now we have discovered a major issue: Squid does not accept
 empty POSTs (and probably PUTs) that don't have a content-length
 header, and returns HTTP/411. All works fine if we bypass the proxy.
 
 Since this is a reverse proxy setup, we cannot easily control all the
 clients - the reverse proxy just must accept such requests.

Have you tried varnish (just asking).
-- 
Ralf Hildebrandt
  Geschäftsbereich IT | Abteilung Netzwerk
  Charité - Universitätsmedizin Berlin
  Campus Benjamin Franklin
  Hindenburgdamm 30 | D-12203 Berlin
  Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
  ralf.hildebra...@charite.de | http://www.charite.de



Re: [squid-users] Missing content-length header for POST and PUT

2011-01-20 Thread David Gubler

On 20.01.2011 14:24, Ralf Hildebrandt wrote:

* David Gublerd...@doodle.com:

Hi list,

We're testing Squid (3.1.6) as a reverse proxy to accelerate our web
site. Now we have discovered a major issue: Squid does not accept
empty POSTs (and probably PUTs) that don't have a content-length
header, and returns HTTP/411. All works fine if we bypass the proxy.

Since this is a reverse proxy setup, we cannot easily control all the
clients - the reverse proxy just must accept such requests.


Have you tried varnish (just asking).


Not yet. Mainly because Varnish does not support SSL, which is something 
we need.
Actually, it's more complicated than that - the proxy should use SSL to 
contact the back-end if and only if the client did use SSL to contact 
the proxy; so we cannot just use an SSL terminator which sits in front 
of Varnish. Squid can do this within a single instance, using some ACL 
trickery.


David


Re: [squid-users] Missing content-length header for POST and PUT

2011-01-20 Thread Amos Jeffries

On 21/01/11 03:53, David Gubler wrote:

On 20.01.2011 14:24, Ralf Hildebrandt wrote:

* David Gublerd...@doodle.com:

Hi list,

We're testing Squid (3.1.6) as a reverse proxy to accelerate our web
site. Now we have discovered a major issue: Squid does not accept
empty POSTs (and probably PUTs) that don't have a content-length
header, and returns HTTP/411. All works fine if we bypass the proxy.


empty? No. If they have no content length indicated they have to be 
assumed as being infinite length transfers. HTTP specs require this 411 
reply message.


The client software is *supposed* to add a length and retry.



Since this is a reverse proxy setup, we cannot easily control all the
clients - the reverse proxy just must accept such requests.


Have you tried varnish (just asking).


Not yet. Mainly because Varnish does not support SSL, which is something
we need.
Actually, it's more complicated than that - the proxy should use SSL to
contact the back-end if and only if the client did use SSL to contact
the proxy; so we cannot just use an SSL terminator which sits in front
of Varnish. Squid can do this within a single instance, using some ACL
trickery.

David


You may require a 3.2 beta. They support HTTP/1.1 chunked coding much 
better which allows Squid to work around the unknown length.
3.1 series will only decode chunking and may get itself into worse 
states working around it.


Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.10
  Beta testers wanted for 3.2.0.4