diff --git a/bin/tests/system/autosign/clean.sh b/bin/tests/system/autosign/clean.sh index de7ca279a4..7355788a08 100644 --- a/bin/tests/system/autosign/clean.sh +++ b/bin/tests/system/autosign/clean.sh @@ -53,3 +53,4 @@ rm -f ns3/reconf.example.db rm -f ns3/ttl*.db rm -f signing.out.* rm -f ns3/*.nzf +rm -f digcomp.out.test* diff --git a/bin/tests/system/autosign/tests.sh b/bin/tests/system/autosign/tests.sh index 4edd5d90c5..cc2a78d551 100644 --- a/bin/tests/system/autosign/tests.sh +++ b/bin/tests/system/autosign/tests.sh @@ -245,13 +245,18 @@ $RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 sync 2>&1 | sed 's/^/I:ns2 /' $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 sync 2>&1 | sed 's/^/I:ns3 /' echo "I:checking expired signatures were updated ($n)" -ret=0 -$DIG $DIGOPTS +noauth a.oldsigs.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1 -$DIG $DIGOPTS +noauth a.oldsigs.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1 -$PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n || ret=1 -grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1 +for i in 1 2 3 4 5 6 7 8 9 +do + ret=0 + $DIG $DIGOPTS +noauth a.oldsigs.example. @10.53.0.3 a > dig.out.ns3.test$n || ret=1 + $DIG $DIGOPTS +noauth a.oldsigs.example. @10.53.0.4 a > dig.out.ns4.test$n || ret=1 + $PERL ../digcomp.pl dig.out.ns3.test$n dig.out.ns4.test$n > digcomp.out.test$n || ret=1 + grep "flags:.*ad.*QUERY" dig.out.ns4.test$n > /dev/null || ret=1 + [ $ret = 0 ] && break + sleep 1 +done +if [ $ret != 0 ]; then cat digcomp.out.test$n; echo "I:failed"; fi n=`expr $n + 1` -if [ $ret != 0 ]; then echo "I:failed"; fi status=`expr $status + $ret` echo "I:checking NSEC->NSEC3 conversion succeeded ($n)" diff --git a/lib/dns/name.c b/lib/dns/name.c index 0536950634..46547829d9 100644 --- a/lib/dns/name.c +++ b/lib/dns/name.c @@ -844,7 +844,7 @@ dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t *wname) { REQUIRE(dns_name_iswildcard(wname)); #if defined(__clang__) && \ - ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2)) + ( __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) memset(&tname, 0, sizeof(tname)); #endif DNS_NAME_INIT(&tname, NULL); @@ -1942,7 +1942,7 @@ dns_name_towire(const dns_name_t *name, dns_compress_t *cctx, */ if (name->offsets == NULL) { #if defined(__clang__) && \ - ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2)) + ( __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) memset(&clname, 0, sizeof(clname)); #endif DNS_NAME_INIT(&clname, clo); @@ -2251,7 +2251,7 @@ dns_name_digest(dns_name_t *name, dns_digestfunc_t digest, void *arg) { REQUIRE(digest != NULL); #if defined(__clang__) && \ - ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2)) + ( __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 2)) memset(&downname, 0, sizeof(downname)); #endif DNS_NAME_INIT(&downname, NULL); diff --git a/lib/dns/tsig.c b/lib/dns/tsig.c index c8f00adbcc..cc781993fb 100644 --- a/lib/dns/tsig.c +++ b/lib/dns/tsig.c @@ -975,7 +975,9 @@ dns_tsig_sign(dns_message_t *msg) { goto cleanup_context; } #if defined(__clang__) && \ - ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2)) + ( __clang_major__ < 3 || \ + (__clang_major__ == 3 && __clang_minor__ < 2) || \ + (__clang_major__ == 4 && __clang_minor__ < 2)) /* false positive: http://llvm.org/bugs/show_bug.cgi?id=14461 */ else memset(&querytsig, 0, sizeof(querytsig)); #endif @@ -1235,7 +1237,9 @@ dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg, return (ret); } #if defined(__clang__) && \ - ( __clang_major__ < 4 || (__clang_major__ == 4 && __clang_minor__ < 2)) + ( __clang_major__ < 3 || \ + (__clang_major__ == 3 && __clang_minor__ < 2) || \ + (__clang_major__ == 4 && __clang_minor__ < 2)) /* false positive: http://llvm.org/bugs/show_bug.cgi?id=14461 */ else memset(&querytsig, 0, sizeof(querytsig)); #endif