[squid-users] Bug with direct proxying in transparent mode?

From: Michael Graham <mgraham_at_bloxx.com>
Date: Tue, 03 Jul 2012 17:13:45 +0100

Hi all,

I am running squid 3.1.12 and I have noticed that if I connect to squid
and make a request to itself while the box has "transparent" enabled on
the port it causes squid to run out of file descriptors.

So for example:

$ telnet localhost 6045
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET http://localhost:6045 HTTP/1.0

I then see:

$ sudo ls /proc/<pid of (squid)>/fd | wc -l
932

And:

2012/07/03 17:03:21| client_side.cc(3032) okToAccept: WARNING! Your
cache is running out of filedescriptors
2012/07/03 17:03:21| WARNING: Forwarding loop detected for:
GET / HTTP/1.1
Host: localhost.alba.local:6045

I noticed that the code has this comment in src/client_side_reply.cc:

/// Deny loops for accelerator and interceptor. TODO: deny in all modes?
if (r->flags.loopdetect &&
        (http->flags.accel || http->flags.intercepted)) {

Seems like either the answer to the TODO is yes or for this request we
should have flags.intercepted set (not the first one request but the
next one).

Cheers,

-- 
Michael Graham <mgraham_at_bloxx.com>
Received on Wed Jul 04 2012 - 08:18:19 MDT

This archive was generated by hypermail 2.2.0 : Wed Jul 04 2012 - 12:00:02 MDT