[Opendnssec-user] TTL values through to signed zone?
Havard Eidnes
he at uninett.no
Tue Dec 3 22:19:58 UTC 2019
> Hm. Need to look at the source, I think.
...and the log:
Dec 3 22:16:20 signer-host ods-signerd: In zone file eduvpn.uninett.no: TTL for the record 'vpn.eduvpn.uninett.no. 600 IN A 158.38.2.19' set to 86400
This comes from zone_add_rr() in signer/zone.c:
...
} else {
record = rrset_add_rr(rrset, rr);
ods_log_assert(record);
ods_log_assert(record->rr);
ods_log_assert(record->is_added);
if (ldns_rr_ttl(rr) != ldns_rr_ttl(rrset->rrs[0].rr)) {
str = ldns_rr2str(rr);
str[(strlen(str)) - 1] = '\0';
for (i = 0; i < strlen(str); i++) {
if (str[i] == '\t') {
str[i] = ' ';
}
}
ods_log_error("In zone file %s: TTL for the record '%s' set to %d", zone->name, str, ldns_rr_ttl(rrset->rrs[0].rr));
LDNS_FREE(str);
ldns_rr_set_ttl(rr,ldns_rr_ttl(rrset->rrs[0].rr));
}
}
I suspect this is code which is supposed to ensure that all the RRs in
an RRset has the same TTL (a correct goal to ensure).
Hm, I wonder... This is a two-record RRset, but I suspect one record
is attempted to be replaced at a time, so ... will I then ever be
able to reduce the TTL of the RRset, even if I do it simultaneously
for both of them in the original master zone? (That's a rhetorical,
the answer appears to be "no".) Or do I have to go the path via
having just one RR? Or ... it actually looks like I had to go the
path via briefly having 0 RRs in the RRset; I now have the appropriate
TTL emitted after signature.
It appears to me that some operations internally in OpenDNSSEC really
should be on a "per RRset" basis, not just "per RR"(?)
Regards,
- Håvard
More information about the Opendnssec-user
mailing list