transfer wiredata with unbound requests too

This commit is contained in:
Willem Toorop 2015-02-03 11:23:30 +01:00
parent 545a83e1a6
commit de2e0b1157
1 changed files with 9 additions and 5 deletions

View File

@ -872,11 +872,15 @@ getdns_apply_network_result(getdns_network_req* netreq,
ldns_pkt_set_rcode(netreq->result, ub_res->rcode); ldns_pkt_set_rcode(netreq->result, ub_res->rcode);
} }
} else { } else {
ldns_status r = if (netreq->max_udp_payload_size < ub_res->answer_len)
ldns_wire2pkt(&(netreq->result), ub_res->answer_packet, ub_res->answer_len); netreq->response = GETDNS_XMALLOC(
if (r != LDNS_STATUS_OK) { netreq->owner->context->mf, uint8_t, ub_res->answer_len);
(void) memcpy(netreq->response, ub_res->answer_packet,
(netreq->max_udp_payload_size = ub_res->answer_len));
ldns_status r = ldns_wire2pkt(&(netreq->result),
netreq->response, netreq->max_udp_payload_size);
if (r != LDNS_STATUS_OK)
return GETDNS_RETURN_GENERIC_ERROR; return GETDNS_RETURN_GENERIC_ERROR;
}
} }
netreq->secure = ub_res->secure; netreq->secure = ub_res->secure;
netreq->bogus = ub_res->bogus; netreq->bogus = ub_res->bogus;