- Nov 17, 2015
-
-
Marek Vavruša authored
fixes #41
-
- Nov 16, 2015
-
-
Marek Vavruša authored
-
- Nov 15, 2015
-
-
Marek Vavruša authored
this allows daemon to try other NSs for fast retransmit if the best chosen NS doesn’t respond within time limit
-
Marek Vavruša authored
instead of single I/O request per step, the daemon now retries all addresses in the selection with 300ms timeout between tries. there are len(list) + len(list)/2 tries the idea is to reduce latency when UDP request doesn't punch through, or some NSs are overwhelmed/faulty
-
- Nov 13, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
RRs may be touched after resolution completion, this copies RR from temporary per-recv buffer to answer, which is persistent for the whole duration of request
-
Marek Vavruša authored
if the library or daemon is compiled with address sanitizer, objects in freelists are poisoned to detect use-after-recycle errors it is not currently used in the library, as there are no freelists
-
- Nov 12, 2015
-
-
Marek Vavruša authored
refs #33
-
Marek Vavruša authored
-
- Nov 03, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
refs #16
-
- Oct 29, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Oct 28, 2015
-
-
Marek Vavruša authored
the library is able to resolve query in stub mode (no referral chasing, zone cut lookup) if asked to validator turns off for stub queries, validating stub is NYI
-
Marek Vavruša authored
-
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
-