]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/AccessLogEntry.cc
2 #include "AccessLogEntry.h"
3 #include "HttpRequest.h"
4 #include "ssl/support.h"
7 AccessLogEntry::SslDetails::SslDetails(): user(NULL
), bumpMode(::Ssl::bumpEnd
)
14 AccessLogEntry::getLogClientIp(char *buf
, size_t bufsz
) const
16 #if FOLLOW_X_FORWARDED_FOR
17 if (Config
.onoff
.log_uses_indirect_client
&& request
)
18 request
->indirect_client_addr
.NtoA(buf
, bufsz
);
21 if (tcpClient
!= NULL
)
22 tcpClient
->remote
.NtoA(buf
, bufsz
);
23 else if (cache
.caddr
.IsNoAddr()) // e.g., ICAP OPTIONS lack client
26 cache
.caddr
.NtoA(buf
, bufsz
);
29 AccessLogEntry::~AccessLogEntry()
31 safe_free(headers
.request
);
34 safe_free(adapt
.last_meta
);
37 safe_free(headers
.reply
);
38 safe_free(cache
.authuser
);
40 safe_free(headers
.adapted_request
);
41 HTTPMSGUNLOCK(adapted_request
);
44 HTTPMSGUNLOCK(request
);
46 HTTPMSGUNLOCK(icap
.reply
);
47 HTTPMSGUNLOCK(icap
.request
);
49 cbdataReferenceDone(cache
.port
);