summaryrefslogtreecommitdiff
path: root/sys/src/cmd/ndb/dnsdebug.c
AgeCommit message (Collapse)Author
2021-11-03libndb: move mkptrname() into libndb to avoid duplicationcinap_lenrek
2021-11-01ndb/dnsdebug: dont duplicate rrfmt()cinap_lenrek
introduce our own RR* format %P for pretty printing and call %R format internally, then use it to print the rest of the line after the tab, prefixed with the padded output.
2021-09-08ndb/dnsdebug: make usage flags consistentcinap_lenrek
2021-02-14ndb/dns: implement RFC6844 certificate authority authorization record typecinap_lenrek
2020-10-17ndb/dnsdebug: add -c flag to debug caching dns server behaviourcinap_lenrek
2018-10-11ndb/dns: use nil for pointers in dnresolve() argscinap_lenrek
2018-10-09ndb/dns: fix format print warning for procsetname(), cleanupcinap_lenrek
2018-05-23ndb/dnsdebug: handle .ip6.arpa namescinap_lenrek
2018-05-11ndb/dns: lookup *all* entries in dblookup(), v4 and v6 queries in parallel, ↵cinap_lenrek
remove weigthed timeouts dblookup() used to only return the first matching entry. in case of ipv6, we want all entries returned to get both v4 and v6 addresses... and these might not neccesarily be in the same entry (see /lib/ndb/common). note also this makes it behave the same as in cachedb mode which reads in the whole database. we do not know if v4 or v6 routing works, so the simplest is just to query v4 and v6 nameservers in parallel. this is done by changing serveraddrs() to return one address type, and we make sure to get at least one v4 and one v6 address each round. get rid of the weigthed timeout code... there where too many assumptions. instead, we give a round 500ms timeout (or 1 second in patient mode) and honor the maximum query time.
2018-04-17ndb/dns: remove single-ip-address assuptionscinap_lenrek
2016-11-17cmd: remove a bit of unused stuffftrvxmtrx
2013-11-24ndb/dns: add support for internationalized domain namescinap_lenrek
2013-11-15ndb/dns: various changescinap_lenrek
stop absolute/relative dual use of RR.ttl. now RR.ttl is *always* the *relative* ttl value. we derive absolute timeout in RR.expire. remove unused lookuptime field in DN. replace refs and keep with mark field in DN. we do not care about the number of references. only *iff* it is referenced, so use a single bit for that (bit 0). for keep, we use bit 1. remove dolock parameter in dnagenever(), it is not needed. we always need to lock. mark local dns servers and domains as never to be aged. the keeper bit is *just* a cache optimization, preventing the domain and the domains it points to from being flushed. it should not be used as a write protect bit in rrattach() for preventing spoofing as it will prevent updates of say, cname domains. remove "removing spam ..." message. these are usualy just hints, so normal. still, remove the hint as we currently do no check if the nameserver has authority over the cname domain. remove "mydnsquery: trying to send to myself (%s); bzzzt" message. this can happen when myaddr() fails for other reasons. myaddr() will print error for us anyway.
2013-01-05ndb/dnsdebug: make sure request is initialized (import from sources)cinap_lenrek
2012-08-29ndb/dns: bug fixes and massive cleanupcinap_lenrek
removing the querylck from the DN as it was never used or being effective which saves like a ton on space per domain name. remove the Query.tcplock and put query on the stack. it is unneccesary to lock the query as its only used by one process at a time. put Query's on the stack. change outsidens() to outsidensip() which now takes the ip buffer that it fills instead of returning static buffer (which would race with multiple processes involved). eleminate mostly all of the lock(&dnlock)/unlock(&dnlock) calls. we'r not working on shared cache RR's in the resolver procs. we work on *copies* done by rrlookup() made under the dnlock. the cache garbage collection only runs when all processes are locked out and is also taking the dnlock while doing so. cleanup xmitquery(). for the tcp case, we dont need to get more nameserver addresses, just take the ip from the udp header that tcpquery() placed there for us. fixed baddelegation() to actually check for delegation loop even if theres no dom info for our host. remove lots of debug code. remove the dnforceage() as it doenst make sure other processes are locked out. this could destroy dn's currenctly refered by running queries. remove dnageallnever() as its not used. dont attach rr's to keepers to prevent outside spoofing. make myaddr() retrive the ip address if not set.
2012-03-09dns: import changes from sourcescinap_lenrek
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen