Re: [squid-users] chunked encoding is not working after squid-2.6Stable9

From: Adrian Chadd <adrian@dont-contact.us>
Date: Sat, 8 Dec 2007 12:59:03 +0900

I didn't think that a transfer-encoded response was valid to a HTTP/1.1
request.

The latest Squid-2.6 will decode the chunked response and return a valid HTTP/1.0
body (minus chunking.)

Its possible the server and client application are broken?

Adrian

On Fri, Dec 07, 2007, sekar it wrote:
> Hello all,
>
> We have an application that uses http proxy. It uses http version 1.0 for
> requests and the server sends a response (HTTP/1.0) with chunked transfer
> encoding. The application worked upto squid-2.6STABLE9 as I understand it
> does not handle the chunked transfer encoding.
>
> Currently I am using squid-2.6STABLE16 and the application hangs while
> connecting to the server. When I change the code to disable the handling of
> chunked encoding ( httpState->flags.chunked = 0; in http.c) the application
> works.
>
> What could be the issue, is it a problem with the application or squid
> proxy.
>
> The relavant debug message is attached.
>
> Thanks in advance,
> Sekar

> 2007/12/07 14:46:17| httpStart: "GET http://172.16.1.25/CONNECT?IP=172.16.1.25:8060"
> 2007/12/07 14:46:17| httpSendRequest: FD 16: httpState 0x84b6578.
> 2007/12/07 14:46:17| httpBuildRequestHeader: range specs: (nil), cachable: 0; we_do_ranges: 0
> 2007/12/07 14:46:17| httpBuildRequestHeader: User-Agent: Tclient
> 2007/12/07 14:46:17| httpBuildRequestHeader: Host: 63.82.164.12:80
> 2007/12/07 14:46:17| httpSendRequest: FD 16:
> GET /CONNECT?IP=172.16.1.25:8060 HTTP/1.0
> User-Agent: Tclient
> Host: 172.16.1.25
> Via: 1.0 localhost:3128 (squid/2.6.STABLE16)
> X-Forwarded-For: 172.16.1.43
> Cache-Control: max-age=259200
> Connection: keep-alive
>
>
> 2007/12/07 14:46:18| httpSendComplete: FD 16: size 216: errflag 0.
> 2007/12/07 14:46:18| httpReadReply: FD 16: len 186.
> 2007/12/07 14:46:18| ctx: enter level 0: 'http://172.16.1.25/CONNECT?IP=172.16.1.25:8060'
> 2007/12/07 14:46:18| httpProcessReplyHeader: key '5F3106F813A29F8638A7300CE42F9776'
> 2007/12/07 14:46:18| GOT HTTP REPLY HDR:
> ---------
> HTTP/1.0 200 OK
> Server: Tserver
> Pragma: no-cache, CID=708, HTTPTUN=172.16.1.25
> Pragma: CID=708
> Pragma: HTTPTUN=172.16.1.25
> Cache-Control: no-cache
> Transfer-Encoding: chunked
>
>
> ----------
> 2007/12/07 14:46:18| httpProcessReplyHeader: HTTP CODE: 200
> 2007/12/07 14:46:18| ctx: exit level 0
> 2007/12/07 14:46:18| httpStart: "POST http://172.16.1.25/PASS?CID=708"
> 2007/12/07 14:46:18| httpSendRequest: FD 17: httpState 0x84baa68.
> 2007/12/07 14:46:18| httpBuildRequestHeader: range specs: (nil), cachable: 0; we_do_ranges: 0
> 2007/12/07 14:46:18| httpBuildRequestHeader: User-Agent: Tclient
> 2007/12/07 14:46:18| httpBuildRequestHeader: Host: 172.16.1.25:80
> 2007/12/07 14:46:18| httpBuildRequestHeader: Content-Length: 60
> 2007/12/07 14:46:18| httpBuildRequestHeader: Content-Type: application/octet-stream
> 2007/12/07 14:46:18| httpSendRequest: FD 17:
> POST /PASS?CID=708 HTTP/1.0
> User-Agent: Tclient
> Host: 172.16.1.25
> Content-Length: 60
> Content-Type: application/octet-stream
> Via: 1.0 localhost:3128 (squid/2.6.STABLE16)
> X-Forwarded-For: 172.16.1.43
> Cache-Control: max-age=259200
> Connection: keep-alive
>
>
> 2007/12/07 14:46:19| httpSendRequestEntry: FD 17: size 261: errflag 0.
> 2007/12/07 14:46:19| httpSendRequestEntry: FD 17: size 60: errflag 0.
> 2007/12/07 14:46:19| httpSendRequestEntryDone: FD 17
> 2007/12/07 14:46:19| httpSendRequestEntryDone: No brokenPosts list
> 2007/12/07 14:46:19| httpSendComplete: FD 17: size 0: errflag 0.
> 2007/12/07 14:46:19| httpReadReply: FD 17: len 152.
> 2007/12/07 14:46:19| ctx: enter level 0: 'http://172.16.1.25/PASS?CID=708'
> 2007/12/07 14:46:19| httpProcessReplyHeader: key '3C05F14C720705B2F1EAD5167DF0900C'
> 2007/12/07 14:46:19| GOT HTTP REPLY HDR:
> ---------
> HTTP/1.0 200 OK
> Server: Tserver
> Pragma: no-cache
> Cache-Control: no-cache
> Content-Type: application/octet-stream
> Content-Length: 12
>
>
> ----------
> 2007/12/07 14:46:19| httpProcessReplyHeader: HTTP CODE: 200
> 2007/12/07 14:46:19| ctx: exit level 0
> 2007/12/07 14:46:19| httpStart: "POST http://172.16.1.25/PASS?CID=708"
> 2007/12/07 14:46:19| httpSendRequest: FD 17: httpState 0x84baa68.
> 2007/12/07 14:46:19| httpBuildRequestHeader: range specs: (nil), cachable: 0; we_do_ranges: 0
> 2007/12/07 14:46:19| httpBuildRequestHeader: User-Agent: Tclient
> 2007/12/07 14:46:19| httpBuildRequestHeader: Host: 172.16.1.25:80
> 2007/12/07 14:46:19| httpBuildRequestHeader: Content-Length: 13
> 2007/12/07 14:46:19| httpBuildRequestHeader: Content-Type: application/octet-stream
> 2007/12/07 14:46:19| httpSendRequest: FD 17:
> POST /PASS?CID=708 HTTP/1.0
> User-Agent: Tclient
> Host: 172.16.1.25
> Content-Length: 13
> Content-Type: application/octet-stream
> Via: 1.0 localhost:3128 (squid/2.6.STABLE16)
> X-Forwarded-For: 172.16.1.43
> Cache-Control: max-age=259200
> Connection: keep-alive
>
>
> 2007/12/07 14:46:19| httpSendRequestEntry: FD 17: size 261: errflag 0.
> 2007/12/07 14:46:19| httpSendRequestEntry: FD 17: size 13: errflag 0.
> 2007/12/07 14:46:19| httpSendRequestEntryDone: FD 17
> 2007/12/07 14:46:19| httpSendRequestEntryDone: No brokenPosts list
> 2007/12/07 14:46:19| httpSendComplete: FD 17: size 0: errflag 0.
> 2007/12/07 14:46:20| httpReadReply: FD 17: len 152.
> 2007/12/07 14:46:20| ctx: enter level 0: 'http://172.16.1.25/PASS?CID=708'
> 2007/12/07 14:46:20| httpProcessReplyHeader: key 'EB63C7377B101C957A89E3B5DB15DA11'
> 2007/12/07 14:46:20| GOT HTTP REPLY HDR:
> ---------
> HTTP/1.0 200 OK
> Server: Tserver
> Pragma: no-cache
> Cache-Control: no-cache
> Content-Type: application/octet-stream
> Content-Length: 12
>
>
> ----------
> 2007/12/07 14:46:20| httpProcessReplyHeader: HTTP CODE: 200
> 2007/12/07 14:46:20| ctx: exit level 0
> 2007/12/07 14:46:20| httpReadReply: FD 16: len 29.
> 2007/12/07 14:46:20| Chunk header '17
> '
> 2007/12/07 14:46:20| Chunk size 23
> 2007/12/07 14:46:20| Chunk header '
> '
> 2007/12/07 14:46:20| httpReadReply: FD 16: len 38.
> 2007/12/07 14:46:20| Chunk header '
> 20
> '
> 2007/12/07 14:46:20| Chunk size 32
> 2007/12/07 14:46:20| Chunk header '

-- 
- Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support -
- $25/pm entry-level VPSes w/ capped bandwidth charges available in WA -
Received on Fri Dec 07 2007 - 20:53:04 MST

This archive was generated by hypermail pre-2.1.9 : Tue Jan 01 2008 - 12:00:01 MST