From 6ebf3dbb33606411c17cbb75f7407e1457ca4b68 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 3 Dec 2012 07:58:01 +1100 Subject: [PATCH 1/3] workaround only needed for clang 3.1 --- lib/dns/name.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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); From c6f03e79030a4609b31388f9946a2bab7e59e7d7 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 3 Dec 2012 09:09:19 +1100 Subject: [PATCH 2/3] treat clang 3.x and 4.x as independent release streams --- lib/dns/tsig.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 From 3ff483ed84344e81ad2fc79faf6f036c18fbab05 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 3 Dec 2012 09:30:38 +1100 Subject: [PATCH 3/3] loop 'I:checking expired signatures were updated' test --- bin/tests/system/autosign/clean.sh | 1 + bin/tests/system/autosign/tests.sh | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) 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)"