Module Name: src
Committed By: christos
Date: Sun Mar 29 17:12:45 UTC 2020
Modified Files:
src/external/bsd/libpcap/dist: pcap-rpcap.c sockutils.c
src/external/bsd/libpcap/lib: Makefile shlib_version
Added Files:
src/external/bsd/libpcap: Makefile.inc
src/external/bsd/libpcap/sbin: Makefile Makefile.inc
src/external/bsd/libpcap/sbin/rpcapd: Makefile
Log Message:
ENABLE_REMOTE and add rpcapd(8)
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/bsd/libpcap/Makefile.inc
cvs rdiff -u -r1.1.1.3 -r1.2 src/external/bsd/libpcap/dist/pcap-rpcap.c \
src/external/bsd/libpcap/dist/sockutils.c
cvs rdiff -u -r1.26 -r1.27 src/external/bsd/libpcap/lib/Makefile
cvs rdiff -u -r1.6 -r1.7 src/external/bsd/libpcap/lib/shlib_version
cvs rdiff -u -r0 -r1.1 src/external/bsd/libpcap/sbin/Makefile \
src/external/bsd/libpcap/sbin/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/external/bsd/libpcap/sbin/rpcapd/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/libpcap/dist/pcap-rpcap.c
diff -u src/external/bsd/libpcap/dist/pcap-rpcap.c:1.1.1.3 src/external/bsd/libpcap/dist/pcap-rpcap.c:1.2
--- src/external/bsd/libpcap/dist/pcap-rpcap.c:1.1.1.3 Tue Oct 1 12:00:26 2019
+++ src/external/bsd/libpcap/dist/pcap-rpcap.c Sun Mar 29 13:12:45 2020
@@ -2701,7 +2701,7 @@ SOCKET pcap_remoteact_accept(const char
}
/* checks if the connecting host is among the ones allowed */
- if (sock_check_hostlist((char *)hostlist, RPCAP_HOSTLIST_SEP, &from, errbuf, PCAP_ERRBUF_SIZE) < 0)
+ if (sock_check_hostlist(__UNCONST(hostlist), RPCAP_HOSTLIST_SEP, &from, errbuf, PCAP_ERRBUF_SIZE) < 0)
{
rpcap_senderror(sockctrl, 0, PCAP_ERR_REMOTEACCEPT, errbuf, NULL);
sock_close(sockctrl, NULL, 0);
Index: src/external/bsd/libpcap/dist/sockutils.c
diff -u src/external/bsd/libpcap/dist/sockutils.c:1.1.1.3 src/external/bsd/libpcap/dist/sockutils.c:1.2
--- src/external/bsd/libpcap/dist/sockutils.c:1.1.1.3 Tue Oct 1 12:00:27 2019
+++ src/external/bsd/libpcap/dist/sockutils.c Sun Mar 29 13:12:45 2020
@@ -250,13 +250,13 @@ static int sock_ismcastaddr(const struct
{
if (saddr->sa_family == PF_INET)
{
- struct sockaddr_in *saddr4 = (struct sockaddr_in *) saddr;
+ const struct sockaddr_in *saddr4 = (const struct sockaddr_in *) saddr;
if (IN_MULTICAST(ntohl(saddr4->sin_addr.s_addr))) return 0;
else return -1;
}
else
{
- struct sockaddr_in6 *saddr6 = (struct sockaddr_in6 *) saddr;
+ const struct sockaddr_in6 *saddr6 = (const struct sockaddr_in6 *) saddr;
if (IN6_IS_ADDR_MULTICAST(&saddr6->sin6_addr)) return 0;
else return -1;
}
@@ -1534,7 +1534,7 @@ int sock_getascii_addrport(const struct
if ((flags & NI_NUMERICHOST) == 0) /* Check that we want literal names */
{
if ((sockaddr->ss_family == AF_INET6) &&
- (memcmp(&((struct sockaddr_in6 *) sockaddr)->sin6_addr, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", sizeof(struct in6_addr)) == 0))
+ (memcmp(&((const struct sockaddr_in6 *) sockaddr)->sin6_addr, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", sizeof(struct in6_addr)) == 0))
{
if (address)
pcap_strlcpy(address, SOCKET_NAME_NULL_DAD, addrlen);
@@ -1542,7 +1542,7 @@ int sock_getascii_addrport(const struct
}
}
- if (getnameinfo((struct sockaddr *) sockaddr, sockaddrlen, address, addrlen, port, portlen, flags) != 0)
+ if (getnameinfo((const struct sockaddr *) sockaddr, sockaddrlen, address, addrlen, port, portlen, flags) != 0)
{
/* If the user wants to receive an error message */
if (errbuf)
Index: src/external/bsd/libpcap/lib/Makefile
diff -u src/external/bsd/libpcap/lib/Makefile:1.26 src/external/bsd/libpcap/lib/Makefile:1.27
--- src/external/bsd/libpcap/lib/Makefile:1.26 Sun Oct 13 03:28:06 2019
+++ src/external/bsd/libpcap/lib/Makefile Sun Mar 29 13:12:45 2020
@@ -1,19 +1,14 @@
-# $NetBSD: Makefile,v 1.26 2019/10/13 07:28:06 mrg Exp $
+# $NetBSD: Makefile,v 1.27 2020/03/29 17:12:45 christos Exp $
USE_SHLIBDIR=yes
.include <bsd.own.mk>
USE_FORT?= yes # network protocol library
-CPPFLAGS+= -DPCAP_DONT_INCLUDE_PCAP_BPF_H -DHAVE_CONFIG_H -I${.OBJDIR}
+CPPFLAGS+= -DPCAP_DONT_INCLUDE_PCAP_BPF_H -DHAVE_CONFIG_H -DENABLE_REMOTE
+CPPFLAGS+= -I${.OBJDIR}
.SUFFIXES: .3 .3pcap
-__sed: .USE
- @rm -f ${.TARGET}
- ${TOOL_SED} -e 's,@MAN_FILE_FORMATS@,5,g' \
- -e 's,@MAN_MISC_INFO@,7,g' \
- -e 's,3PCAP,3,g' < ${.ALLSRC} > ${.TARGET}
-
.3pcap.3:
@rm -f ${.TARGET}
${TOOL_SED} -e 's,@MAN_FILE_FORMATS@,5,g' \
@@ -23,10 +18,9 @@ __sed: .USE
# Search first in the kernel for bpf_filter.c
.PATH: ${NETBSDSRCDIR}/sys/net
-SRCDIR= ${.CURDIR}/../dist
-.PATH: ${SRCDIR}
+.PATH: ${SRCDIR}
-LIB= pcap
+LIB= pcap
MAN3= \
pcap_activate.3pcap \
pcap_breakloop.3pcap \
@@ -142,11 +136,15 @@ nametoaddr.c \
optimize.c \
pcap-bpf.c \
pcap-common.c \
+pcap-new.c \
+pcap-rpcap.c \
pcap.c \
+rpcap-protocol.c \
savefile.c \
scanner.l \
sf-pcap.c \
-sf-pcapng.c
+sf-pcapng.c \
+sockutils.c
INCS= pcap/pcap.h pcap/namedb.h pcap/funcattrs.h \
@@ -168,6 +166,8 @@ COPTS.bpf_image.c+= -Wno-format-nonliter
COPTS.gencode.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-error=implicit-fallthrough :}
COPTS.pcap.c+= ${GCC_NO_FORMAT_TRUNCATION}
COPTS.pcap-bpf.c+= ${GCC_NO_STRINGOP_TRUNCATION}
+COPTS.pcap-new.c+= ${GCC_NO_FORMAT_TRUNCATION}
+COPTS.pcap-rpcap.c+= ${GCC_NO_FORMAT_TRUNCATION}
CWARNFLAGS.clang+= -Wno-format-extra-args \
-Wno-unneeded-internal-declaration
Index: src/external/bsd/libpcap/lib/shlib_version
diff -u src/external/bsd/libpcap/lib/shlib_version:1.6 src/external/bsd/libpcap/lib/shlib_version:1.7
--- src/external/bsd/libpcap/lib/shlib_version:1.6 Tue Oct 1 12:02:12 2019
+++ src/external/bsd/libpcap/lib/shlib_version Sun Mar 29 13:12:45 2020
@@ -1,5 +1,5 @@
-# $NetBSD: shlib_version,v 1.6 2019/10/01 16:02:12 christos Exp $
+# $NetBSD: shlib_version,v 1.7 2020/03/29 17:12:45 christos Exp $
# Remember to update distrib/sets/lists/base/shl.* when changing
#
major=8
-minor=0
+minor=1
Added files:
Index: src/external/bsd/libpcap/Makefile.inc
diff -u /dev/null src/external/bsd/libpcap/Makefile.inc:1.1
--- /dev/null Sun Mar 29 13:12:45 2020
+++ src/external/bsd/libpcap/Makefile.inc Sun Mar 29 13:12:45 2020
@@ -0,0 +1,11 @@
+# $NetBSD: Makefile.inc,v 1.1 2020/03/29 17:12:45 christos Exp $
+
+SRCDIR := ${.PARSEDIR}/dist
+
+__sed: .USE
+ @rm -f ${.TARGET}
+ ${TOOL_SED} \
+ -e 's,@MAN_FILE_FORMATS@,5,g' \
+ -e 's,@MAN_MISC_INFO@,7,g' \
+ -e 's,@MAN_ADMIN_COMMANDS@,8,g' \
+ -e 's,3PCAP,3,g' < ${.ALLSRC} > ${.TARGET}
Index: src/external/bsd/libpcap/sbin/Makefile
diff -u /dev/null src/external/bsd/libpcap/sbin/Makefile:1.1
--- /dev/null Sun Mar 29 13:12:45 2020
+++ src/external/bsd/libpcap/sbin/Makefile Sun Mar 29 13:12:45 2020
@@ -0,0 +1,5 @@
+# $NetBSD: Makefile,v 1.1 2020/03/29 17:12:45 christos Exp $
+
+SUBDIR=rpcapd
+
+.include <bsd.subdir.mk>
Index: src/external/bsd/libpcap/sbin/Makefile.inc
diff -u /dev/null src/external/bsd/libpcap/sbin/Makefile.inc:1.1
--- /dev/null Sun Mar 29 13:12:45 2020
+++ src/external/bsd/libpcap/sbin/Makefile.inc Sun Mar 29 13:12:45 2020
@@ -0,0 +1,2 @@
+# $NetBSD: Makefile.inc,v 1.1 2020/03/29 17:12:45 christos Exp $
+.include "../Makefile.inc"
Index: src/external/bsd/libpcap/sbin/rpcapd/Makefile
diff -u /dev/null src/external/bsd/libpcap/sbin/rpcapd/Makefile:1.1
--- /dev/null Sun Mar 29 13:12:45 2020
+++ src/external/bsd/libpcap/sbin/rpcapd/Makefile Sun Mar 29 13:12:45 2020
@@ -0,0 +1,39 @@
+# $NetBSD: Makefile,v 1.1 2020/03/29 17:12:45 christos Exp $
+
+USE_FORT?= yes # network server
+
+.include <bsd.init.mk>
+
+BINDIR= /usr/sbin
+.PATH: ${SRCDIR}/rpcapd
+
+PROG= rpcapd
+SRCS+= daemon.c fileconf.c log.c rpcapd.c
+
+MANADMININ+= rpcapd.manadmin.in
+MANFILEIN+= rpcapd-config.manfile.in
+
+MAN= ${MANADMININ:S/manadmin.in/8/g} ${MANFILEIN:S/manfile.in/5/g}
+CLEANFILES+= ${MAN}
+
+.for i in ${MANADMININ}
+${i:S/manadmin.in/8/}: ${i} __sed
+.endfor
+
+.for i in ${MANFILEIN}
+${i:S/manfile.in/5/}: ${i} __sed
+.endfor
+
+FILES= rpcapd.socket rpcapd.inetd.conf [email protected]
+FILESDIR= /usr/share/examples/rpcapd
+
+CPPFLAGS+= -pthread
+LDFLAGS+= -pthread
+CPPFLAGS+= -I${SRCDIR} -I${.CURDIR}/../../include
+CPPFLAGS+= -DHAVE_CONFIG_H -D_OPENBSD_SOURCE
+CPPFLAGS+= -DPCAP_DONT_INCLUDE_PCAP_BPF_H
+
+PROGDPLIBS+= pcap ${.CURDIR}/../../lib \
+ crypt ${NETBSDSRCDIR}/lib/libcrypt
+
+.include <bsd.prog.mk>