$OpenBSD: patch-lib_isc_unix_socket_c,v 1.15 2019/09/19 14:46:47 sthen Exp $

Index: lib/isc/unix/socket.c
--- lib/isc/unix/socket.c.orig
+++ lib/isc/unix/socket.c
@@ -2903,7 +2903,7 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *s
 		}
 #endif
 	}
-#ifdef IPV6_RECVTCLASS
+#if 0 /* pledge doesn't allow setsockopt IPV6_RECVTCLASS */
 	if ((sock->pf == AF_INET6)
 	    && (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_RECVTCLASS,
 			   (void *)&on, sizeof(on)) < 0)) {
@@ -6390,6 +6390,13 @@ isc__socket_isbound(isc_socket_t *sock0) {
 void
 isc__socket_ipv6only(isc_socket_t *sock0, bool yes) {
 	isc__socket_t *sock = (isc__socket_t *)sock0;
+#ifdef __OpenBSD__
+/*
+ * pledge doesn't allow setting IPV6_V6ONLY, but that's ok,
+ * IPV6_V6ONLY is always enabled on OpenBSD;
+ */
+#undef IPV6_V6ONLY
+#endif
 #if defined(IPV6_V6ONLY)
 	int onoff = yes ? 1 : 0;
 #else
