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",