Re: [squid-users] Strange problem with squid (an application is not working but squid doesn't login any error)

From: Denis BUCHER <dbucherml_at_hsolutions.ch>
Date: Sat, 31 Jul 2010 00:16:14 +0200

Le 30.07.2010 18:55, Amos Jeffries a écrit :
>> An application (from Garmin to update GPS devices) is working when
>> directly connected to Internet, but not working when using the proxy.
>> In the log files, the last log line from this PC is :
>>
>> 1280491186.070 1083 172.16.1.103 TCP_MISS/417 1874 POST
>> http://rmu.garmin.com/Rmu - NONE/- text/html
>>
>> And then, nothing more...
>>
>> It seems the application is communicating thru a POST and XML files,
>> but what could be the reason that makes it not working when using the
>> proxy ?
>> The application is doing some other requests before this one,
>> including CONNECT on port 443...

> It is using the HTTP/1.1-only header "Expect:". The HTTP/1.1 response to
> these headers is a 100, a 417 or a 200 status code. It completely breaks
> if the 100 status gets sent over any HTTP/1.0 software such as squid.

That's interesting I didn't know about that...

And if I read this :
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, it looks like
some kind of HTTP 1.2 because it says "Many older ... HTTP/1.1
applications do not understand the Expect header. "

> Squid is now just smart enough to identify those requests and follows
> the RFC 2616 requirement of sending back the HTTP/1.1 417 try-again
> response instead of wasting bandwidth ans server time before dying on
> the 100.
>
> If that is the last request that it dies on the client software is
> broken in the way it handles the 417. It is expected to retry an old
> HTTP/1.0 style POST with body data after receiving that status.

Ok if I understood correctly, my two next questions are :

1. Is there a way to verify if the client software is really broken
(this seems quite possible) ? For example tracing the packets ?

If I use for example Privoxy, can I see if it is broken or not ? I
suppose I have to see if after a "1.1 Expect", it is trying a 1.0 request ?

2. If the client software is broken, is it possible to make squid behave
in a way that would make the Expect header work ?

And after having found another of your posts, I think the answer to
point 2 is no ?
(http://www.mail-archive.com/squid-users@squid-cache.org/msg70631.html )

Because I am in an environment where this software MUST be used daily
and we really need squid to be used too...

Or if you had any other idea or suggestion, it would be really nice...

Denis
Received on Fri Jul 30 2010 - 22:16:27 MDT

This archive was generated by hypermail 2.2.0 : Sat Jul 31 2010 - 12:00:05 MDT