...
- DNS and HostDB module have some small problmes:
- TS-313XXX: DNS and resolvers improvements --FIXEDdoes not honor proxy.config.dns.nameservers, and make 127.0.0.1 the first default server.
- TS-435: SplitDNS doesn't work --FIXING592: request for support of IPV6 AAAA host name resolve
- TS-?404: need a api API to set hostdb map data directlyTS-492: Allow use of client supplied IP address for of origin server . --PATCH on wccp branchavoiding DNS lookup
- DNS and HostDB require for enhancement:
- SplitDNS need to get cleanup, we need to keep SplitDNS under DNS only, not mess up with hostdb.
- DNS codes a little mess, should get more localization, regarding for the old libresolv like codes
- way to passthrough HostDB cache
- easy way to setup Origin Source server IP, maybe something like Hosts.
- need to get a way for DNS and(or) HostDB pluginable, can hooking somewhere.
- need prepare for health check design, get HostDB ready.
- Job done:
- TS-313: DNS and resolvers improvements
- TS-435: SplitDNS doesn't work
- TS-492: Allow use of client supplied IP address for origin server. --PATCH on wccp branch
- TS-570: SplitDNS schedules on wrong thread when "dns_threads > 0"
- TS-580: server fail assert when dns request does not match any rule from splitdns.config
what is our target:
HostDB is currently a fundamental under proxy/http2, it is really need to get clean and clear, we want to keep it clean in logical.
we will treat DNS module a little complex, it may have many Handler under one or more Processor:
...
we are doing now, and planning:
...
- clean up 127.0.0.1, we should not fail back to 127.0.0.1, that will just make user confuse.
- clean up or remove domain/search setting for SplitDNS
- make dns more flex:
- need to get a way for DNS and(or) HostDB pluginable, can hooking somewhere. (TS-404 at least)
- cleanup old codes, catchup with Glibc and other DNS resolver system in function.
...
- things we have not plan to do:
- way to passthrough HostDB cache --that is possible setting "CONFIG proxy.config.hostdb INT 0" in records.config
- things we have pull back a little:
- cleanup SplitDNS: keep SplitDNS under DNS only, not mess up with codes in HostDB. inprogress, patch upload
...
- easy way to setup Origin Source server IP, maybe something like Hosts.
...
Questions and confusing:
SplitDNS cleanup:
...
- Leif, our PL:
- We would remove all DNS code, and make it correct, on top of C-ares/dns.c, and do appropriate things like letting the resolver code properly get notified on epoll events (not like that crap we have now)
- we should be able to using thread setting in proxy.config.dns.dedicated_thread, make loadbalance on those threads
- here is the comments from Martin, our TS-435 reporter:
- Strict map it's ok In reverse mode, but in forward mode the use of wild card it will be useful to use local country or specific DNS server
example: dest_domain=lapampa.gov.ar named=x.x.x.y serach_list=lapampa.gov.ar
dest_domain=*.com.ar named=x.x.x.x - Why TS must have two DNS handler? I know only one handler is more complex, however why not use SplitDNS with a default mandatory entry like dest_domain=default named=x.x.x.x
- I am agree with you, if can not resolve the hostname from the dns server provide by SplitDNS, TS must return error to user, and not fail over other dns resolver.
- I am agree that TS must refuse to work if none DNS is configured. situation
- Strict map it's ok In reverse mode, but in forward mode the use of wild card it will be useful to use local country or specific DNS server
- Vijay, from Yahoo:
- you should think about separating HostDB from DNS, so that people might just want to use only DNS
- hostdb will also be used to store 1.1 etc... and how many times we failed to connect to host, but i am thinking about some cleanup where we should have less dependency on hostdb