Extend cache dump: "!" as type for non-terminals, new flag "C" for config-provided and log source when applicable.

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
Dominik Derigs
2021-12-30 10:53:24 +01:00
committed by Simon Kelley
parent a6c0edd4f4
commit 8f2a62b386

View File

@@ -1757,8 +1757,8 @@ void dump_cache(time_t now)
{ {
struct crec *cache ; struct crec *cache ;
int i; int i;
my_syslog(LOG_INFO, "Host Address Flags Expires"); my_syslog(LOG_INFO, "Host Address Flags Expires Source");
my_syslog(LOG_INFO, "------------------------------ ---------------------------------------- --------- ------------------------"); my_syslog(LOG_INFO, "------------------------------ ---------------------------------------- ---------- ------------------------ ------------");
for (i=0; i<hash_size; i++) for (i=0; i<hash_size; i++)
for (cache = hash_table[i]; cache; cache = cache->hash_next) for (cache = hash_table[i]; cache; cache = cache->hash_next)
@@ -1816,7 +1816,10 @@ void dump_cache(time_t now)
else if (cache->flags & F_DNSKEY) else if (cache->flags & F_DNSKEY)
t = "K"; t = "K";
#endif #endif
p += sprintf(p, "%-40.40s %s%s%s%s%s%s%s%s%s ", a, t, else /* non-terminal */
t = "!";
p += sprintf(p, "%-40.40s %s%s%s%s%s%s%s%s%s%s ", a, t,
cache->flags & F_FORWARD ? "F" : " ", cache->flags & F_FORWARD ? "F" : " ",
cache->flags & F_REVERSE ? "R" : " ", cache->flags & F_REVERSE ? "R" : " ",
cache->flags & F_IMMORTAL ? "I" : " ", cache->flags & F_IMMORTAL ? "I" : " ",
@@ -1824,14 +1827,16 @@ void dump_cache(time_t now)
cache->flags & F_NEG ? "N" : " ", cache->flags & F_NEG ? "N" : " ",
cache->flags & F_NXDOMAIN ? "X" : " ", cache->flags & F_NXDOMAIN ? "X" : " ",
cache->flags & F_HOSTS ? "H" : " ", cache->flags & F_HOSTS ? "H" : " ",
cache->flags & F_CONFIG ? "C" : " ",
cache->flags & F_DNSSECOK ? "V" : " "); cache->flags & F_DNSSECOK ? "V" : " ");
#ifdef HAVE_BROKEN_RTC #ifdef HAVE_BROKEN_RTC
p += sprintf(p, "%lu", cache->flags & F_IMMORTAL ? 0: (unsigned long)(cache->ttd - now)); p += sprintf(p, "%-24lu", cache->flags & F_IMMORTAL ? 0: (unsigned long)(cache->ttd - now));
#else #else
p += sprintf(p, "%s", cache->flags & F_IMMORTAL ? "\n" : ctime(&(cache->ttd))); p += sprintf(p, "%-24.24s", cache->flags & F_IMMORTAL ? "" : ctime(&(cache->ttd)));
/* ctime includes trailing \n - eat it */
*(p-1) = 0;
#endif #endif
if(cache->flags & (F_HOSTS | F_CONFIG) && cache->uid > 0)
p += sprintf(p, " %s", record_source(cache->uid));
my_syslog(LOG_INFO, "%s", daemon->namebuff); my_syslog(LOG_INFO, "%s", daemon->namebuff);
} }
} }