]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
root label is not correctly transformed to wirefmt?
authorMiek Gieben <miekg@NLnetLabs.nl>
Thu, 10 Mar 2005 10:03:16 +0000 (10:03 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Thu, 10 Mar 2005 10:03:16 +0000 (10:03 +0000)
perform a drill . ns

resolver.c
str2host.c

index 05fb9f60da73e748487998a3460639ef28408ce4..3bbc97dfb1fd6ef5c9f3c62a22220ccd58d492fc 100644 (file)
@@ -535,7 +535,7 @@ ldns_resolver_query(ldns_resolver *r, ldns_rdf *name, ldns_rr_type type, ldns_rr
 {
        ldns_rdf *newname;
        ldns_pkt *pkt;
-       
+
        if (!ldns_resolver_defnames(r)) {
                return ldns_resolver_send(r, name, type, class, flags);
        }
@@ -545,7 +545,6 @@ ldns_resolver_query(ldns_resolver *r, ldns_rdf *name, ldns_rr_type type, ldns_rr
        }
 
        newname = ldns_dname_cat(name, ldns_resolver_domain(r));
-
        if (!newname) {
                return NULL;
        }
@@ -604,6 +603,8 @@ ldns_resolver_send(ldns_resolver *r, ldns_rdf *name, ldns_rr_type type, ldns_rr_
 
        ldns_pkt_set_id(query_pkt, id);
 
+       ldns_pkt_print(stdout, query_pkt);
+
        /* return NULL on error */
        answer_pkt = ldns_send(r, query_pkt);
        
index a10fde927c7655ebc8f63a6e876e030aeda01eaa..f2e32c5b71e278a3b06101fe5eb94324dd3a8f35 100644 (file)
@@ -185,8 +185,16 @@ ldns_str2rdf_dname(ldns_rdf **d, const char *str)
        }
        if (0 == len) {
                return LDNS_STATUS_DOMAINNAME_UNDERFLOW;
+       } 
+       
+       /* root label */
+       if (1 == len) {
+               *d = ldns_rdf_new_frm_data(LDNS_RDF_TYPE_DNAME, 1, "."); 
+               return LDNS_STATUS_OK;
        }
 
+       /* get on with the rest */
+
        /* s is on the current dot
         * p on the previous one
         * q builds the dname
@@ -243,6 +251,7 @@ ldns_str2rdf_dname(ldns_rdf **d, const char *str)
                *q = 0;
        }
        len++;
+       printf("len: %d\n", len);
 
        /* s - buf_str works because no magic is done in the above for-loop */
        *d = ldns_rdf_new_frm_data(LDNS_RDF_TYPE_DNAME, len, buf);