Hello,

I ahve a redirector defined in squid (squidGuard) and require
authentication into squid so I can track usernames.  This all works
fine!

I am trying to write a user requested override system for
squid/squidGuard and feel the best place to do this is in squid before I
call the redirector.

Does anyone know which module in squid actually calls the redirector?

I see the subroutine 'redirectStart' in redirector.c, and see code like
so:

    if (Config.onoff.redirector_bypass && redirectors->stats.queue_size)
{
        /* Skip redirector if there is one request queued */
        n_bypassed++;
        handler(data, NULL);
        return;
    }

I understand that this code is executed if the redirector_bypass TAG is
enabled and the 'redirector queue' is full, but thsi doesn't apply to my
configuration.

The only place that I see redirectStart called from client_side.c with
'redirectStart(http, clientRedirectDone, http)'.

For testing, I thought that I could bypass the redirector (i.e.
squidGuard) by adding:

        handler(data, NULL);
        return;

at the beginning of the redirectStart subroutine and recompiling squid,
but this didn't make any difference, squidGuard was still called.

So, does anyone know where and how squid handles redirection with a
redirector?  Is redirectStart only visited once for each user session
and then the redirector information cached?

Am I barking up the wrong tree, and should I be looking to bypass the
redirector in squidGuard?

Any help and ideas will be greatly appreciated,

Murrah Boswell
Systems Administrator
Wild Apache Internet Services

Reply via email to