ADDR ns2.good.
ADDR ns3.good.
ADDR ns3.good.
+NS bit.longer.ns.name.good.
NS boing.good.
NS good.
+NS longer.ns.name.good.
+NS name.good.
+NS ns.name.good.
NS zoop.boing.good.
__EOF
cat <<__EOF | diff ans3/query.log - >/dev/null || ret=1
ADDR ns2.good.
ADDR ns3.good.
ADDR ns3.good.
+NS bit.longer.ns.name.good.
NS boing.good.
+NS longer.ns.name.good.
+NS name.good.
+NS ns.name.good.
NS zoop.boing.good.
__EOF
cat <<__EOF | diff ans3/query.log - >/dev/null || ret=1
ADDR ns3.bad.
ADDR ns3.bad.
NS boing.bad.
+NS name.bad.
__EOF
cat <<__EOF | diff ans3/query.log - >/dev/null || ret=1
ADDR icky.icky.icky.ptang.zoop.boing.bad.
ADDR ns3.ugly.
ADDR ns3.ugly.
NS boing.ugly.
+NS name.ugly.
+NS name.ugly.
__EOF
echo "ADDR icky.icky.icky.ptang.zoop.boing.ugly." | diff ans3/query.log - >/dev/null || ret=1
echo "ADDR icky.icky.icky.ptang.zoop.boing.ugly." | diff ans4/query.log - >/dev/null || ret=1
ADDR ns2.slow.
ADDR ns3.slow.
ADDR ns3.slow.
+NS bit.longer.ns.name.slow.
NS boing.slow.
+NS longer.ns.name.slow.
+NS name.slow.
+NS ns.name.slow.
NS slow.
NS zoop.boing.slow.
__EOF
ADDR ns2.good.
ADDR ns3.good.
ADDR ns3.good.
+NS bit.longer.ns.name.good.
NS boing.good.
NS good.
+NS longer.ns.name.good.
+NS name.good.
+NS ns.name.good.
NS zoop.boing.good.
__EOF
cat <<__EOF | diff ans3/query.log - >/dev/null || ret=1
dns_rdataset_init(&rdataset);
options = DNS_FETCHOPT_NOVALIDATE;
+
if (start_at_zone) {
DP(ENTER_LEVEL, "fetch_name: starting at zone for name %p",
adbname);
}
nameservers = &rdataset;
options |= DNS_FETCHOPT_UNSHARED;
+ } else if (adb->view->qminimization) {
+ options |= DNS_FETCHOPT_QMINIMIZE | DNS_FETCHOPT_QMIN_SKIP_IP6A;
+ if (adb->view->qmin_strict) {
+ options |= DNS_FETCHOPT_QMIN_STRICT;
+ }
}
fetch = new_adbfetch(adb);