diff options
| author | martin <martin@NetBSD.org> | 2019-08-19 15:56:49 +0000 |
|---|---|---|
| committer | martin <martin@NetBSD.org> | 2019-08-19 15:56:49 +0000 |
| commit | c8f473f3d1cdb2667b7b9f29475991e1d19e930b (patch) | |
| tree | 61e3f8cb3037b7d645cc6cacfe00764ade94aaf9 /usr.bin | |
| parent | b344ab76c9563de2b546ef68bb6a51ebaac61a8c (diff) | |
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.
Diffstat (limited to 'usr.bin')
| -rw-r--r-- | usr.bin/netstat/Makefile | 6 | ||||
| -rw-r--r-- | usr.bin/netstat/atalk.c | 7 | ||||
| -rw-r--r-- | usr.bin/netstat/bpf.c | 6 | ||||
| -rw-r--r-- | usr.bin/netstat/fast_ipsec.c | 15 | ||||
| -rw-r--r-- | usr.bin/netstat/inet.c | 20 | ||||
| -rw-r--r-- | usr.bin/netstat/inet6.c | 16 | ||||
| -rw-r--r-- | usr.bin/netstat/netstat_hostops.c | 10 | ||||
| -rw-r--r-- | usr.bin/netstat/netstat_rumpops.c | 11 | ||||
| -rw-r--r-- | usr.bin/netstat/pfkey.c | 7 | ||||
| -rw-r--r-- | usr.bin/netstat/pfsync.c | 8 | ||||
| -rw-r--r-- | usr.bin/netstat/prog_ops.h | 20 |
11 files changed, 81 insertions, 45 deletions
diff --git a/usr.bin/netstat/Makefile b/usr.bin/netstat/Makefile index d11ef0de801..2b0e2f2b066 100644 --- a/usr.bin/netstat/Makefile +++ b/usr.bin/netstat/Makefile @@ -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 sysctlgetmibinfo.c sysctlnametomib.c 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 diff --git a/usr.bin/netstat/atalk.c b/usr.bin/netstat/atalk.c index 0c91362e390..12929802171 100644 --- a/usr.bin/netstat/atalk.c +++ b/usr.bin/netstat/atalk.c @@ -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/06 13:08:31 joerg Exp $"); #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 { diff --git a/usr.bin/netstat/bpf.c b/usr.bin/netstat/bpf.c index fcb82e66682..1e700f3fd22 100644 --- a/usr.bin/netstat/bpf.c +++ b/usr.bin/netstat/bpf.c @@ -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; diff --git a/usr.bin/netstat/fast_ipsec.c b/usr.bin/netstat/fast_ipsec.c index ed4fc4531d9..3c027c80d5a 100644 --- a/usr.bin/netstat/fast_ipsec.c +++ b/usr.bin/netstat/fast_ipsec.c @@ -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 2017/06/29 07:15:27 ozaki-r Exp $"); #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 *name) 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 *name) } 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"); diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index 7c22865ec78..8f03137dce2 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -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_t *len) { 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 { diff --git a/usr.bin/netstat/inet6.c b/usr.bin/netstat/inet6.c index f059171dedb..575e91af3dc 100644 --- a/usr.bin/netstat/inet6.c +++ b/usr.bin/netstat/inet6.c @@ -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 { diff --git a/usr.bin/netstat/netstat_hostops.c b/usr.bin/netstat/netstat_hostops.c index be38f914be6..1876db43139 100644 --- a/usr.bin/netstat/netstat_hostops.c +++ b/usr.bin/netstat/netstat_hostops.c @@ -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.1 2010/12/13 21:15:30 pooka Exp $"); const struct prog_ops prog_ops = { .op_sysctl = sysctl, + + .op_sysctlbyname = sysctlbyname, + + .op_sysctlgetmibinfo = sysctlgetmibinfo, + + .op_sysctlnametomib = sysctlnametomib, }; diff --git a/usr.bin/netstat/netstat_rumpops.c b/usr.bin/netstat/netstat_rumpops.c index 92ad0e10a82..e1585add6f8 100644 --- a/usr.bin/netstat/netstat_rumpops.c +++ b/usr.bin/netstat/netstat_rumpops.c @@ -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, }; diff --git a/usr.bin/netstat/pfkey.c b/usr.bin/netstat/pfkey.c index 9ad0089df58..fbaede04883 100644 --- a/usr.bin/netstat/pfkey.c +++ b/usr.bin/netstat/pfkey.c @@ -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/06 14:21:16 drochner Exp $"); #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 { diff --git a/usr.bin/netstat/pfsync.c b/usr.bin/netstat/pfsync.c index ca1813fb566..06847b37ada 100644 --- a/usr.bin/netstat/pfsync.c +++ b/usr.bin/netstat/pfsync.c @@ -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 *name) 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 *name) #undef p #undef p2 } - - diff --git a/usr.bin/netstat/prog_ops.h b/usr.bin/netstat/prog_ops.h index ec8f76282d9..8a2cf326476 100644 --- a/usr.bin/netstat/prog_ops.h +++ b/usr.bin/netstat/prog_ops.h @@ -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_ */ |
