summaryrefslogtreecommitdiff
path: root/net/bind910
diff options
context:
space:
mode:
authormaya <maya@pkgsrc.org>2018-08-13 13:37:14 +0000
committermaya <maya@pkgsrc.org>2018-08-13 13:37:14 +0000
commit5f54e097e878093b8cccca1dd31f8c4f0c2ddb41 (patch)
treee9ffbd37743cc3a53b5e33ec5486883dda2185e8 /net/bind910
parent6c97db542dc4b3e60207a1bdb7078c7bb736ba20 (diff)
downloadpkgsrc-5f54e097e878093b8cccca1dd31f8c4f0c2ddb41.tar.gz
bind910: Make ENOBUFS a soft error. Needed for netbsd>=8.
See https://gitlab.isc.org/isc-projects/bind9/issues/462 Bump PKGREVISION.
Diffstat (limited to 'net/bind910')
-rw-r--r--net/bind910/Makefile3
-rw-r--r--net/bind910/patches/patch-lib_isc_unix_socket.c33
2 files changed, 35 insertions, 1 deletions
diff --git a/net/bind910/Makefile b/net/bind910/Makefile
index 7216f96f7d3..fd39e699c65 100644
--- a/net/bind910/Makefile
+++ b/net/bind910/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.42 2018/08/09 14:49:09 taca Exp $
+# $NetBSD: Makefile,v 1.43 2018/08/13 13:37:14 maya Exp $
DISTNAME= bind-${BIND_VERSION}
PKGNAME= ${DISTNAME:S/-P/pl/}
+PKGREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/bind9/${BIND_VERSION}/
diff --git a/net/bind910/patches/patch-lib_isc_unix_socket.c b/net/bind910/patches/patch-lib_isc_unix_socket.c
new file mode 100644
index 00000000000..cc0599a58bf
--- /dev/null
+++ b/net/bind910/patches/patch-lib_isc_unix_socket.c
@@ -0,0 +1,33 @@
+$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);