- Oct 28, 2015
-
-
Marek Vavruša authored
thanks to Pieter Lexis and Peter van Dijk from PowerDNS for discovering this.
-
Marek Vavruša authored
-
Marek Vavruša authored
the RFC4035 M < S < N stands if the S isn’t after the last name in the zone, this is indicated by M > N, proving that the next of the last name is the first name; if the S is after M, then it proves it’s non-existence thanks to Pieter Lexis and Peter van Dijk from PowerDNS for discovering this!
-
- Oct 27, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
as the libknot packet interface disallows out-of-order packet writes, authority and additional records must be written after the answer is complete; records in the rr arrays will be written to final answer during finalization
-
Marek Vavruša authored
-
- Oct 24, 2015
-
-
Marek Vavruša authored
-
- Oct 23, 2015
-
-
Marek Vavruša authored
when resolver finds a zone cut from cache, it checks whether there is an empty non-terminal between target QNAME and cached zone cut. this is indicated by presence of NODATA/NXDOMAIN in packet cache. if it finds one, it turns off qname minimisation and continues, this saves one query for empty non-term zones like ‘co.jp’ caveat: only direct child of the cut can be considered (e.g. ‘co.jp’ for ‘jp’), otherwise we would leak information to parent if the zone cut fell out of cache and NODATA existed
-
Marek Vavruša authored
for pktcache same or better rank is required (because it’s a direct answer) for rrcache better rank is required (unless doing write-through) for both cases, no cache rank check is needed when inserting secure data security note: this mitigates possible non-auth NS hijacking
-
Marek Vavruša authored
reason: a root gives consistently unpredictable performance, which we cannot take into consideration for the first start. j,k roots moved to the front as they're everywhere and less loaded than a swamped with requests from legacy tools
-
- Oct 22, 2015
-
-
Marek Vavruša authored
[1] shows an attack using spoofed CNAME targets to replace legitimate entries in resolver cache by speeding up once-per-TTL attack opportunity as a defense, the resolver almost always requeries CNAME targets and doesn't store them in cache. the only exception is when the CNAME target is within current authority, and the answer is DNSSEC-secured thanks to Toshinori Maeno (@beyondDNS) for pointing this out [2] [1]: https://tools.ietf.org/id/draft-weaver-dnsext-comprehensive- resolver-00.html [2]: https://moin.qmail.jp/DNS/KnotResolver/CNAMEpatch
-
Marek Vavruša authored
-
- Oct 20, 2015
-
-
Marek Vavruša authored
-
- Oct 19, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
when the DS NODATA was proved from a different authority
-
- Oct 15, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Oct 14, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
validator can now yield, but it doesn't plan the sub-requests directly, that is still a job of the driver
-
Marek Vavruša authored
this caters a use case when a layer needs to issue subrequests before continuing, so it yields. when the subrequests finish, the layer is resumed with the same parameters and input todo: fix validator, that shifted most of the processing to driver
-
- Oct 13, 2015
-
-
Marek Vavruša authored
this is useful when you need to issue several subrequests before continuing with the current query, resuming is not supported yet, so it will requery after the subrequests complete
-
Marek Vavruša authored
current processed query is always in `request->current_query`
-
- Oct 12, 2015
-
-
Marek Vavruša authored
when no validation is attempted, trust level is 'bad' when validation attempted but insecure, trust level is 'insecure' otherwise 'secure'
-
Marek Vavruša authored
minimised nodata/nxdomain can now be cached if it is authoritative. also pkt/sec cache are now shared using the ‘rank’ field to replace insecure version with secure if needed
-
- Oct 11, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
this is a workaround for missing DEFER operation, as the validator module can only detect trust chain breakage (caused by answering from different authority) after the iterator writes answer. this causes duplicated answer on uncached queries
-
Marek Vavruša authored
this doesn’t fix record duplication in answer when not answered from cache
-
Marek Vavruša authored
-
Marek Vavruša authored
missing boundary checking and bad offset calculation todo: the code presumes little endian, didn’t get to fix that
-
- Oct 10, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
if the query has RD=0 or is ANY, only cache is probed for ANY, only A/AAAA/MX is checked and no query is forwarded to the authoritatives
-
- Oct 09, 2015
-
-
Marek Vavruša authored
-
- Oct 07, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
effectively enables/disables usage of given IP protocol for subrequests (the server can still listen on these)
-
Marek Vavruša authored
-
- Oct 06, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
if the answer is flagged as insecure, it means that the resolver tried to validate it, but couldn't (e.g. trust chain doesn't exist)
-
Marek Vavruša authored
-
Marek Vavruša authored
-
Marek Vavruša authored
-