Mon Aug 13 13:37:14 2018 UTC ()
bind910: Make ENOBUFS a soft error. Needed for netbsd>=8.
See https://gitlab.isc.org/isc-projects/bind9/issues/462
Bump PKGREVISION.


(maya)
diff -r1.42 -r1.43 pkgsrc/net/bind910/Makefile
diff -r0 -r1.1 pkgsrc/net/bind910/patches/patch-lib_isc_unix_socket.c

cvs diff -r1.42 -r1.43 pkgsrc/net/bind910/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/net/bind910/Attic/Makefile 2018/08/09 14:49:09 1.42
+++ pkgsrc/net/bind910/Attic/Makefile 2018/08/13 13:37:14 1.43
@@ -1,17 +1,18 @@ @@ -1,17 +1,18 @@
1# $NetBSD: Makefile,v 1.42 2018/08/09 14:49:09 taca Exp $ 1# $NetBSD: Makefile,v 1.43 2018/08/13 13:37:14 maya Exp $
2 2
3DISTNAME= bind-${BIND_VERSION} 3DISTNAME= bind-${BIND_VERSION}
4PKGNAME= ${DISTNAME:S/-P/pl/} 4PKGNAME= ${DISTNAME:S/-P/pl/}
 5PKGREVISION= 1
5CATEGORIES= net 6CATEGORIES= net
6MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/ 7MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/
7 8
8MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://www.isc.org/software/bind/ 10HOMEPAGE= http://www.isc.org/software/bind/
10COMMENT= Berkeley Internet Name Daemon implementation of DNS, version 9.10 11COMMENT= Berkeley Internet Name Daemon implementation of DNS, version 9.10
11LICENSE= mpl-2.0 12LICENSE= mpl-2.0
12 13
13CONFLICTS+= host-[0-9]* 14CONFLICTS+= host-[0-9]*
14 15
15MAKE_JOBS_SAFE= no 16MAKE_JOBS_SAFE= no
16 17
17BIND_VERSION= 9.10.8-P1 18BIND_VERSION= 9.10.8-P1

File Added: pkgsrc/net/bind910/patches/Attic/patch-lib_isc_unix_socket.c
$NetBSD: patch-lib_isc_unix_socket.c,v 1.1 2018/08/13 13:37:14 maya Exp $

Make ENOBUFS a soft error
https://gitlab.isc.org/isc-projects/bind9/issues/462

--- lib/isc/unix/socket.c.orig	2018-07-24 17:26:47.000000000 +0000
+++ lib/isc/unix/socket.c
@@ -255,6 +255,7 @@ typedef enum { poll_idle, poll_active, p
 #define SOFT_ERROR(e)	((e) == EAGAIN || \
 			 (e) == EWOULDBLOCK || \
 			 (e) == EINTR || \
+			 (e) == ENOBUFS || \
 			 (e) == 0)
 
 #define DLVL(x) ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_SOCKET, ISC_LOG_DEBUG(x)
@@ -1949,7 +1950,7 @@ doio_recv(isc__socket_t *sock, isc_socke
 		SOFT_OR_HARD(EHOSTDOWN, ISC_R_HOSTDOWN);
 		/* HPUX 11.11 can return EADDRNOTAVAIL. */
 		SOFT_OR_HARD(EADDRNOTAVAIL, ISC_R_ADDRNOTAVAIL);
-		ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES);
+		SOFT_OR_HARD(ENOBUFS, ISC_R_NORESOURCES);
 		/* Should never get this one but it was seen. */
 #ifdef ENOPROTOOPT
 		SOFT_OR_HARD(ENOPROTOOPT, ISC_R_HOSTUNREACH);
@@ -2146,7 +2147,7 @@ doio_send(isc__socket_t *sock, isc_socke
 		ALWAYS_HARD(EHOSTDOWN, ISC_R_HOSTUNREACH);
 #endif
 		ALWAYS_HARD(ENETUNREACH, ISC_R_NETUNREACH);
-		ALWAYS_HARD(ENOBUFS, ISC_R_NORESOURCES);
+		SOFT_OR_HARD(ENOBUFS, ISC_R_NORESOURCES);
 		ALWAYS_HARD(EPERM, ISC_R_HOSTUNREACH);
 		ALWAYS_HARD(EPIPE, ISC_R_NOTCONNECTED);
 		ALWAYS_HARD(ECONNRESET, ISC_R_CONNECTIONRESET);