]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fixup ldns-testpkts, identical to ldns/examples.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Wed, 7 Nov 2012 08:49:53 +0000 (08:49 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Wed, 7 Nov 2012 08:49:53 +0000 (08:49 +0000)
git-svn-id: file:///svn/unbound/trunk@2779 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
testcode/ldns-testpkts.c
testcode/ldns-testpkts.h
testcode/replay.c
testcode/unitverify.c

index cb800779b59af26be43895d414f132067cdfed98..db053c15587efd8bc7878d6c92a69748fa91000c 100644 (file)
@@ -1,3 +1,6 @@
+7 November 2012: Wouter
+       - Fixup ldns-testpkts, identical to ldns/examples.
+
 30 October 2012: Wouter
        - Fix bug #477: unbound-anchor segfaults if EDNS is blocked.
 
index 7a6c020e8698ca4b2772a7c1c6ee0633f6c95bf3..be94eb2fe43859d2efd466a6b60c6d0f718378cf 100644 (file)
@@ -426,7 +426,7 @@ get_origin(const char* name, int lineno, ldns_rdf** origin, char* parse)
 /* Reads one entry from file. Returns entry or NULL on error. */
 struct entry*
 read_entry(FILE* in, const char* name, int *lineno, uint32_t* default_ttl, 
-       ldns_rdf** origin, ldns_rdf** prev_rr)
+       ldns_rdf** origin, ldns_rdf** prev_rr, int skip_whitespace)
 {
        struct entry* current = NULL;
        char line[MAX_LINE];
@@ -507,14 +507,17 @@ read_entry(FILE* in, const char* name, int *lineno, uint32_t* default_ttl,
                        /* it must be a RR, parse and add to packet. */
                        ldns_rr* n = NULL;
                        ldns_status status;
+                       char* rrstr = line;
+                       if (skip_whitespace)
+                               rrstr = parse;
                        if(add_section == LDNS_SECTION_QUESTION)
                                status = ldns_rr_new_question_frm_str(
-                                       &n, parse, *origin, prev_rr);
-                       else status = ldns_rr_new_frm_str(&n, parse, 
+                                       &n, rrstr, *origin, prev_rr);
+                       else status = ldns_rr_new_frm_str(&n, rrstr,
                                *default_ttl, *origin, prev_rr);
                        if(status != LDNS_STATUS_OK)
                                error("%s line %d:\n\t%s: %s", name, *lineno,
-                                       ldns_get_errorstr_by_id(status), parse);
+                                       ldns_get_errorstr_by_id(status), rrstr);
                        ldns_pkt_push_rr(cur_reply->reply, add_section, n);
                }
 
@@ -532,7 +535,7 @@ read_entry(FILE* in, const char* name, int *lineno, uint32_t* default_ttl,
 
 /* reads the canned reply file and returns a list of structs */
 struct entry* 
-read_datafile(const char* name)
+read_datafile(const char* name, int skip_whitespace)
 {
        struct entry* list = NULL;
        struct entry* last = NULL;
@@ -549,7 +552,7 @@ read_datafile(const char* name)
        }
 
        while((current = read_entry(in, name, &lineno, &default_ttl, 
-               &origin, &prev_rr)))
+               &origin, &prev_rr, skip_whitespace)))
        {
                if(last)
                        last->next = current;
index 59e428952759328882c1c438e05f6a8acb62f96b..4941525250f28bfe04ac20d854838186e8a504a7 100644 (file)
@@ -197,8 +197,9 @@ struct entry {
 /**
  * reads the canned reply file and returns a list of structs 
  * does an exit on error.
+ * @param skip_withespace: skip leftside whitespace.
  */
-struct entry* read_datafile(const char* name);
+struct entry* read_datafile(const char* name, int skip_whitespace);
 
 /**
  * Delete linked list of entries.
@@ -217,10 +218,12 @@ void delete_entry(struct entry* list);
  *     later it stores the $ORIGIN value last seen. Often &NULL or the zone
  *     name on first call.
  * @param prev_rr: previous rr name for correcter parsing. &NULL on first call.
+ * @param skip_whitespace: skip leftside whitespace.
  * @return: The entry read (malloced) or NULL if no entry could be read.
  */
 struct entry* read_entry(FILE* in, const char* name, int *lineno, 
-       uint32_t* default_ttl, ldns_rdf** origin, ldns_rdf** prev_rr);
+       uint32_t* default_ttl, ldns_rdf** origin, ldns_rdf** prev_rr,
+       int skip_whitespace);
 
 /**
  * finds entry in list, or returns NULL.
index 3d3aa01a08d1014d97cf1cbf3b0b24c8703abc54..2ce647da11974f607d63cf3d1e5325a12a1786d3 100644 (file)
@@ -193,7 +193,7 @@ replay_range_read(char* remain, FILE* in, const char* name, int* lineno,
                /* set position before line; read entry */
                (*lineno)--;
                fseeko(in, pos, SEEK_SET);
-               entry = read_entry(in, name, lineno, ttl, or, prev);
+               entry = read_entry(in, name, lineno, ttl, or, prev, 1);
                if(!entry)
                        fatal_exit("%d: bad entry", *lineno);
                entry->next = NULL;
@@ -393,7 +393,7 @@ replay_moment_read(char* remain, FILE* in, const char* name, int* lineno,
        } 
 
        if(readentry) {
-               mom->match = read_entry(in, name, lineno, ttl, or, prev);
+               mom->match = read_entry(in, name, lineno, ttl, or, prev, 1);
                if(!mom->match) {
                        free(mom);
                        return NULL;
index 5da66496820666c991f035e3eec5fe061a869917..d3fbf25f5312d2e1c8ae72c01398c2a6cd10b126 100644 (file)
@@ -298,7 +298,7 @@ verifytest_file(const char* fname, const char* at_date)
        struct alloc_cache alloc;
        ldns_buffer* buf = ldns_buffer_new(65535);
        struct entry* e;
-       struct entry* list = read_datafile(fname);
+       struct entry* list = read_datafile(fname, 1);
        struct module_env env;
        struct val_env ve;
        uint32_t now = time(NULL);
@@ -342,7 +342,7 @@ dstest_file(const char* fname)
        struct alloc_cache alloc;
        ldns_buffer* buf = ldns_buffer_new(65535);
        struct entry* e;
-       struct entry* list = read_datafile(fname);
+       struct entry* list = read_datafile(fname, 1);
        struct module_env env;
 
        if(!list)
@@ -475,7 +475,7 @@ nsec3_hash_test(const char* fname)
        struct alloc_cache alloc;
        ldns_buffer* buf = ldns_buffer_new(65535);
        struct entry* e;
-       struct entry* list = read_datafile(fname);
+       struct entry* list = read_datafile(fname, 1);
 
        if(!list)
                fatal_exit("could not read %s: %s", fname, strerror(errno));