opnsense-src/usr.bin/netstat/Makefile
Kyle Evans 49f31b5e0c netstat: strip the binary of sgid
Everything in the live path seems to use sysctls these days, with kvm
only being used for pulling information from core dumps.  Strip the
binary of /dev/{k,}mem access to reduce the surface area with access
to kmem.

Reviewed by:	glebius, markj
Differential Revision:	https://reviews.freebsd.org/D47210
2025-04-20 13:18:44 -05:00

72 lines
1.4 KiB
Makefile

.include <src.opts.mk>
PROG= netstat
SRCS= if.c inet.c main.c mbuf.c mroute.c netisr.c nl_symbols.c route.c \
unix.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c common.c nhops.c nhgrp.c \
nl_defs.h
nl_symbols.c: nlist_symbols
awk '\
BEGIN { \
print "#include <sys/param.h>"; \
print "#include <nlist.h>"; \
print "struct nlist nl[] = {"; \
} \
!/^\#/ { printf("\t{ .n_name = \"%s\" },\n", $$2); } \
END { print "\t{ .n_name = NULL },\n};" } \
' < ${.ALLSRC} > ${.TARGET} || rm -f ${.TARGET}
nl_defs.h: nlist_symbols
awk '\
BEGIN { \
print "#include <nlist.h>"; \
print "extern struct nlist nl[];"; \
i = 0; \
} \
!/^\#/ { printf("\#define\tN%s\t%s\n", toupper($$2), i++); }' \
< ${.ALLSRC} > ${.TARGET} || rm -f ${.TARGET}
CLEANFILES+= nl_symbols.c nl_defs.h
CFLAGS+= -I${.OBJDIR}
WARNS?= 3
CFLAGS+=-fno-strict-aliasing
CFLAGS+=-DIPSEC
CFLAGS+=-DSCTP
.if ${MK_INET_SUPPORT} != "no"
CFLAGS+=-DINET
.endif
.if ${MK_INET6_SUPPORT} != "no"
SRCS+= inet6.c
CFLAGS+=-DINET6
.endif
.if ${MK_OFED} != "no"
CFLAGS+=-DSDP
.endif
.if ${MK_PF} != "no"
CFLAGS+=-DPF
.endif
LIBADD= kvm memstat xo util
.if ${MK_NETGRAPH_SUPPORT} != "no"
SRCS+= netgraph.c
LIBADD+= netgraph
CFLAGS+=-DNETGRAPH
.endif
.if ${MK_NETLINK_SUPPORT} != "no"
SRCS+= route_netlink.c
.else
CFLAGS+=-DWITHOUT_NETLINK
.endif
.if ${MK_JAIL} != "no" && !defined(RESCUE)
CFLAGS+= -DJAIL
LIBADD+= jail
.endif
.include <bsd.prog.mk>