- fixed file descriptor leak for localzone type deny (for TCP).
- fixed memleak at exit for nsec3 negative cached zones.
- fixed memleak for the keyword 'nodefault' when reading config.
+ - made verbosity of 'edns incapable peer' warning higher, so you
+ do not get spammed by it.
+ - caught elusive Bad file descriptor error bug, that would print the
+ error while unnecessarily try to listen to a closed fd. Fixed.
4 November 2008: Wouter
- fixed -Wwrite-strings warnings that result in better code.
if(sq->status == serviced_query_PROBE_EDNS) {
/* probe without EDNS succeeds, so we conclude that this
* host likely has EDNS packets dropped */
- log_addr(VERB_OPS, "timeouts, concluded that connection to "
+ log_addr(VERB_DETAIL, "timeouts, concluded that connection to "
"host drops EDNS packets", &sq->addr, sq->addrlen);
if(!infra_edns_update(outnet->infra, &sq->addr, sq->addrlen,
-1, (uint32_t)now.tv_sec)) {
if(recv == -1) {
#ifndef USE_WINSOCK
if(errno != EAGAIN && errno != EINTR)
- log_err("recvfrom failed: %s", strerror(errno));
+ log_err("recvfrom %d failed: %s",
+ fd, strerror(errno));
#else
if(WSAGetLastError() != WSAEINPROGRESS &&
WSAGetLastError() != WSAECONNRESET &&
(void)comm_point_send_udp_msg(rep.c, rep.c->buffer,
(struct sockaddr*)&rep.addr, rep.addrlen);
}
- if(rep.c->fd == -1) /* commpoint closed */
+ if(rep.c->fd != fd) /* commpoint closed to -1 or reused for
+ another UDP port. Note rep.c cannot be reused with TCP fd. */
break;
}
}