From: Yuri Schaeffer Date: Thu, 31 Jan 2013 10:07:26 +0000 (+0000) Subject: Fix up verbose_hex, cleaning up tests X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e71b07d2c0b0c5127a5c1dfd1a554760c6c564e;p=thirdparty%2Funbound.git Fix up verbose_hex, cleaning up tests git-svn-id: file:///svn/unbound/branches/edns-subnet@2832 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/testcode/ldns-testpkts.c b/testcode/ldns-testpkts.c index d3f473f08..ad080ef6b 100644 --- a/testcode/ldns-testpkts.c +++ b/testcode/ldns-testpkts.c @@ -696,13 +696,19 @@ match_all(ldns_pkt* q, ldns_pkt* p, bool mttl) void verbose_hex(int lvl, uint8_t *data, size_t datalen, char *header) { - size_t i; - char errmsg[strlen(header) + datalen*3]; - strcpy(errmsg, header); - for(i = 0; i < datalen; i++) - snprintf(errmsg + strlen(header) + i*3, 4, "%02x ", (unsigned int)data[i]); - errmsg[strlen(header) + datalen*3 - 1] = 0; + size_t i, hlen, dlen; + char *errmsg, *ptr; + int wr; + hlen = strnlen(header, 32); + dlen = datalen * 3 + 1; + errmsg = (char*) malloc(sizeof(char) * (hlen + dlen)); + strncpy(errmsg, header, hlen+1); + for(i = 0, ptr = errmsg + hlen; i < datalen; i++, ptr += 3, dlen -= 3) { + wr = snprintf(ptr, dlen, "%02x ", (unsigned int)data[i]); + if (wr < 0 || wr >= (int)dlen) break; + } verbose(lvl, errmsg); + free(errmsg); } /** Match q edns data to p raw edns data */ diff --git a/testdata/subnet_derived.crpl b/testdata/subnet_derived.crpl index e5fadf151..2493d4b62 100644 --- a/testdata/subnet_derived.crpl +++ b/testdata/subnet_derived.crpl @@ -148,18 +148,6 @@ STEP 1 QUERY www.example.com. IN A ENTRY_END -STEP 5 CHECK_OUT_QUERY - - ENTRY_BEGIN - MATCH qname qtype opcode ednsdata - SECTION QUESTION - www.example.com. IN A - SECTION ADDITIONAL - HEX_EDNSDATA_BEGIN - ;; we must send empty back to unbound - HEX_EDNSDATA_END - ENTRY_END - STEP 10 CHECK_ANSWER ENTRY_BEGIN diff --git a/testdata/subnet_format_ip4.crpl b/testdata/subnet_format_ip4.crpl index aa4883063..ced6888af 100644 --- a/testdata/subnet_format_ip4.crpl +++ b/testdata/subnet_format_ip4.crpl @@ -145,18 +145,6 @@ STEP 1 QUERY www.example.com. IN A ENTRY_END -STEP 5 CHECK_OUT_QUERY - - ENTRY_BEGIN - MATCH qname qtype opcode ednsdata - SECTION QUESTION - www.example.com. IN A - SECTION ADDITIONAL - HEX_EDNSDATA_BEGIN - ;; we must send empty back to unbound - HEX_EDNSDATA_END - ENTRY_END - STEP 10 CHECK_ANSWER ENTRY_BEGIN diff --git a/testdata/subnet_nondefault_opc.crpl b/testdata/subnet_nondefault_opc.crpl index 034843455..9e309d242 100644 --- a/testdata/subnet_nondefault_opc.crpl +++ b/testdata/subnet_nondefault_opc.crpl @@ -145,18 +145,6 @@ STEP 1 QUERY www.example.com. IN A ENTRY_END -STEP 5 CHECK_OUT_QUERY - - ENTRY_BEGIN - MATCH qname qtype opcode ednsdata - SECTION QUESTION - www.example.com. IN A - SECTION ADDITIONAL - HEX_EDNSDATA_BEGIN - ;; we must send empty back to unbound - HEX_EDNSDATA_END - ENTRY_END - STEP 10 CHECK_ANSWER ENTRY_BEGIN diff --git a/testdata/subnet_not_whitelisted.crpl b/testdata/subnet_not_whitelisted.crpl index 105e0cb35..58df0132f 100644 --- a/testdata/subnet_not_whitelisted.crpl +++ b/testdata/subnet_not_whitelisted.crpl @@ -140,18 +140,6 @@ STEP 1 QUERY www.example.com. IN A ENTRY_END -STEP 5 CHECK_OUT_QUERY - - ENTRY_BEGIN - MATCH qname qtype opcode ednsdata - SECTION QUESTION - www.example.com. IN A - SECTION ADDITIONAL - HEX_EDNSDATA_BEGIN - ;; we must send empty back to unbound - HEX_EDNSDATA_END - ENTRY_END - STEP 10 CHECK_ANSWER ENTRY_BEGIN diff --git a/testdata/subnet_without_validator.crpl b/testdata/subnet_without_validator.crpl index a4c4e92db..0cc6ad091 100644 --- a/testdata/subnet_without_validator.crpl +++ b/testdata/subnet_without_validator.crpl @@ -145,18 +145,6 @@ STEP 1 QUERY www.example.com. IN A ENTRY_END -STEP 5 CHECK_OUT_QUERY - - ENTRY_BEGIN - MATCH qname qtype opcode ednsdata - SECTION QUESTION - www.example.com. IN A - SECTION ADDITIONAL - HEX_EDNSDATA_BEGIN - ;; we must send empty back to unbound - HEX_EDNSDATA_END - ENTRY_END - STEP 10 CHECK_ANSWER ENTRY_BEGIN