<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello LDNS users,<br><div><br></div><div>I'm trying to use LDNS to tweak an existing DNS request. In this case, I want to modify the domain in the query. Here is the code I've tried so far (minus error checking):<div><br></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">/* dns_data, dns_data_len, and new_domain are inputs */</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'"><br></font></div><div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_pkt    *query     = NULL;</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_rr     *question  = NULL;</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_rdf    *new_name  = NULL;</font></div></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    uint8_t     *new_dns_data = NULL</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    size_t       new_dns_data_len = 0U;</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'"><br></font></div><div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_wire2pkt(&query, dns_data, dns_data_len);</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_str2rdf_str(&new_name, new_domain);</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    question = ldns_rr_list_rr(ldns_pkt_question(query), 0U);</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_rr_set_owner(question, new_name);</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_pkt2wire(&new_dns_data, query, &new_dns_data_len);</font></div><div><font class="Apple-style-span" face="'Droid Sans Mono'">    ldns_pkt_free(query);</font></div><div><br></div><div><br></div><div>The code runs and doesn't produce any errors (I'm checking return codes), but the resulting buffer in new_dns_data subsequently fails in a call to ldns_wire2pkt, so I assume that means it's invalid or corrupt.</div><div><br></div><div>Any thoughts about what I'm doing wrong or another way to accomplish what I'd like to do (change the FQDN in the query..).</div><div><br></div><div>Thanks,</div><div>Mike Ellery</div><div><br></div></div></div></body></html>