]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
4649. [bug] The wrong zone was logged when a catalog zone is added.
authorMark Andrews <marka@isc.org>
Mon, 10 Jul 2017 00:36:56 +0000 (10:36 +1000)
committerMark Andrews <marka@isc.org>
Mon, 10 Jul 2017 00:36:56 +0000 (10:36 +1000)
                        [RT #45520]

CHANGES
bin/tests/system/catz/tests.sh
lib/dns/catz.c

diff --git a/CHANGES b/CHANGES
index 5230eef12f5648d6fa0c635de76f6bd23c147779..0bd2dd581d616a2e06e1afb6db6772266145526e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+4649.  [bug]           The wrong zone was logged when a catalog zone is added.
+                       [RT #45520]
+
 4648.  [bug]           "rndc reconfig" on a slave no longer causes all member
                        zones of configured catalog zones to be removed from
                        configuration. [RT #45310]
index 759822813712a7ac58d951f317f598a80164e94c..8dead2d1e8dd0ed9075ad660ff917ab796a70247 100644 (file)
@@ -64,16 +64,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom1.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom1.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -205,16 +208,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom4.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom4.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -263,22 +269,27 @@ try=0
 while test $try -lt 45
 do
     sleep 1
+    sed -n "$cur,"'$p' < ns2/named.run | grep "catz: adding zone 'dom2.example' from catalog 'catalog1.example'" > /dev/null &&
     sed -n "$cur,"'$p' < ns2/named.run | grep "catz: adding zone 'dom3.example' from catalog 'catalog1.example'" > /dev/null && {
        ret=0
        break
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom3.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom2.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null &&
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom3.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -354,17 +365,19 @@ do
     }
     try=`expr $try + 1`
 done
-
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom5.example/IN' from 10.53.0.3#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom5.example/IN' from 10.53.0.3#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -445,17 +458,19 @@ do
     }
     try=`expr $try + 1`
 done
-
-try=0
-while test $try -lt 120
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom6.example/IN' from " > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 120
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom6.example/IN' from " > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -571,16 +586,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom7.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom7.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -776,16 +794,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom9.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom9.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -887,16 +908,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'this.is.a.very.very.long.long.long.domain.that.will.cause.catalog.zones.to.generate.hash.instead.of.using.regular.filename.dom10.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'this.is.a.very.very.long.long.long.domain.that.will.cause.catalog.zones.to.generate.hash.instead.of.using.regular.filename.dom10.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -1010,16 +1034,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom11.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom11.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -1086,16 +1113,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'subdomain.of.dom11.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'subdomain.of.dom11.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -1262,16 +1292,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom12.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom12.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
@@ -1396,16 +1429,19 @@ do
     }
     try=`expr $try + 1`
 done
-try=0
-while test $try -lt 45
-do
-    sleep 1
-    sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom13.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
-       ret=0
-       break
-    }
-    try=`expr $try + 1`
-done
+if [ $ret = 0 ]; then
+       ret=1
+       try=0
+       while test $try -lt 45
+       do
+           sleep 1
+           sed -n "$cur,"'$p' < ns2/named.run | grep "transfer of 'dom13.example/IN' from 10.53.0.1#5300: Transfer status: success" > /dev/null && {
+               ret=0
+               break
+           }
+           try=`expr $try + 1`
+       done
+fi
 if [ $ret != 0 ]; then echo "I: failed"; fi
 status=`expr $status + $ret`
 
index d41f1096a22d289fb4dbff23eefb7fb6a2dcf19c..c6a78ae9860d45414bb09b5e4fbf25a4bce968e7 100644 (file)
@@ -487,6 +487,8 @@ dns_catz_zones_merge(dns_catz_zone_t *target, dns_catz_zone_t *newzone) {
        {
                dns_catz_entry_t *entry;
                isc_ht_iter_current(iteradd, (void **) &entry);
+
+               dns_name_format(&entry->name, zname, DNS_NAME_FORMATSIZE);
                result = addzone(entry, target, target->catzs->view,
                              target->catzs->taskmgr,
                              target->catzs->zmm->udata);