X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/705b9b159806e6e96839c81668f685a6576ea961..9964d8052f8415c96ee1f66723fde3eeab5fe77a:/src/event.c diff --git a/src/event.c b/src/event.c index 7050ca8..e083b89 100644 --- a/src/event.c +++ b/src/event.c @@ -339,6 +339,7 @@ int adns__pollfds(adns_state ads, struct pollfd pollfds_buf[MAX_POLLFDS]) { int adns_processreadable(adns_state ads, int fd, const struct timeval *now) { int want, dgramlen, r, i, udpaddrlen, serv, old_skip; byte udpbuf[DNS_MAXUDP]; + char addrbuf[MAX_ADDRSTRLEN]; struct udpsocket *udp; adns_sockaddr udpaddr; @@ -408,13 +409,12 @@ int adns_processreadable(adns_state ads, int fd, const struct timeval *now) { } for (serv= 0; serv < ads->nservers && - !(udpaddr.sa.sa_family == ads->servers[serv].addr.sa.sa_family && - udp->ai->sockaddr_equalp(&udpaddr.sa, - &ads->servers[serv].addr.sa)); + !adns__sockaddr_equal_p(&udpaddr.sa, + &ads->servers[serv].addr.sa); serv++); if (serv >= ads->nservers) { adns__warn(ads,-1,0,"datagram received from unknown nameserver %s", - adns__sockaddr_ntoa(&udpaddr.sa, udpaddrlen)); + adns__sockaddr_ntoa(&udpaddr.sa, udpaddrlen, addrbuf)); continue; } adns__procdgram(ads,udpbuf,r,serv,0,*now);