diff --git a/src/forward.c b/src/forward.c index ab9df26..5ff4e86 100644 --- a/src/forward.c +++ b/src/forward.c @@ -366,6 +366,12 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, src->log_id = daemon->log_id; src->iface = dst_iface; src->fd = udpfd; + + /* closely spaced identical queries cannot be a try and a retry, so + it's safe to wait for the reply from the first without + forwarding the second. */ + if (difftime(now, forward->time) < 2) + return 0; } }