- TCP idle timeout works again
- TCP DNS queries will use cached entries before trying to make a UDP connection
- All compile-time warnings removed
- Marco Njezic pointed out Windows service won't run if there was a space in a path to Deadwood.exe; fixed.
The next thing to do is to have it so, if we get a DNS-over-TCP query, and sending a UDP query upstream results in a truncated packet, we try to get the query upstream over TCP and send the full packet back over TCP. (UDP queries that get truncated packets will get a truncated reply)
If we cache these replies, it's important to note they're too big to fit in a UDP packet and must be sent over TCP.
As an aside, these kinds of packets are very rare. The upstream DNS servers I have been using for a while have recently started dropping DNS-over-UDP packets, and I didn't even notice until I did TCP testing with Deadwood.