changed how dns deals with cnames and recursion: remember cnames and implement recurs...
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Thu, 16 Apr 2015 16:08:32 +0000 (18:08 +0200)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Mon, 4 May 2015 14:57:57 +0000 (16:57 +0200)
commitad83004d27dcbc62223761e203f5b182a622ba56
tree09a395125611b1b621d5a8dfb2eeb61e19ce24cf
parente91538f0c4d702df207eb8e783f91bf89a56659b
changed how dns deals with cnames and recursion: remember cnames and implement recursive lookup here using DnsResolvers that are not saved in DnsMaster.

Experiments with own name server and recursive cnames showed that TTLs are not always the minimum.
This way we have better control about resulting TTLs
and debugging is easier since DNS caching is avoided.

Also create unique id for each dns message and check reply
and in main warn if using debug option max_exceptions.
src/dns/dnscache.cpp
src/dns/dnscache.h
src/dns/dnsmaster.cpp
src/dns/dnsmaster.h
src/dns/dnsresolver.cpp
src/dns/dnsresolver.h
src/dns/resolverbase.cpp
src/dns/resolverbase.h
src/host/pingrotate.cpp
src/main.cpp