From: Wouter Wijngaards Date: Tue, 9 Oct 2007 15:23:10 +0000 (+0000) Subject: packet_clone should also copy EDNS parts. X-Git-Tag: release-1.3.0~161 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f08ca54e6cf80417538bf59aeaf36a4b1dcdc0c3;p=thirdparty%2Fldns.git packet_clone should also copy EDNS parts. --- diff --git a/packet.c b/packet.c index 63129449..3487aa40 100644 --- a/packet.c +++ b/packet.c @@ -968,7 +968,16 @@ ldns_pkt_clone(ldns_pkt *pkt) ldns_pkt_set_size(new_pkt, ldns_pkt_size(pkt)); ldns_pkt_set_tsig(new_pkt, ldns_pkt_tsig(pkt)); - /* todo: edns? jelte?? */ + ldns_pkt_set_edns_udp_size(new_pkt, ldns_pkt_edns_udp_size(pkt)); + ldns_pkt_set_edns_extended_rcode(new_pkt, + ldns_pkt_edns_extended_rcode(pkt)); + ldns_pkt_set_edns_version(new_pkt, ldns_pkt_edns_version(pkt)); + ldns_pkt_set_edns_z(new_pkt, ldns_pkt_edns_z(pkt)); + if(ldns_pkt_edns_data(pkt)) + ldns_pkt_set_edns_data(new_pkt, + ldns_rdf_clone(ldns_pkt_edns_data(pkt))); + ldns_pkt_set_edns_do(new_pkt, ldns_pkt_edns_do(pkt)); + ldns_rr_list_deep_free(new_pkt->_question); ldns_rr_list_deep_free(new_pkt->_answer); ldns_rr_list_deep_free(new_pkt->_authority);