Ticket #164 (closed defect: wontfix)
PowerDNS sends two TCP packets when it only needs to send one.
| Reported by: | anon | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | component1 | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | augie.schwer@… |
Description
When replying to TCP queries PowerDNS sends two packets (one with the size of the data it is about to send and the second with the actual data).
This behavior can confuse stupid clients (Like Alteons) that are expecting one packet to contain both answer and size of answer.
There are probably efficiency concerns with sending twice as many packets as needed, especially sending such a small packet for just the data size.
tcpreceiver.cc
void TCPNameserver::sendPacket(shared_ptr<DNSPacket> p, int outsock) {
const char *buf=p->getData(); uint16_t len=htons(p->len); writenWithTimeout(outsock, &len, 2); writenWithTimeout(outsock, buf, p->len);
}
Change History
Note: See
TracTickets for help on using
tickets.