diff -Nur squid-2.5.STABLE3.orig/src/access_log.c squid-2.5.STABLE3/src/access_log.c --- squid-2.5.STABLE3.orig/src/access_log.c 2003-09-08 16:16:03.000000000 +0200 +++ squid-2.5.STABLE3/src/access_log.c 2003-09-08 16:23:16.000000000 +0200 @@ -268,12 +268,35 @@ { const char *client = NULL; char *user1 = NULL, *user2 = NULL; + + request_t * request = al->request; + const HttpHeader *req_hdr = &request->header; + + if (Config.onoff.log_fqdn) client = fqdncache_gethostbyaddr(al->cache.caddr, 0); if (client == NULL) client = inet_ntoa(al->cache.caddr); user1 = accessLogFormatName(al->cache.authuser); user2 = accessLogFormatName(al->cache.rfc931); + + logfilePrintf(logfile, "%s %s %s [%s] \"%s %s HTTP/%d.%d\" %d %ld \"%s\" \"%s\"", + client, + user2 ? user2 : dash_str, + user1 ? user1 : dash_str, + mkhttpdlogtime(&squid_curtime), + al->private.method_str, + al->url, + al->http.version.major, al->http.version.minor, + al->http.code, + (long int) al->cache.size, + httpHeaderHas( req_hdr, HDR_REFERER ) ? + httpHeaderGetStr( req_hdr, HDR_REFERER ) : + dash_str, // Referer if we have it, else dash_str. + httpHeaderHas( req_hdr, HDR_USER_AGENT ) ? + httpHeaderGetStr( req_hdr, HDR_USER_AGENT ) : + dash_str ); // User-Agent if we have it, else dash_str. + logfilePrintf(logfile, "%s %s %s [%s] \"%s %s HTTP/%d.%d\" %d %ld %s:%s", client, user2 ? user2 : dash_str, @@ -286,6 +309,7 @@ (long int) al->cache.size, log_tags[al->cache.code], hier_strings[al->hier.code]); + safe_free(user1); safe_free(user2); } diff -Nur squid-2.5.STABLE3.orig/src/client_side.c squid-2.5.STABLE3/src/client_side.c --- squid-2.5.STABLE3.orig/src/client_side.c 2003-09-08 16:16:03.000000000 +0200 +++ squid-2.5.STABLE3/src/client_side.c 2003-09-08 16:20:20.000000000 +0200 @@ -815,6 +815,9 @@ http->al.http.version = request->http_ver; http->al.headers.request = xstrdup(mb.buf); http->al.hier = request->hier; + + http->al.request = request; + if (request->auth_user_request) { if (authenticateUserRequestUsername(request->auth_user_request)) http->al.cache.authuser = xstrdup(authenticateUserRequestUsername(request->auth_user_request)); diff -Nur squid-2.5.STABLE3.orig/src/structs.h squid-2.5.STABLE3/src/structs.h --- squid-2.5.STABLE3.orig/src/structs.h 2003-09-08 16:16:03.000000000 +0200 +++ squid-2.5.STABLE3/src/structs.h 2003-09-08 16:20:20.000000000 +0200 @@ -1043,6 +1043,9 @@ struct { const char *method_str; } private; + + request_t * request; + HierarchyLogEntry hier; };