Module Name:    src
Committed By:   martin
Date:           Mon Aug 19 15:56:49 UTC 2019

Modified Files:
        src/usr.bin/netstat [netbsd-9]: Makefile atalk.c bpf.c fast_ipsec.c
            inet.c inet6.c netstat_hostops.c netstat_rumpops.c pfkey.c pfsync.c
            prog_ops.h

Log Message:
Pull up following revision(s) (requested by kamil in ticket #94):

        usr.bin/netstat/netstat_rumpops.c: revision 1.2
        usr.bin/netstat/netstat_hostops.c: revision 1.2
        usr.bin/netstat/inet6.c: revision 1.73
        usr.bin/netstat/bpf.c: revision 1.14
        usr.bin/netstat/Makefile: revision 1.46
        usr.bin/netstat/prog_ops.h: revision 1.3
        usr.bin/netstat/pfsync.c: revision 1.2
        usr.bin/netstat/pfkey.c: revision 1.2
        usr.bin/netstat/fast_ipsec.c: revision 1.23
        usr.bin/netstat/atalk.c: revision 1.17
        usr.bin/netstat/inet.c: revision 1.110

netstat: Add indirection of symbols to remove clash with sanitizers

Add indirection and symbol renaming under MKSANITIZER for the linked in
version of sysctlbyname, sysctlgetmibinfo and sysctlnametomib.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.45.6.1 src/usr.bin/netstat/Makefile
cvs rdiff -u -r1.16 -r1.16.18.1 src/usr.bin/netstat/atalk.c
cvs rdiff -u -r1.13 -r1.13.4.1 src/usr.bin/netstat/bpf.c
cvs rdiff -u -r1.22 -r1.22.8.1 src/usr.bin/netstat/fast_ipsec.c
cvs rdiff -u -r1.109 -r1.109.2.1 src/usr.bin/netstat/inet.c
cvs rdiff -u -r1.72 -r1.72.2.1 src/usr.bin/netstat/inet6.c
cvs rdiff -u -r1.1 -r1.1.48.1 src/usr.bin/netstat/netstat_hostops.c \
    src/usr.bin/netstat/netstat_rumpops.c src/usr.bin/netstat/pfsync.c
cvs rdiff -u -r1.1 -r1.1.44.1 src/usr.bin/netstat/pfkey.c
cvs rdiff -u -r1.2 -r1.2.48.1 src/usr.bin/netstat/prog_ops.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/netstat/Makefile
diff -u src/usr.bin/netstat/Makefile:1.45 src/usr.bin/netstat/Makefile:1.45.6.1
--- src/usr.bin/netstat/Makefile:1.45	Tue Oct 10 19:31:10 2017
+++ src/usr.bin/netstat/Makefile	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.45 2017/10/10 19:31:10 christos Exp $
+#	$NetBSD: Makefile,v 1.45.6.1 2019/08/19 15:56:49 martin Exp $
 #	from: @(#)Makefile	8.1 (Berkeley) 6/12/93
 
 .include <bsd.own.mk>
@@ -25,6 +25,10 @@ RUMPSRCS+= sysctlbyname.c sysctlgetmibin
 LDADD.rump+=	-lrumpres
 DPADD.add+=	${LIBRUMPRES}
 CPPFLAGS+=      -DRUMP_ACTION
+
+SANITIZER_RENAME_CLASSES+=	rump
+SANITIZER_RENAME_FILES.rump+=	${PROG}_rumpops.c ${RUMPSRCS}
+SANITIZER_RENAME_SYMBOL.rump+=	sysctlbyname sysctlgetmibinfo sysctlnametomib
 .endif
 
 

Index: src/usr.bin/netstat/atalk.c
diff -u src/usr.bin/netstat/atalk.c:1.16 src/usr.bin/netstat/atalk.c:1.16.18.1
--- src/usr.bin/netstat/atalk.c:1.16	Sat Jun  6 13:08:31 2015
+++ src/usr.bin/netstat/atalk.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: atalk.c,v 1.16 2015/06/06 13:08:31 joerg Exp $	*/
+/*	$NetBSD: atalk.c,v 1.16.18.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 1983, 1988, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "from @(#)atalk.c	1.1 (Whistle) 6/6/96";
 #else
-__RCSID("$NetBSD: atalk.c,v 1.16 2015/06/06 13:08:31 joerg Exp $");
+__RCSID("$NetBSD: atalk.c,v 1.16.18.1 2019/08/19 15:56:49 martin Exp $");
 #endif
 #endif /* not lint */
 
@@ -61,6 +61,7 @@ __RCSID("$NetBSD: atalk.c,v 1.16 2015/06
 #include <stdio.h>
 #include <string.h>
 #include "netstat.h"
+#include "prog_ops.h"
 
 struct ddpcb    ddpcb;
 struct socket   sockb;
@@ -290,7 +291,7 @@ ddp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(ddpstat);
 
-		if (sysctlbyname("net.atalk.ddp.stats", ddpstat, &size,
+		if (prog_sysctlbyname("net.atalk.ddp.stats", ddpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {

Index: src/usr.bin/netstat/bpf.c
diff -u src/usr.bin/netstat/bpf.c:1.13 src/usr.bin/netstat/bpf.c:1.13.4.1
--- src/usr.bin/netstat/bpf.c:1.13	Tue Jun 26 09:50:42 2018
+++ src/usr.bin/netstat/bpf.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: bpf.c,v 1.13 2018/06/26 09:50:42 msaitoh Exp $	*/
+/*	$NetBSD: bpf.c,v 1.13.4.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -53,7 +53,7 @@ bpf_stats(void)
 	size_t len = sizeof(bpf_s);
 
 	if (use_sysctl) {
-		if (sysctlbyname("net.bpf.stats", &bpf_s, &len, NULL, 0) == -1)
+		if (prog_sysctlbyname("net.bpf.stats", &bpf_s, &len, NULL, 0) == -1)
 			err(1, "net.bpf.stats");
 	
 		printf("bpf:\n");
@@ -83,7 +83,7 @@ bpf_dump(const char *bpfif)
 		/* adapted from sockstat.c by Andrew Brown */
 
 		sz = CTL_MAXNAME;
-		if (sysctlnametomib("net.bpf.peers", &name[0], &sz) == -1)
+		if (prog_sysctlnametomib("net.bpf.peers", &name[0], &sz) == -1)
 			err(1, "sysctlnametomib: net.bpf.peers");
 		namelen = sz;
 

Index: src/usr.bin/netstat/fast_ipsec.c
diff -u src/usr.bin/netstat/fast_ipsec.c:1.22 src/usr.bin/netstat/fast_ipsec.c:1.22.8.1
--- src/usr.bin/netstat/fast_ipsec.c:1.22	Thu Jun 29 07:15:27 2017
+++ src/usr.bin/netstat/fast_ipsec.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: fast_ipsec.c,v 1.22 2017/06/29 07:15:27 ozaki-r Exp $ */
+/*	$NetBSD: fast_ipsec.c,v 1.22.8.1 2019/08/19 15:56:49 martin Exp $ */
 /* 	$FreeBSD: src/tools/tools/crypto/ipsecstats.c,v 1.1.4.1 2003/06/03 00:13:13 sam Exp $ */
 
 /*-
@@ -33,7 +33,7 @@
 #include <sys/cdefs.h>
 #ifndef lint
 #ifdef __NetBSD__
-__RCSID("$NetBSD: fast_ipsec.c,v 1.22 2017/06/29 07:15:27 ozaki-r Exp $");
+__RCSID("$NetBSD: fast_ipsec.c,v 1.22.8.1 2019/08/19 15:56:49 martin Exp $");
 #endif
 #endif /* not lint*/
 
@@ -62,6 +62,7 @@ __RCSID("$NetBSD: fast_ipsec.c,v 1.22 20
 #include <string.h>
 
 #include "netstat.h"
+#include "prog_ops.h"
 
 /*
  * Table-driven mapping from SADB algorithm codes to string names.
@@ -116,7 +117,7 @@ fast_ipsec_stats(u_long off, const char 
 	memset(ipips, 0, sizeof(ipips));
 
 	slen = sizeof(ipsecstats);
-	status = sysctlbyname("net.inet.ipsec.ipsecstats", ipsecstats, &slen,
+	status = prog_sysctlbyname("net.inet.ipsec.ipsecstats", ipsecstats, &slen,
 			      NULL, 0);
 	if (status < 0) {
 		if (errno == ENOENT)
@@ -126,22 +127,22 @@ fast_ipsec_stats(u_long off, const char 
 	}
 
 	slen = sizeof (ahstats);
-	status = sysctlbyname("net.inet.ah.ah_stats", ahstats, &slen, NULL, 0);
+	status = prog_sysctlbyname("net.inet.ah.ah_stats", ahstats, &slen, NULL, 0);
 	if (status < 0 && errno != ENOMEM)
 		err(1, "net.inet.ah.ah_stats");
 
 	slen = sizeof (espstats);
-	status = sysctlbyname("net.inet.esp.esp_stats", espstats, &slen, NULL, 0);
+	status = prog_sysctlbyname("net.inet.esp.esp_stats", espstats, &slen, NULL, 0);
 	if (status < 0 && errno != ENOMEM)
 		err(1, "net.inet.esp.esp_stats");
 
 	slen = sizeof(ipcs);
-	status = sysctlbyname("net.inet.ipcomp.ipcomp_stats", ipcs, &slen, NULL, 0);
+	status = prog_sysctlbyname("net.inet.ipcomp.ipcomp_stats", ipcs, &slen, NULL, 0);
 	if (status < 0 && errno != ENOMEM)
 		err(1, "net.inet.ipcomp.ipcomp_stats");
 
 	slen = sizeof(ipips);
-	status = sysctlbyname("net.inet.ipip.ipip_stats", ipips, &slen, NULL, 0);
+	status = prog_sysctlbyname("net.inet.ipip.ipip_stats", ipips, &slen, NULL, 0);
 	if (status < 0 && errno != ENOMEM)
 		err(1, "net.inet.ipip.ipip_stats");
 

Index: src/usr.bin/netstat/inet.c
diff -u src/usr.bin/netstat/inet.c:1.109 src/usr.bin/netstat/inet.c:1.109.2.1
--- src/usr.bin/netstat/inet.c:1.109	Mon May 13 07:48:42 2019
+++ src/usr.bin/netstat/inet.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: inet.c,v 1.109 2019/05/13 07:48:42 ozaki-r Exp $	*/
+/*	$NetBSD: inet.c,v 1.109.2.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 1983, 1988, 1993
@@ -34,7 +34,7 @@
 #if 0
 static char sccsid[] = "from: @(#)inet.c	8.4 (Berkeley) 4/20/94";
 #else
-__RCSID("$NetBSD: inet.c,v 1.109 2019/05/13 07:48:42 ozaki-r Exp $");
+__RCSID("$NetBSD: inet.c,v 1.109.2.1 2019/08/19 15:56:49 martin Exp $");
 #endif
 #endif /* not lint */
 
@@ -241,7 +241,7 @@ getpcblist_sysctl(const char *name, size
 		err(1, "asprintf");
 
 	/* get dynamic pcblist node */
-	if (sysctlnametomib(mibname, mib, &namelen) == -1) {
+	if (prog_sysctlnametomib(mibname, mib, &namelen) == -1) {
 		if (errno == ENOENT) {
 			*len = 0;
 			return NULL;
@@ -403,7 +403,7 @@ tcp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(tcpstat);
 
-		if (sysctlbyname("net.inet.tcp.stats", tcpstat, &size,
+		if (prog_sysctlbyname("net.inet.tcp.stats", tcpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -530,7 +530,7 @@ udp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(udpstat);
 
-		if (sysctlbyname("net.inet.udp.stats", udpstat, &size,
+		if (prog_sysctlbyname("net.inet.udp.stats", udpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -583,7 +583,7 @@ ip_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(ipstat);
 
-		if (sysctlbyname("net.inet.ip.stats", ipstat, &size,
+		if (prog_sysctlbyname("net.inet.ip.stats", ipstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -648,7 +648,7 @@ icmp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(icmpstat);
 
-		if (sysctlbyname("net.inet.icmp.stats", icmpstat, &size,
+		if (prog_sysctlbyname("net.inet.icmp.stats", icmpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -704,7 +704,7 @@ igmp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(igmpstat);
 
-		if (sysctlbyname("net.inet.igmp.stats", igmpstat, &size,
+		if (prog_sysctlbyname("net.inet.igmp.stats", igmpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -742,7 +742,7 @@ carp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(carpstat);
 
-		if (sysctlbyname("net.inet.carp.stats", carpstat, &size,
+		if (prog_sysctlbyname("net.inet.carp.stats", carpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -828,7 +828,7 @@ arp_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(arpstat);
 
-		if (sysctlbyname("net.inet.arp.stats", arpstat, &size,
+		if (prog_sysctlbyname("net.inet.arp.stats", arpstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {

Index: src/usr.bin/netstat/inet6.c
diff -u src/usr.bin/netstat/inet6.c:1.72 src/usr.bin/netstat/inet6.c:1.72.2.1
--- src/usr.bin/netstat/inet6.c:1.72	Mon May 13 07:48:42 2019
+++ src/usr.bin/netstat/inet6.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: inet6.c,v 1.72 2019/05/13 07:48:42 ozaki-r Exp $	*/
+/*	$NetBSD: inet6.c,v 1.72.2.1 2019/08/19 15:56:49 martin Exp $	*/
 /*	BSDI inet.c,v 2.3 1995/10/24 02:19:29 prb Exp	*/
 
 /*
@@ -64,7 +64,7 @@
 #if 0
 static char sccsid[] = "@(#)inet.c	8.4 (Berkeley) 4/20/94";
 #else
-__RCSID("$NetBSD: inet6.c,v 1.72 2019/05/13 07:48:42 ozaki-r Exp $");
+__RCSID("$NetBSD: inet6.c,v 1.72.2.1 2019/08/19 15:56:49 martin Exp $");
 #endif
 #endif /* not lint */
 
@@ -416,7 +416,7 @@ tcp6_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(tcp6stat);
 
-		if (sysctlbyname("net.inet6.tcp6.stats", &tcp6stat, &size,
+		if (prog_sysctlbyname("net.inet6.tcp6.stats", &tcp6stat, &size,
 		    NULL, 0) == -1)
 			return;
 	} else {
@@ -502,7 +502,7 @@ udp6_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(udp6stat);
 
-		if (sysctlbyname("net.inet6.udp6.stats", udp6stat, &size,
+		if (prog_sysctlbyname("net.inet6.udp6.stats", udp6stat, &size,
 		    NULL, 0) == -1)
 			return;
 	} else {
@@ -646,7 +646,7 @@ ip6_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(ip6stat);
 
-		if (sysctlbyname("net.inet6.ip6.stats", ip6stat, &size,
+		if (prog_sysctlbyname("net.inet6.ip6.stats", ip6stat, &size,
 		    NULL, 0) == -1)
 			return;
 	} else {
@@ -1132,7 +1132,7 @@ icmp6_stats(u_long off, const char *name
 	if (use_sysctl) {
 		size_t size = sizeof(icmp6stat);
 
-		if (sysctlbyname("net.inet6.icmp6.stats", icmp6stat, &size,
+		if (prog_sysctlbyname("net.inet6.icmp6.stats", icmp6stat, &size,
 		    NULL, 0) == -1)
 			return;
 	} else {
@@ -1280,7 +1280,7 @@ pim6_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(pim6stat);
 
-		if (sysctlbyname("net.inet6.pim6.stats", pim6stat, &size,
+		if (prog_sysctlbyname("net.inet6.pim6.stats", pim6stat, &size,
 		    NULL, 0) == -1)
 			return;
         } else {
@@ -1313,7 +1313,7 @@ rip6_stats(u_long off, const char *name)
 	if (use_sysctl) {
 		size_t size = sizeof(rip6stat);
 
-		if (sysctlbyname("net.inet6.raw6.stats", rip6stat, &size,
+		if (prog_sysctlbyname("net.inet6.raw6.stats", rip6stat, &size,
 		    NULL, 0) == -1)
 			return;
 	} else {

Index: src/usr.bin/netstat/netstat_hostops.c
diff -u src/usr.bin/netstat/netstat_hostops.c:1.1 src/usr.bin/netstat/netstat_hostops.c:1.1.48.1
--- src/usr.bin/netstat/netstat_hostops.c:1.1	Mon Dec 13 21:15:30 2010
+++ src/usr.bin/netstat/netstat_hostops.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netstat_hostops.c,v 1.1 2010/12/13 21:15:30 pooka Exp $	*/
+/*	$NetBSD: netstat_hostops.c,v 1.1.48.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: netstat_hostops.c,v 1.1 2010/12/13 21:15:30 pooka Exp $");
+__RCSID("$NetBSD: netstat_hostops.c,v 1.1.48.1 2019/08/19 15:56:49 martin Exp $");
 #endif /* !lint */
 
 #include <sys/types.h>
@@ -38,4 +38,10 @@ __RCSID("$NetBSD: netstat_hostops.c,v 1.
 
 const struct prog_ops prog_ops = {
 	.op_sysctl = sysctl,
+
+	.op_sysctlbyname = sysctlbyname,
+
+	.op_sysctlgetmibinfo = sysctlgetmibinfo,
+
+	.op_sysctlnametomib = sysctlnametomib,
 };
Index: src/usr.bin/netstat/netstat_rumpops.c
diff -u src/usr.bin/netstat/netstat_rumpops.c:1.1 src/usr.bin/netstat/netstat_rumpops.c:1.1.48.1
--- src/usr.bin/netstat/netstat_rumpops.c:1.1	Mon Dec 13 21:15:30 2010
+++ src/usr.bin/netstat/netstat_rumpops.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: netstat_rumpops.c,v 1.1 2010/12/13 21:15:30 pooka Exp $	*/
+/*	$NetBSD: netstat_rumpops.c,v 1.1.48.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -28,10 +28,11 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: netstat_rumpops.c,v 1.1 2010/12/13 21:15:30 pooka Exp $");
+__RCSID("$NetBSD: netstat_rumpops.c,v 1.1.48.1 2019/08/19 15:56:49 martin Exp $");
 #endif /* !lint */
 
 #include <sys/types.h>
+#include <sys/sysctl.h>
 
 #include <rump/rump.h>
 #include <rump/rumpclient.h>
@@ -43,4 +44,10 @@ const struct prog_ops prog_ops = {
 	.op_init =	rumpclient_init,
 
 	.op_sysctl =	rump_sys___sysctl,
+
+	.op_sysctlbyname =	sysctlbyname,
+
+	.op_sysctlgetmibinfo =	sysctlgetmibinfo,
+
+	.op_sysctlnametomib =	sysctlnametomib,
 };
Index: src/usr.bin/netstat/pfsync.c
diff -u src/usr.bin/netstat/pfsync.c:1.1 src/usr.bin/netstat/pfsync.c:1.1.48.1
--- src/usr.bin/netstat/pfsync.c:1.1	Tue Mar  1 19:01:59 2011
+++ src/usr.bin/netstat/pfsync.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pfsync.c,v 1.1 2011/03/01 19:01:59 dyoung Exp $	*/
+/*	$NetBSD: pfsync.c,v 1.1.48.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 1983, 1988, 1993
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: pfsync.c,v 1.1 2011/03/01 19:01:59 dyoung Exp $");
+__RCSID("$NetBSD: pfsync.c,v 1.1.48.1 2019/08/19 15:56:49 martin Exp $");
 #endif /* not lint */
 
 #define	_CALLOUT_PRIVATE	/* for defs in sys/callout.h */
@@ -81,7 +81,7 @@ pfsync_stats(u_long off, const char *nam
 	if (use_sysctl) {
 		size_t size = sizeof(pfsyncstat);
 
-		if (sysctlbyname("net.inet.pfsync.stats", pfsyncstat, &size,
+		if (prog_sysctlbyname("net.inet.pfsync.stats", pfsyncstat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {
@@ -115,5 +115,3 @@ pfsync_stats(u_long off, const char *nam
 #undef p
 #undef p2
 }
-
-

Index: src/usr.bin/netstat/pfkey.c
diff -u src/usr.bin/netstat/pfkey.c:1.1 src/usr.bin/netstat/pfkey.c:1.1.44.1
--- src/usr.bin/netstat/pfkey.c:1.1	Fri Jan  6 14:21:16 2012
+++ src/usr.bin/netstat/pfkey.c	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pfkey.c,v 1.1 2012/01/06 14:21:16 drochner Exp $	*/
+/*	$NetBSD: pfkey.c,v 1.1.44.1 2019/08/19 15:56:49 martin Exp $	*/
 /*	$KAME: ipsec.c,v 1.33 2003/07/25 09:54:32 itojun Exp $	*/
 
 /*
@@ -65,7 +65,7 @@
 static char sccsid[] = "from: @(#)inet.c	8.4 (Berkeley) 4/20/94";
 #else
 #ifdef __NetBSD__
-__RCSID("$NetBSD: pfkey.c,v 1.1 2012/01/06 14:21:16 drochner Exp $");
+__RCSID("$NetBSD: pfkey.c,v 1.1.44.1 2019/08/19 15:56:49 martin Exp $");
 #endif
 #endif
 #endif /* not lint */
@@ -84,6 +84,7 @@ __RCSID("$NetBSD: pfkey.c,v 1.1 2012/01/
 #include <string.h>
 #include <unistd.h>
 #include "netstat.h"
+#include "prog_ops.h"
 
 #ifdef IPSEC 
 
@@ -119,7 +120,7 @@ pfkey_stats(u_long off, const char *name
 	if (use_sysctl) {
 		size_t size = sizeof(pfkeystat);
 
-		if (sysctlbyname("net.key.stats", pfkeystat, &size,
+		if (prog_sysctlbyname("net.key.stats", pfkeystat, &size,
 				 NULL, 0) == -1)
 			return;
 	} else {

Index: src/usr.bin/netstat/prog_ops.h
diff -u src/usr.bin/netstat/prog_ops.h:1.2 src/usr.bin/netstat/prog_ops.h:1.2.48.1
--- src/usr.bin/netstat/prog_ops.h:1.2	Wed Dec 15 11:22:41 2010
+++ src/usr.bin/netstat/prog_ops.h	Mon Aug 19 15:56:49 2019
@@ -1,4 +1,4 @@
-/*      $NetBSD: prog_ops.h,v 1.2 2010/12/15 11:22:41 pooka Exp $	*/
+/*      $NetBSD: prog_ops.h,v 1.2.48.1 2019/08/19 15:56:49 martin Exp $	*/
 
 /*
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -32,19 +32,37 @@
 #include <sys/types.h>
 
 #ifndef CRUNCHOPS
+struct sysctlnode;
+
 struct prog_ops {
 	int (*op_init)(void);
 
 	int (*op_sysctl)(const int *, u_int, void *, size_t *,
 			 const void *, size_t);
+
+	/* Indirection needed for sanitizers. */
+
+	int (*op_sysctlbyname)(const char *, void *, size_t *,
+			 const void *, size_t);
+
+	int (*op_sysctlgetmibinfo)(const char *, int *, u_int *,
+			 char *, size_t *, struct sysctlnode **, int);
+
+	int (*op_sysctlnametomib)(const char *, int *, size_t *);
 };
 extern const struct prog_ops prog_ops;
 
 #define prog_init prog_ops.op_init
 #define prog_sysctl prog_ops.op_sysctl
+#define prog_sysctlbyname prog_ops.op_sysctlbyname
+#define prog_sysctlgetmibinfo prog_ops.op_sysctlgetmibinfo
+#define prog_sysctlnametomib prog_ops.op_sysctlnametomib
 #else
 #define prog_init ((int (*)(void))NULL)
 #define prog_sysctl sysctl
+#define prog_sysctlbyname sysctlbyname
+#define prog_sysctlgetmibinfo sysctlgetmibinfo
+#define prog_sysctlnametomib sysctlnametomib
 #endif
 
 #endif /* _PROG_OPS_H_ */

Reply via email to