previously the buffer for TCP pkt reassembly was
not correctly cleared and fragmented answers
were rejected
{
if (!task->finished) {
if (status == 0 && handle) {
+ /* For TCP we can be sure there will be no retransmit, so we flush
+ * the packet buffer so it can be reused again for reassembly. */
+ if (handle->type == UV_TCP) {
+ knot_pkt_t *pktbuf = task->pktbuf;
+ knot_pkt_clear(pktbuf);
+ pktbuf->size = 0;
+ }
io_start_read(handle); /* Start reading new query */
}
} else {