mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
Reuse rdatset->ttl when dumping ancient RRsets
Rather than having an expensive 'expired' (fka 'stale_ttl') in the rdataset structure, that is only used to be printed in a comment on ancient RRsets, reuse the TTL field of the RRset.
This commit is contained in:
committed by
Evan Hunt
parent
0cdf85d204
commit
f7f543d99b
@@ -130,13 +130,6 @@ struct dns_rdataset {
|
||||
*/
|
||||
isc_stdtime_t resign;
|
||||
|
||||
/*
|
||||
* When a cache rdataset's TTL has expired but it hasn't been
|
||||
* cleaned up yet, it will have this value set so that the time
|
||||
* it expired can be printed by dns_master_dump*().
|
||||
*/
|
||||
isc_stdtime_t expired;
|
||||
|
||||
/*@{*/
|
||||
/*%
|
||||
* These are for use by the rdataset implementation, and MUST NOT
|
||||
|
@@ -1109,12 +1109,12 @@ again:
|
||||
isc_result_t result;
|
||||
if (STALE(rds)) {
|
||||
fprintf(f, "; stale\n");
|
||||
} else if (ANCIENT(rds) && rds->expired != 0) {
|
||||
} else if (ANCIENT(rds)) {
|
||||
isc_buffer_t b;
|
||||
char buf[sizeof("YYYYMMDDHHMMSS")];
|
||||
memset(buf, 0, sizeof(buf));
|
||||
isc_buffer_init(&b, buf, sizeof(buf) - 1);
|
||||
dns_time64_totext((uint64_t)rds->expired, &b);
|
||||
dns_time64_totext((uint64_t)rds->ttl, &b);
|
||||
fprintf(f,
|
||||
"; expired since %s "
|
||||
"(awaiting cleanup)\n",
|
||||
|
@@ -3135,7 +3135,6 @@ bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, rdatasetheader_t *header,
|
||||
rdataset->type = RBTDB_RDATATYPE_BASE(header->type);
|
||||
rdataset->covers = RBTDB_RDATATYPE_EXT(header->type);
|
||||
rdataset->ttl = header->rdh_ttl - now;
|
||||
rdataset->expired = 0;
|
||||
rdataset->trust = header->trust;
|
||||
|
||||
if (NEGATIVE(header)) {
|
||||
@@ -3164,8 +3163,7 @@ bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node, rdatasetheader_t *header,
|
||||
rdataset->attributes |= DNS_RDATASETATTR_STALE;
|
||||
} else if (IS_CACHE(rbtdb) && !ACTIVE(header, now)) {
|
||||
rdataset->attributes |= DNS_RDATASETATTR_ANCIENT;
|
||||
rdataset->expired = header->rdh_ttl;
|
||||
rdataset->ttl = 0;
|
||||
rdataset->ttl = header->rdh_ttl;
|
||||
}
|
||||
|
||||
rdataset->private1 = rbtdb;
|
||||
|
Reference in New Issue
Block a user