- Jul 23, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Jul 22, 2015
-
-
Marek Vavruša authored
this is a saner default for large answers. instead of waiting for probably lost/thrown away fragmented packet, do the query over TCP instead
-
Marek Vavruša authored
-
Marek Vavruša authored
-
- Jul 21, 2015
-
-
Marek Vavruša authored
this fixes a problem when a module was removed, but pending queries referenced it, causing a crash. usually when the server was busy and a module was unloaded. as we don’t need to copy layers at all, they’re just iterated from the array of modules using a macro
-
- Jul 19, 2015
-
-
Marek Vavruša authored
-
- Jul 17, 2015
-
-
Marek Vavruša authored
-
- Jul 14, 2015
-
-
Marek Vavruša authored
no need to scramble queries satisfied from cache
-
- Jul 10, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
the resolution driver now correctly fetches keys, and the zonecut lookup should find closest TA, then the validation module should have all the information needed for simple validation
-
Marek Vavruša authored
the only flag supported now is the KR_REQ_DNSSEC, which indicates that the caller wants a secure answer
-
- Jul 09, 2015
-
-
Marek Vavruša authored
-
Karel Slaný authored
-
- Jun 30, 2015
-
-
Marek Vavruša authored
1. validate module must be between iterate/cache 2. produce: copy OPT with DO=1, ask for DNSKEY if we don’t have it 3. resolve.c: subrequest DNSKEY if asked to do it 4. consume: check DNSKEY and set it, validate RRSIGs against it another issues: rrsigcache is copypasta of rrcache, there is one special case with storing RRSIGs which doesn’t deserve it’s own module (if the validation is off, then nothing will get written in there anyway) since the resolution is asynchronous, layers must only *ask* resolver to do subrequests for them using query flags (like when we encounter an unknown zone cut)
-
- Jun 29, 2015
-
-
Marek Vavruša authored
the query flags were cleared too early, and the rec never retried if the NS had ipv6 addresses, but all were bad
-
- Jun 23, 2015
-
-
Marek Vavruša authored
-
- Jun 22, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
libuv doesn't do connected UDP sockets, so we can't get ICMP unreachable otherwise
-
- Jun 13, 2015
-
-
Marek Vavruša authored
before root hints were hardcoded to the resolver, now they are present in form of a cut in the resolution context, and the modules can add/remove/replace them on the fly
-
- Jun 07, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
previously a CNAME RR could be merged as a queried type RR, leading to failed cache lookups as ‘expired’
-
Marek Vavruša authored
-
Marek Vavruša authored
previously if NS had no A/AAAA records, they we’re looked up in subrequests, after that a new NS was reelected (possibly preferring another unknown), now it stays true to the NS of choice and changes only if it is unuseable
-
Marek Vavruša authored
the cache_peek() api was reworked to return an error code instead, from this the caller can tell whether the record is present (but expired) or missing. this save a secondary CNAME lookup in case the original record was just expired
-
- Jun 06, 2015
-
-
Marek Vavruša authored
this LRU-like cache tracks lame nameservers, unresolvable nameservers (to not waste resources in trying to resolve them), and possibly other features (extension support, …)
-
- Jun 05, 2015
-
-
Marek Vavruša authored
-
- Jun 04, 2015
-
-
Marek Vavruša authored
if a name server is missing address, it requires launching a recursive query to discover it - starting from root now however it can start from either closest covering zonecut in cache if it isn’t a subdomain of current zone cut, or as a parent of current zone cut
-
Marek Vavruša authored
when a NS is in the TIMEOUT, it can’t be autoselected by default but only probed after a successful dice roll - however in some scenarios we’d like to probe timeouting servers more thoroughly
-
Marek Vavruša authored
-
- Jun 03, 2015
-
-
Marek Vavruša authored
-
- Jun 01, 2015
-
-
Marek Vavruša authored
score has now meaning of ‘RTT’, maximum RTT is 10s which is also the penalty for timeout unknown servers are favorized as 10ms servers to encourage resolver to try them out, if they contain unknown glue they are most favourable
-
- May 29, 2015
-
-
Marek Vavruša authored
previously it restarted query production for each NS, now it loops until it finds a suitor or bails out
-
Marek Vavruša authored
-
- May 28, 2015
-
-
Marek Vavruša authored
-
Marek Vavruša authored
if the query is satisfied from cache, it doesn’t need a zone cut lookup, so it may be deferred until an outbound query is about the be issued.
-
- May 27, 2015
-
-
Marek Vavruša authored
this prepares cache/txn structures to hold API as well, so we can get rid of the global api
-
- May 25, 2015
-
-
Marek Vavruša authored
the module memory not be moved (reallocd), turned array of modules to array of pointers to modules
-
Marek Vavruša authored
this fixes a bug where resolution failed, but the finish callbacks thought the answer is noerror
-
- May 22, 2015
-
-
Marek Vavruša authored
-