From: Wouter Wijngaards Date: Tue, 26 Jan 2016 16:14:28 +0000 (+0000) Subject: - fix netbsd interface_automatic complain about unimplemented. X-Git-Tag: release-1.5.8~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5032f79224ce3817924ea981bcb2b8aee10c5751;p=thirdparty%2Funbound.git - fix netbsd interface_automatic complain about unimplemented. git-svn-id: file:///svn/unbound/trunk@3609 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index c778a1616..4f648eaf9 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -3,6 +3,8 @@ - Use arc4random instead of random in tests (because it is available, possibly as compat, anyway). - Fix cmsg alignment for argument to sendmsg on NetBSD. + - Fix that unbound complains about unimplemented IP_PKTINFO for + sendmsg on NetBSD (for interface-automatic). 25 January 2016: Wouter - Fix #738: Swig should not be invoked with CPPFLAGS. diff --git a/util/netevent.c b/util/netevent.c index 1f182a025..f198b8bc4 100644 --- a/util/netevent.c +++ b/util/netevent.c @@ -559,6 +559,12 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet, verbose(VERB_OPS, "sendmsg failed: %s", strerror(errno)); log_addr(VERB_OPS, "remote address is", (struct sockaddr_storage*)addr, addrlen); +#ifdef __NetBSD__ + /* netbsd 7 has IP_PKTINFO for recv but not send */ + if(errno == EINVAL && r->srctype == 4) + fatal_exit("sendmsg: No support for sendmsg(IP_PKTINFO). " + "Please disable interface-automatic"); +#endif return 0; } else if((size_t)sent != sldns_buffer_remaining(packet)) { log_err("sent %d in place of %d bytes",