diff -uN squid-2.6.PRE2/src/access_log.c squid-2.6.PRE2-logRedirectorOutput/src/access_log.c --- squid-2.6.PRE2/src/access_log.c 2006-06-03 17:04:53.000000000 -0400 +++ squid-2.6.PRE2-logRedirectorOutput/src/access_log.c 2006-06-13 11:52:17.000000000 -0400 @@ -339,6 +339,8 @@ LFT_EXT_LOG, #endif + LFT_REDIRECTOR_OUTPUT, /* redirector output */ + LFT_PERCENT /* special string cases for escaped chars */ } logformat_bcode_t; @@ -437,6 +439,8 @@ {"ea", LFT_EXT_LOG}, #endif + {"ro", LFT_REDIRECTOR_OUTPUT}, /* redirector output */ + {"%", LFT_PERCENT}, {NULL, LFT_NONE} /* this must be last */ @@ -656,6 +660,11 @@ break; #endif + case LFT_REDIRECTOR_OUTPUT: + out = al->redirector_output; + quote = 0; + break; + case LFT_PERCENT: out = "%"; break; diff -uN squid-2.6.PRE2/src/redirect.c squid-2.6.PRE2-logRedirectorOutput/src/redirect.c --- squid-2.6.PRE2/src/redirect.c 2006-05-15 22:18:33.000000000 -0400 +++ squid-2.6.PRE2-logRedirectorOutput/src/redirect.c 2006-06-13 12:50:44.000000000 -0400 @@ -67,7 +67,15 @@ valid = cbdataValid(r->data); cbdataUnlock(r->data); if (valid) - r->handler(r->data, reply); + { + clientHttpRequest *http = r->data; + *t = ' '; + safe_free(http->al.redirector_output); + http->al.redirector_output = strdup(reply); + *t = '\0'; + debug(61, 5) ("redirectHandleRead valid: {%s}\n", http->al.redirector_output ? http->al.redirector_output : ""); + r->handler(r->data, reply); + } redirectStateFree(r); } diff -uN squid-2.6.PRE2/src/structs.h squid-2.6.PRE2-logRedirectorOutput/src/structs.h --- squid-2.6.PRE2/src/structs.h 2006-06-06 13:40:02.000000000 -0400 +++ squid-2.6.PRE2-logRedirectorOutput/src/structs.h 2006-06-13 11:15:46.000000000 -0400 @@ -1159,6 +1159,7 @@ HierarchyLogEntry hier; HttpReply *reply; request_t *request; + const char *redirector_output; }; struct _clientHttpRequest {