From: Wouter Wijngaards Date: Mon, 20 Jul 2009 08:35:13 +0000 (+0000) Subject: ignore transient sendto conditions. X-Git-Tag: release-1.3.3rc1~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1bd145b600753855ee0c8c0da1adf7ec120d6fe;p=thirdparty%2Funbound.git ignore transient sendto conditions. git-svn-id: file:///svn/unbound/trunk@1731 be551aaa-1e26-0410-a405-d3ace91eadb9 --- 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. */