uint8_t _edns_extended_rcode;
/** EDNS Version */
uint8_t _edns_version;
+ /* OPT pseudo-RR presence flag */
+ uint8_t _edns_present;
/** Reserved EDNS data bits */
uint16_t _edns_z;
/** Arbitrary EDNS rdata */
return (ldns_pkt_edns_udp_size(pkt) > 0 ||
ldns_pkt_edns_extended_rcode(pkt) > 0 ||
ldns_pkt_edns_data(pkt) ||
- ldns_pkt_edns_do(pkt)
+ ldns_pkt_edns_do(pkt) ||
+ pkt->_edns_present
);
}
if(have_edns)
ldns_pkt_set_arcount(packet, ldns_pkt_arcount(packet)
- have_edns);
+ packet->_edns_present = have_edns;
*packet_p = packet;
return status;