On 19/04/2012 9:06 p.m., Dirk Högemann wrote:
Hi, I am trying to run SQUID with ESI support (parser is custom).
Squid version?
This works fine until processed pages reference for example Javascript files with filesize bigger than 64K. In that case SQUID crashes. LOG: 2012/04/19 10:47:19.295| clientStreamCallback: Calling 1 with cbdata 0x85ecfac from node 0x85dbde0 2012/04/19 10:47:19.295| esiProcessStream: Processing thisNode 0x86345d0 context 0x85ecf20 offset 65126 length 4096 2012/04/19 10:47:19.295| assertion failed: String.cc:197: "len_ + len< 65536" Are there any workaround for this issue?
No. Squid has a hard-coded string length limit of 64KB. ESI needs a re-write to work without the string buffer, possibly to stream the construced reply straight to client or chunk it into 64KB pieces.
Or is it possible to configure SQUID in a way to skip ESI processing for example files/content by url path?
ESI processing is determined by the origin web server. The Surrogate-* header targets a particular surrogate proxy to initiate ESI processing (or not) per-request.
PS. "SQUID" is an electronic component like a diode. "Squid" is the proxy. Amos