diff --git a/src/cf.data.pre b/src/cf.data.pre index 51c90a376e8..dcea849a877 100644 --- a/src/cf.data.pre +++ b/src/cf.data.pre @@ -4781,6 +4781,7 @@ DOC_START >p Client source port >eui Client source EUI (MAC address, EUI-48 or EUI-64 identifier) >la Local IP address the client connected to + >lA Local FQDN for address the client connected to >lp Local port number the client connected to >qos Client connection TOS/DSCP value set by Squid >nfmark Client connection netfilter packet MARK set by Squid @@ -4805,6 +4806,7 @@ DOC_START tcpClient->local.toStr(tmp, sizeof(tmp)); break; + case LFT_CLIENT_LOCAL_FQDN: + // May be too late for ours, but FQDN_LOOKUP_IF_MISS might help the next caller. + if (al->tcpClient) + out = fqdncache_gethostbyaddr(al->tcpClient->local, FQDN_LOOKUP_IF_MISS); + break; + case LFT_CLIENT_LOCAL_TOS: if (al->tcpClient) { sb.appendf("0x%x", static_cast(al->tcpClient->tos)); @@ -532,6 +539,12 @@ Format::Format::assemble(MemBuf &mb, const AccessLogEntry::Pointer &al, int logS out = al->hier.tcpServer->local.toStr(tmp, sizeof(tmp)); break; + case LFT_SERVER_LOCAL_FQDN: + // May be too late for ours, but FQDN_LOOKUP_IF_MISS might help the next caller. + if (al->hier.tcpServer) + out = fqdncache_gethostbyaddr(al->hier.tcpServer->local, FQDN_LOOKUP_IF_MISS); + break; + case LFT_SERVER_LOCAL_PORT: if (al->hier.tcpServer) { outint = al->hier.tcpServer->local.port(); diff --git a/src/format/Token.cc b/src/format/Token.cc index 36b6a351562..baccd9cac16 100644 --- a/src/format/Token.cc +++ b/src/format/Token.cc @@ -49,12 +49,14 @@ static TokenTableEntry TokenTable1C[] = { static TokenTableEntry TokenTable2C[] = { TokenTableEntry(">la", LFT_CLIENT_LOCAL_IP), - TokenTableEntry("la", LFT_LOCAL_LISTENING_IP), + TokenTableEntry(">lA", LFT_CLIENT_LOCAL_FQDN), TokenTableEntry(">lp", LFT_CLIENT_LOCAL_PORT), + + TokenTableEntry("la", LFT_LOCAL_LISTENING_IP), TokenTableEntry("lp", LFT_LOCAL_LISTENING_PORT), - /*TokenTableEntry( "lA", LFT_LOCAL_NAME ), */ TokenTableEntry("