diff --git a/doc/Changelog b/doc/Changelog index 92781f284..58f240a10 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,6 @@ +20 July 2009: Wouter + - Ignore transient sendto errors, no route to host, and host, net down. + 16 July 2009: Wouter - fix replacement malloc code. Used in crosscompile. - makedist -w creates crosscompiled setup.exe on fedora11. diff --git a/util/netevent.c b/util/netevent.c index c10f688ce..93b1a04be 100644 --- a/util/netevent.c +++ b/util/netevent.c @@ -250,9 +250,26 @@ comm_point_send_udp_msg(struct comm_point *c, ldns_buffer* packet, ldns_buffer_remaining(packet), 0, addr, addrlen); if(sent == -1) { -#ifdef ENETUNREACH - if(errno == ENETUNREACH && verbosity < VERB_ALGO) - return 0; + /* do not log transient errors (unless high verbosity) */ +#if defined(ENETUNREACH) || defined(EHOSTDOWN) || defined(EHOSTUNREACH) || defined(ENETDOWN) + switch(errno) { +# ifdef ENETUNREACH + case ENETUNREACH: +# endif +# ifdef EHOSTDOWN + case EHOSTDOWN: +# endif +# ifdef EHOSTUNREACH + case EHOSTUNREACH: +# endif +# ifdef ENETDOWN + case ENETDOWN: +# endif + if(verbosity < VERB_ALGO) + return 0; + default: + break; + } #endif /* squelch errors where people deploy AAAA ::ffff:bla for * authority servers, which we try for intranets. */