Merge "Upgrade libpcap to libpcap-1.10.4" into main am: 3c1261e097 am: 9dd00d801d am: add6d68112 am: b2fea0522e am: 7649e486ca

Original change: https://android-review.googlesource.com/c/platform/external/libpcap/+/2655590

Change-Id: Ib593801b3ae4d7746d061a9439cee47b49449c84
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/CHANGES b/CHANGES
index d174cd5..c574a27 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,17 @@
+Friday, April 7, 2023 / The Tcpdump Group
+  Summary for 1.10.4 libpcap release
+    Source code:
+      Fix spaces before tabs in indentation.
+    rpcap:
+      Fix name of launchd service.
+    Documentation:
+      Document use of rpcapd with systemd, launchd, inetd, and xinetd.
+    Building and testing:
+      Require at least pkg-config 0.17.0, as we use --static.
+      Get rid of the remains of gnuc.h.
+      Require at least autoconf 2.69.
+      Update config.{guess,sub}, timestamps 2023-01-01,2023-01-21.
+
 Thursday, January 12, 2023 / The Tcpdump Group
   Summary for 1.10.3 libpcap release
     Source code:
@@ -1010,7 +1024,7 @@
 	Add support to build libpcap.lib and wpcap.dll under Cygnus and
 	 MingW32.
 
-Mon. 	September 5, 2005.  ken@xelerance.com. Summary for 0.9.4 libpcap release
+Mon.	September 5, 2005.  ken@xelerance.com. Summary for 0.9.4 libpcap release
 
 	Support for radiotap on Linux (Mike Kershaw)
 	Fixes for HP-UX
@@ -1021,7 +1035,7 @@
 	parts of the filter expression to look at the PPP headers and
 	headers in the PPP payload
 
-Tue. 	July 5, 2005.  ken@xelerance.com. Summary for 0.9.3 libpcap release
+Tue.	July 5, 2005.  ken@xelerance.com. Summary for 0.9.3 libpcap release
 
 	Fixes for compiling on nearly every platform,
 		including improved 64bit support
@@ -1060,16 +1074,16 @@
 
 Tuesday, February 25, 2003. fenner@research.att.com.  0.7.2 release
 
- 	Support link types that use 802.2 always, never, and sometimes.
- 	Don't decrease the size of the BPF buffer from the default.
- 	Support frame relay.
- 	Handle 32-bit timestamps in DLPI, and pass the right buffer size.
- 	Handle Linux systems with modern kernel but without
- 	 SOL_PACKET in the userland headers.
- 	Linux support for ARPHRD_RAWHDLC.
- 	Handle 32-bit timestamps in snoop.
- 	Support eg (Octane/O2xxx/O3xxx Gigabit) devices.
- 	Add new reserved DLT types.
+	Support link types that use 802.2 always, never, and sometimes.
+	Don't decrease the size of the BPF buffer from the default.
+	Support frame relay.
+	Handle 32-bit timestamps in DLPI, and pass the right buffer size.
+	Handle Linux systems with modern kernel but without
+	 SOL_PACKET in the userland headers.
+	Linux support for ARPHRD_RAWHDLC.
+	Handle 32-bit timestamps in snoop.
+	Support eg (Octane/O2xxx/O3xxx Gigabit) devices.
+	Add new reserved DLT types.
 
 Monday October 23, 2001. mcr@sandelman.ottawa.on.ca. Summary for 0.7 release
 
diff --git a/METADATA b/METADATA
index 8ca5f37..b9f284e 100644
--- a/METADATA
+++ b/METADATA
@@ -1,6 +1,6 @@
 # This project was upgraded with external_updater.
 # Usage: tools/external_updater/updater.sh update libpcap
-# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+# For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
 
 name: "libpcap"
 description: "A system-independent interface for user-level packet capture."
@@ -13,14 +13,14 @@
     type: GIT
     value: "https://github.com/the-tcpdump-group/libpcap.git"
   }
-  version: "libpcap-1.10.3"
+  version: "libpcap-1.10.4"
   license_type: NOTICE
   security {
     tag: "NVD-CPE2.3:cpe:/a:tcpdump:libpcap:-"
   }
   last_upgrade_date {
     year: 2023
-    month: 2
-    day: 14
+    month: 7
+    day: 12
   }
 }
diff --git a/Makefile.in b/Makefile.in
index 5424658..3468e20 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,5 +1,5 @@
 #  Copyright (c) 1993, 1994, 1995, 1996
-# 	The Regents of the University of California.  All rights reserved.
+#	The Regents of the University of California.  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 #  modification, are permitted provided that: (1) source code distributions
@@ -810,7 +810,7 @@
 distclean: clean
 	rm -f Makefile grammar.y config.cache config.log config.status \
 	    config.h config.h.in~ configure~ configure.ac~ \
-	    gnuc.h net os-proto.h libpcap.pc pcap-config stamp-h stamp-h.in
+	    net os-proto.h libpcap.pc pcap-config stamp-h stamp-h.in
 	rm -f $(MAN3PCAP_EXPAND:.in=) $(MANFILE:.in=) $(MANMISC:.in=)
 	rm -rf autom4te.cache
 	(cd rpcapd; $(MAKE) distclean)
diff --git a/README.md b/README.md
index 46c33c2..e38b9a1 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@
 system-dependent packet capture modules in each application.
 
 ```text
-formerly from 	Lawrence Berkeley National Laboratory
+formerly from	Lawrence Berkeley National Laboratory
 		Network Research Group <libpcap@ee.lbl.gov>
 		ftp://ftp.ee.lbl.gov/old/libpcap-0.4a7.tar.Z
 ```
diff --git a/VERSION b/VERSION
index 587c5f0..18b3114 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.10.3
+1.10.4
diff --git a/aclocal.m4 b/aclocal.m4
index 502a371..9ec93c2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1103,9 +1103,8 @@
 dnl
 dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
 dnl first found in the path. Checks that the version of pkg-config found
-dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
-dnl used since that's the first version where most current features of
-dnl pkg-config existed.
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.17.0 is
+dnl used since that's the first version where --static was supported.
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -1118,7 +1117,7 @@
 	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
 fi
 if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=m4_default([$1], [0.9.0])
+	_pkg_min_version=m4_default([$1], [0.17.0])
 	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
 	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
 		AC_MSG_RESULT([yes])
@@ -1205,8 +1204,8 @@
 		#
 		# That failed - report an error.
 		#
-	   	AC_MSG_RESULT([error])
-        	_PKG_SHORT_ERRORS_SUPPORTED
+		AC_MSG_RESULT([error])
+		_PKG_SHORT_ERRORS_SUPPORTED
 	        if test $_pkg_short_errors_supported = yes; then
 		        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
 	        else
@@ -1229,7 +1228,7 @@
 		#
 		# We don't have pkg-config, so it didn't work.
 		#
-	     	AC_MSG_RESULT([not found (pkg-config not found)])
+		AC_MSG_RESULT([not found (pkg-config not found)])
 	else
 		#
 		# We found the package.
diff --git a/config.guess b/config.guess
index a419d86..69188da 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2022 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2022-08-01'
+timestamp='2023-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -60,7 +60,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -966,6 +966,12 @@
 	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
 	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
 	;;
+    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+	;;
+    *:[Mm]anagarm:*:*)
+	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+	;;
     *:Minix:*:*)
 	GUESS=$UNAME_MACHINE-unknown-minix
 	;;
diff --git a/config.h b/config.h
index 58dfb41..be85de2 100644
--- a/config.h
+++ b/config.h
@@ -291,7 +291,7 @@
 #define PACKAGE_NAME "pcap"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "pcap 1.10.3"
+#define PACKAGE_STRING "pcap 1.10.4"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "pcap"
@@ -300,7 +300,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.10.3"
+#define PACKAGE_VERSION "1.10.4"
 
 /* target host supports Bluetooth sniffing */
 /* #undef PCAP_SUPPORT_BT */
diff --git a/config.sub b/config.sub
index fbaa37f..de4259e 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2022 Free Software Foundation, Inc.
+#   Copyright 1992-2023 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2022-08-01'
+timestamp='2023-01-21'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -76,7 +76,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2023 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -145,7 +145,7 @@
 			nto-qnx* | linux-* | uclinux-uclibc* \
 			| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
 			| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
-			| storm-chaos* | os2-emx* | rtmk-nova*)
+			| storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
 				basic_machine=$field1
 				basic_os=$maybe_os
 				;;
@@ -1075,7 +1075,7 @@
 	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
 		cpu=i586
 		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+	pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
 		cpu=i686
 		;;
 	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
@@ -1341,6 +1341,10 @@
 		kernel=linux
 		os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
 		;;
+	managarm*)
+		kernel=managarm
+		os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+		;;
 	*)
 		kernel=
 		os=$basic_os
@@ -1754,7 +1758,7 @@
 	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
 	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
 	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
-	     | fiwix* )
+	     | fiwix* | mlibc* )
 		;;
 	# This one is extra strict with allowed versions
 	sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
@@ -1762,6 +1766,9 @@
 		;;
 	none)
 		;;
+	kernel* )
+		# Restricted further below
+		;;
 	*)
 		echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
 		exit 1
@@ -1772,16 +1779,26 @@
 # (given a valid OS), if there is a kernel.
 case $kernel-$os in
 	linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
-		   | linux-musl* | linux-relibc* | linux-uclibc* )
+		   | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* )
 		;;
 	uclinux-uclibc* )
 		;;
-	-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
+	managarm-mlibc* | managarm-kernel* )
+		;;
+	-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
 		# These are just libc implementations, not actual OSes, and thus
 		# require a kernel.
 		echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
 		exit 1
 		;;
+	-kernel* )
+		echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
+		exit 1
+		;;
+	*-kernel* )
+		echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
+		exit 1
+		;;
 	kfreebsd*-gnu* | kopensolaris*-gnu*)
 		;;
 	vxworks-simlinux | vxworks-simwindows | vxworks-spe)
diff --git a/configure b/configure
index 91fd180..4f8fd5a 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for pcap 1.10.3.
+# Generated by GNU Autoconf 2.69 for pcap 1.10.4.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
 # Identity of this package.
 PACKAGE_NAME='pcap'
 PACKAGE_TARNAME='pcap'
-PACKAGE_VERSION='1.10.3'
-PACKAGE_STRING='pcap 1.10.3'
+PACKAGE_VERSION='1.10.4'
+PACKAGE_STRING='pcap 1.10.4'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1354,7 +1354,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures pcap 1.10.3 to adapt to many kinds of systems.
+\`configure' configures pcap 1.10.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1420,7 +1420,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pcap 1.10.3:";;
+     short | recursive ) echo "Configuration of pcap 1.10.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1584,7 +1584,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pcap configure 1.10.3
+pcap configure 1.10.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2506,7 +2506,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by pcap $as_me 1.10.3, which was
+It was created by pcap $as_me 1.10.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -6110,7 +6110,7 @@
 _ACEOF
 if ac_fn_c_try_compile "$LINENO"; then :
 
-	        # GNU-style
+		# GNU-style
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
 
@@ -7343,9 +7343,9 @@
 		V_PCAP=linux
 		VALGRINDTEST_SRC=valgrindtest.c
 	elif test "$ac_cv_header_net_pfilt_h" = yes; then
-	        #
-	        # DEC OSF/1, Digital UNIX, Tru64 UNIX
-        	#
+		#
+		# DEC OSF/1, Digital UNIX, Tru64 UNIX
+		#
 		V_PCAP=pf
 	elif test "$ac_cv_header_net_enet_h" = yes; then
 		#
@@ -7505,7 +7505,7 @@
 
 fi
 if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
+	_pkg_min_version=0.17.0
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
 	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
@@ -7784,14 +7784,14 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-enet.c"
+	PLATFORM_C_SRC="pcap-enet.c"
 	;;
 
 haiku)
 	#
 	# Capture module
 	#
- 	PLATFORM_CXX_SRC="pcap-haiku.cpp"
+	PLATFORM_CXX_SRC="pcap-haiku.cpp"
 
 	#
 	# Just for the sake of it.
@@ -7815,7 +7815,7 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-linux.c"
+	PLATFORM_C_SRC="pcap-linux.c"
 
 	#
 	# Do we have the wireless extensions?
@@ -7938,7 +7938,7 @@
 		#
 		# That failed - report an error.
 		#
-	   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
 $as_echo "error" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -7969,7 +7969,7 @@
 		#
 		# We don't have pkg-config, so it didn't work.
 		#
-	     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
 $as_echo "not found (pkg-config not found)" >&6; }
 	else
 		#
@@ -8115,7 +8115,7 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-bpf.c"
+	PLATFORM_C_SRC="pcap-bpf.c"
 
 	#
 	# Check whether we have the *BSD-style ioctls.
@@ -8160,21 +8160,21 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-pf.c"
+	PLATFORM_C_SRC="pcap-pf.c"
 	;;
 
 snit)
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-snit.c"
+	PLATFORM_C_SRC="pcap-snit.c"
 	;;
 
 snoop)
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-snoop.c"
+	PLATFORM_C_SRC="pcap-snoop.c"
 	;;
 
 dag)
@@ -8221,7 +8221,7 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-null.c"
+	PLATFORM_C_SRC="pcap-null.c"
 	;;
 
 *)
@@ -9387,7 +9387,7 @@
 		#
 		# That failed - report an error.
 		#
-	   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
 $as_echo "error" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -9418,7 +9418,7 @@
 		#
 		# We don't have pkg-config, so it didn't work.
 		#
-	     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
 $as_echo "not found (pkg-config not found)" >&6; }
 	else
 		#
@@ -12879,7 +12879,7 @@
 		#
 		# That failed - report an error.
 		#
-	   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
 $as_echo "error" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -12910,7 +12910,7 @@
 		#
 		# We don't have pkg-config, so it didn't work.
 		#
-	     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
 $as_echo "not found (pkg-config not found)" >&6; }
 	else
 		#
@@ -13350,7 +13350,7 @@
 		#
 		# That failed - report an error.
 		#
-	   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
 $as_echo "error" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -13375,7 +13375,7 @@
 		#
 		# We don't have pkg-config, so it didn't work.
 		#
-	     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
 $as_echo "not found (pkg-config not found)" >&6; }
 	else
 		#
@@ -13549,7 +13549,7 @@
 		#
 		# That failed - report an error.
 		#
-	   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: error" >&5
 $as_echo "error" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@@ -13580,7 +13580,7 @@
 		#
 		# We don't have pkg-config, so it didn't work.
 		#
-	     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found (pkg-config not found)" >&5
 $as_echo "not found (pkg-config not found)" >&6; }
 	else
 		#
@@ -14428,7 +14428,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by pcap $as_me 1.10.3, which was
+This file was extended by pcap $as_me 1.10.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14494,7 +14494,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-pcap config.status 1.10.3
+pcap config.status 1.10.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index ff7e490..ec601c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,7 +14,7 @@
 # config.sub.
 #
 
-AC_PREREQ(2.64)
+AC_PREREQ(2.69)
 
 AC_INIT(pcap, m4_esyscmd_s([cat VERSION]))
 AC_CONFIG_SRCDIR(pcap.c)
@@ -220,7 +220,7 @@
 )
 	    ],
 	    [
-	        # GNU-style
+		# GNU-style
 		AC_MSG_RESULT(yes)
 		AC_DEFINE(HAVE_GNU_STRERROR_R,,
 		    [Define to 1 if you have a GNU-style `strerror_r' function.])
@@ -783,9 +783,9 @@
 		V_PCAP=linux
 		VALGRINDTEST_SRC=valgrindtest.c
 	elif test "$ac_cv_header_net_pfilt_h" = yes; then
-	        #
-	        # DEC OSF/1, Digital UNIX, Tru64 UNIX
-        	#
+		#
+		# DEC OSF/1, Digital UNIX, Tru64 UNIX
+		#
 		V_PCAP=pf
 	elif test "$ac_cv_header_net_enet_h" = yes; then
 		#
@@ -982,14 +982,14 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-enet.c"
+	PLATFORM_C_SRC="pcap-enet.c"
 	;;
 
 haiku)
 	#
 	# Capture module
 	#
- 	PLATFORM_CXX_SRC="pcap-haiku.cpp"
+	PLATFORM_CXX_SRC="pcap-haiku.cpp"
 
 	#
 	# Just for the sake of it.
@@ -1001,7 +1001,7 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-linux.c"
+	PLATFORM_C_SRC="pcap-linux.c"
 
 	#
 	# Do we have the wireless extensions?
@@ -1102,7 +1102,7 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-bpf.c"
+	PLATFORM_C_SRC="pcap-bpf.c"
 
 	#
 	# Check whether we have the *BSD-style ioctls.
@@ -1127,21 +1127,21 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-pf.c"
+	PLATFORM_C_SRC="pcap-pf.c"
 	;;
 
 snit)
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-snit.c"
+	PLATFORM_C_SRC="pcap-snit.c"
 	;;
 
 snoop)
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-snoop.c"
+	PLATFORM_C_SRC="pcap-snoop.c"
 	;;
 
 dag)
@@ -1188,7 +1188,7 @@
 	#
 	# Capture module
 	#
- 	PLATFORM_C_SRC="pcap-null.c"
+	PLATFORM_C_SRC="pcap-null.c"
 	;;
 
 *)
diff --git a/gencode.c b/gencode.c
index 87a6e96..496e02f 100644
--- a/gencode.c
+++ b/gencode.c
@@ -7990,7 +7990,7 @@
 		default:
 			bpf_error(cstate, "not a broadcast link");
 		}
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	case Q_IP:
 		/*
@@ -8655,7 +8655,7 @@
 			return (b);
 		} else
 			bpf_error(cstate, "ARCnet address used in non-arc expression");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	default:
 		bpf_error(cstate, "aid supported only on ARCnet");
@@ -8691,27 +8691,27 @@
 
 	case Q_ADDR1:
 		bpf_error(cstate, "'addr1' and 'address1' are only supported on 802.11");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	case Q_ADDR2:
 		bpf_error(cstate, "'addr2' and 'address2' are only supported on 802.11");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	case Q_ADDR3:
 		bpf_error(cstate, "'addr3' and 'address3' are only supported on 802.11");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	case Q_ADDR4:
 		bpf_error(cstate, "'addr4' and 'address4' are only supported on 802.11");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	case Q_RA:
 		bpf_error(cstate, "'ra' is only supported on 802.11");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 
 	case Q_TA:
 		bpf_error(cstate, "'ta' is only supported on 802.11");
- 		/*NOTREACHED*/
+		/*NOTREACHED*/
 	}
 	abort();
 	/*NOTREACHED*/
diff --git a/mkdep b/mkdep
index ef120bd..f85a447 100755
--- a/mkdep
+++ b/mkdep
@@ -92,7 +92,7 @@
 # hack can't deal with anything that requires a search path, and doesn't
 # even try for anything using bracket (<>) syntax.
 #
-# egrep '^#include[ 	]*".*"' /dev/null $* |
+# grep -E '^#include[[:blank:]]*".*"' /dev/null $* |
 # sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' -e 's/\.c/.o/' |
 
 #
diff --git a/msdos/makefile b/msdos/makefile
index 599a619..84819aa 100644
--- a/msdos/makefile
+++ b/msdos/makefile
@@ -104,7 +104,7 @@
 #
 pkt_rx0.obj:  msdos\pkt_rx0.asm
 
-bpf_filt.obj: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h
+bpf_filt.obj: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h
 
 bpf_imag.obj: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
 
@@ -134,7 +134,7 @@
 pcap-dos.obj: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h \
   msdos\pktdrvr.h
 
-pktdrvr.obj: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h \
+pktdrvr.obj: msdos\pktdrvr.c pcap-dos.h pcap-int.h \
   pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
 
 ndis2.obj: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
@@ -142,7 +142,7 @@
 
 pkt_rx0.o32:  msdos\pkt_rx0.asm
 
-bpf_filt.o32: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h
+bpf_filt.o32: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h
 
 bpf_imag.o32: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
 
@@ -172,7 +172,7 @@
 pcap-dos.o32: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h \
   msdos\pktdrvr.h
 
-pktdrvr.o32: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h \
+pktdrvr.o32: msdos\pktdrvr.c pcap-dos.h pcap-int.h \
   pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
 
 ndis2.o32: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
diff --git a/nametoaddr.c b/nametoaddr.c
index 55f9389..7a04a61 100644
--- a/nametoaddr.c
+++ b/nametoaddr.c
@@ -267,7 +267,7 @@
 	 * *not* always get set if getnetbyname_r() succeeds.
 	 */
 	np = NULL;
- 	err = getnetbyname_r(name, &result_buf, buf, sizeof buf, &np,
+	err = getnetbyname_r(name, &result_buf, buf, sizeof buf, &np,
 	    &h_errnoval);
 	if (err != 0) {
 		/*
@@ -296,16 +296,16 @@
 	else
 		np = &result_buf;
   #else
- 	/*
- 	 * We don't have any getnetbyname_r(); either we have a
- 	 * getnetbyname() that uses thread-specific data, in which
- 	 * case we're thread-safe (sufficiently recent FreeBSD,
- 	 * sufficiently recent Darwin-based OS, sufficiently recent
- 	 * HP-UX, sufficiently recent Tru64 UNIX), or we have the
- 	 * traditional getnetbyname() (everything else, including
- 	 * current NetBSD and OpenBSD), in which case we're not
- 	 * thread-safe.
- 	 */
+	/*
+	 * We don't have any getnetbyname_r(); either we have a
+	 * getnetbyname() that uses thread-specific data, in which
+	 * case we're thread-safe (sufficiently recent FreeBSD,
+	 * sufficiently recent Darwin-based OS, sufficiently recent
+	 * HP-UX, sufficiently recent Tru64 UNIX), or we have the
+	 * traditional getnetbyname() (everything else, including
+	 * current NetBSD and OpenBSD), in which case we're not
+	 * thread-safe.
+	 */
 	np = getnetbyname(name);
   #endif
 	if (np != NULL)
@@ -552,16 +552,16 @@
 	else
 		p = &result_buf;
   #else
- 	/*
- 	 * We don't have any getprotobyname_r(); either we have a
- 	 * getprotobyname() that uses thread-specific data, in which
- 	 * case we're thread-safe (sufficiently recent FreeBSD,
- 	 * sufficiently recent Darwin-based OS, sufficiently recent
- 	 * HP-UX, sufficiently recent Tru64 UNIX, Windows), or we have
+	/*
+	 * We don't have any getprotobyname_r(); either we have a
+	 * getprotobyname() that uses thread-specific data, in which
+	 * case we're thread-safe (sufficiently recent FreeBSD,
+	 * sufficiently recent Darwin-based OS, sufficiently recent
+	 * HP-UX, sufficiently recent Tru64 UNIX, Windows), or we have
 	 * the traditional getprotobyname() (everything else, including
- 	 * current NetBSD and OpenBSD), in which case we're not
- 	 * thread-safe.
- 	 */
+	 * current NetBSD and OpenBSD), in which case we're not
+	 * thread-safe.
+	 */
 	p = getprotobyname(str);
   #endif
 	if (p != 0)
diff --git a/optimize.c b/optimize.c
index 0ad0c41..9af4c15 100644
--- a/optimize.c
+++ b/optimize.c
@@ -3029,14 +3029,14 @@
  *
  * example DOT for BPF `ip src host 1.1.1.1' is:
     digraph BPF {
-    	block0 [shape=ellipse, id="block-0" label="BLOCK0\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2	jf 5" tooltip="val[A]=0 val[X]=0"];
-    	block1 [shape=ellipse, id="block-1" label="BLOCK1\n\n(002) ld       [26]\n(003) jeq      #0x1010101       jt 4	jf 5" tooltip="val[A]=0 val[X]=0"];
-    	block2 [shape=ellipse, id="block-2" label="BLOCK2\n\n(004) ret      #68" tooltip="val[A]=0 val[X]=0", peripheries=2];
-    	block3 [shape=ellipse, id="block-3" label="BLOCK3\n\n(005) ret      #0" tooltip="val[A]=0 val[X]=0", peripheries=2];
-    	"block0":se -> "block1":n [label="T"];
-    	"block0":sw -> "block3":n [label="F"];
-    	"block1":se -> "block2":n [label="T"];
-    	"block1":sw -> "block3":n [label="F"];
+	block0 [shape=ellipse, id="block-0" label="BLOCK0\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2	jf 5" tooltip="val[A]=0 val[X]=0"];
+	block1 [shape=ellipse, id="block-1" label="BLOCK1\n\n(002) ld       [26]\n(003) jeq      #0x1010101       jt 4	jf 5" tooltip="val[A]=0 val[X]=0"];
+	block2 [shape=ellipse, id="block-2" label="BLOCK2\n\n(004) ret      #68" tooltip="val[A]=0 val[X]=0", peripheries=2];
+	block3 [shape=ellipse, id="block-3" label="BLOCK3\n\n(005) ret      #0" tooltip="val[A]=0 val[X]=0", peripheries=2];
+	"block0":se -> "block1":n [label="T"];
+	"block0":sw -> "block3":n [label="F"];
+	"block1":se -> "block2":n [label="T"];
+	"block1":sw -> "block3":n [label="F"];
     }
  *
  *  After install graphviz on https://www.graphviz.org/, save it as bpf.dot
diff --git a/pcap-bt-linux.c b/pcap-bt-linux.c
index 37c8056..c7bfef1 100644
--- a/pcap-bt-linux.c
+++ b/pcap-bt-linux.c
@@ -367,9 +367,9 @@
 			case HCI_CMSG_DIR:
 				memcpy(&in, CMSG_DATA(cmsg), sizeof in);
 				break;
-                      	case HCI_CMSG_TSTAMP:
-                      		memcpy(&pkth.ts, CMSG_DATA(cmsg),
-                      		    sizeof pkth.ts);
+			case HCI_CMSG_TSTAMP:
+				memcpy(&pkth.ts, CMSG_DATA(cmsg),
+					sizeof pkth.ts);
 				break;
 		}
 		cmsg = CMSG_NXTHDR(&msg, cmsg);
diff --git a/pcap-common.c b/pcap-common.c
index 4f12d8a..75461b1 100644
--- a/pcap-common.c
+++ b/pcap-common.c
@@ -964,7 +964,7 @@
  * which is stored with each packet:
  *
  *   EXP_PDU_TAG_DISSECTOR_NAME      the name of the Wireshark dissector
- * 				     that can make sense of the data stored.
+ *				     that can make sense of the data stored.
  *
  *   EXP_PDU_TAG_HEUR_DISSECTOR_NAME the name of the Wireshark heuristic
  *				     dissector that can make sense of the
@@ -1240,7 +1240,7 @@
 	{ DLT_FR,		LINKTYPE_FRELAY },
 #endif
 
-	{ DLT_ATM_RFC1483, 	LINKTYPE_ATM_RFC1483 },
+	{ DLT_ATM_RFC1483,	LINKTYPE_ATM_RFC1483 },
 	{ DLT_RAW,		LINKTYPE_RAW },
 	{ DLT_SLIP_BSDOS,	LINKTYPE_SLIP_BSDOS },
 	{ DLT_PPP_BSDOS,	LINKTYPE_PPP_BSDOS },
diff --git a/pcap-libdlpi.c b/pcap-libdlpi.c
index 70cb5d4..f281fb9 100644
--- a/pcap-libdlpi.c
+++ b/pcap-libdlpi.c
@@ -344,7 +344,7 @@
 
 	linknamelist_t	*entry, *next;
 	linkwalk_t	lw = {NULL, 0};
-	int 		save_errno;
+	int		save_errno;
 
 	/*
 	 * Get the list of regular interfaces first.
diff --git a/pcap-linux.c b/pcap-linux.c
index 43d2a9f..13bd852 100644
--- a/pcap-linux.c
+++ b/pcap-linux.c
@@ -2,7 +2,7 @@
  *  pcap-linux.c: Packet capture interface to the Linux kernel
  *
  *  Copyright (c) 2000 Torsten Landschoff <torsten@debian.org>
- *  		       Sebastian Krahmer  <krahmer@cs.uni-potsdam.de>
+ *		       Sebastian Krahmer  <krahmer@cs.uni-potsdam.de>
  *
  *  License: BSD
  *
@@ -315,8 +315,8 @@
  */
 static int	iface_get_id(int fd, const char *device, char *ebuf);
 static int	iface_get_mtu(int fd, const char *device, char *ebuf);
-static int 	iface_get_arptype(int fd, const char *device, char *ebuf);
-static int 	iface_bind(int fd, int ifindex, char *ebuf, int protocol);
+static int	iface_get_arptype(int fd, const char *device, char *ebuf);
+static int	iface_bind(int fd, int ifindex, char *ebuf, int protocol);
 static int	enter_rfmon_mode(pcap_t *handle, int sock_fd,
     const char *device);
 static int	iface_get_ts_types(const char *device, pcap_t *handle,
@@ -3498,7 +3498,7 @@
 	 * don't need to poll.
 	 */
 	for (;;) {
-	 	/*
+		/*
 		 * Yes, we do this even in non-blocking mode, as it's
 		 * the only way to get error indications from a
 		 * tpacket socket.
diff --git a/pcap-netfilter-linux.c b/pcap-netfilter-linux.c
index 33204a5..2eb0fc8 100644
--- a/pcap-netfilter-linux.c
+++ b/pcap-netfilter-linux.c
@@ -526,8 +526,8 @@
 	nftype_t type = OTHER;
 	int i;
 
- 	if (strncmp(dev, NFLOG_IFACE, strlen(NFLOG_IFACE)) == 0) {
- 		dev += strlen(NFLOG_IFACE);
+	if (strncmp(dev, NFLOG_IFACE, strlen(NFLOG_IFACE)) == 0) {
+		dev += strlen(NFLOG_IFACE);
 		type = NFLOG;
 
 	} else if (strncmp(dev, NFQUEUE_IFACE, strlen(NFQUEUE_IFACE)) == 0) {
diff --git a/pcap-npf.c b/pcap-npf.c
index 62c526d..99b5981 100644
--- a/pcap-npf.c
+++ b/pcap-npf.c
@@ -2085,8 +2085,8 @@
   #ifdef OID_GEN_PHYSICAL_MEDIUM_EX
 		OID_GEN_PHYSICAL_MEDIUM_EX,
   #endif
-  		OID_GEN_PHYSICAL_MEDIUM
-  	};
+		OID_GEN_PHYSICAL_MEDIUM
+	};
 #define N_GEN_PHYSICAL_MEDIUM_OIDS	(sizeof gen_physical_medium_oids / sizeof gen_physical_medium_oids[0])
 	size_t i;
 #endif /* OID_GEN_PHYSICAL_MEDIUM */
@@ -2398,7 +2398,7 @@
 		desc++;
 
 	/*
- 	 * Found it - "desc" points to the first of the two
+	 * Found it - "desc" points to the first of the two
 	 * nulls at the end of the list of names, so the
 	 * first byte of the list of descriptions is two bytes
 	 * after it.
diff --git a/pcap-sita.c b/pcap-sita.c
index 2e5d442..70a3647 100644
--- a/pcap-sita.c
+++ b/pcap-sita.c
@@ -634,7 +634,7 @@
 						    "malloc");
 						return -1;
 					}
- 					memset((char *)addr, 0, sizeof(pcap_addr_t)); /* bzero() is deprecated, replaced with memset() */
+					memset((char *)addr, 0, sizeof(pcap_addr_t)); /* bzero() is deprecated, replaced with memset() */
 					if (iff->addresses == 0) iff->addresses = addr;
 					if (prev_addr) prev_addr->next = addr;							/* insert a forward link */
 					if (*ptr) {														/* if there is a count for the address */
diff --git a/pcap-sita.html b/pcap-sita.html
index 33f1e10..04f5129 100644
--- a/pcap-sita.html
+++ b/pcap-sita.html
@@ -52,16 +52,16 @@
 	<P>
 	<CENTER>
 	<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=3>
-    	<TR><TH>Application</TH>	<TH>Capture</TH>	<TH>Termination</TH></TR>
-    	<TR><TH VALIGN=TOP NOWRAP>wireshark</TH>
+	<TR><TH>Application</TH>	<TH>Capture</TH>	<TH>Termination</TH></TR>
+	<TR><TH VALIGN=TOP NOWRAP>wireshark</TH>
 			<TD VALIGN=TOP>pcap_dispatch(all packets in one buffer of capture only)</TD>
 			<TD VALIGN=TOP>pcap_breakloop()</TD>
 		</TR>
-    	<TR><TH VALIGN=TOP NOWRAP>tshark</TH>
+	<TR><TH VALIGN=TOP NOWRAP>tshark</TH>
 			<TD VALIGN=TOP>pcap_dispatch(one buffer of capture only)</TD>
 			<TD VALIGN=TOP>Since a CTRL-C was used to terminate the application, pcap_breakloop() is never called.</TD>
 		</TR>
-    	<TR><TH VALIGN=TOP NOWRAP>tcpdump</TH>
+	<TR><TH VALIGN=TOP NOWRAP>tcpdump</TH>
 			<TD VALIGN=TOP>pcap_loop(all packets in the next buffer, and loop forever)</TD>
 			<TD VALIGN=TOP>pcap_breakloop()</TD>
 		</TR>
@@ -771,13 +771,13 @@
 	<P>
 	<TABLE>
 		<TR>
-  			<TD STYLE="background-color: #c0FFc0">&nbsp;[Packet Header]&nbsp;</TD>
-  			<TD STYLE="background-color: #c0FFc0">&nbsp;[Packet Data]&nbsp;</TD>
-  			<TD STYLE="background-color: #c0c0FF">&nbsp;[Packet Header]&nbsp;</TD>
-  			<TD STYLE="background-color: #c0c0FF">&nbsp;[Packet Data]&nbsp;</TD>
-  			<TD STYLE="background-color: #e0c0c0">&nbsp;[Packet Header]&nbsp;</TD>
-  			<TD STYLE="background-color: #e0c0c0">&nbsp;[Packet Data]&nbsp;</TD>
-  			<TD>...</TD>
+			<TD STYLE="background-color: #c0FFc0">&nbsp;[Packet Header]&nbsp;</TD>
+			<TD STYLE="background-color: #c0FFc0">&nbsp;[Packet Data]&nbsp;</TD>
+			<TD STYLE="background-color: #c0c0FF">&nbsp;[Packet Header]&nbsp;</TD>
+			<TD STYLE="background-color: #c0c0FF">&nbsp;[Packet Data]&nbsp;</TD>
+			<TD STYLE="background-color: #e0c0c0">&nbsp;[Packet Header]&nbsp;</TD>
+			<TD STYLE="background-color: #e0c0c0">&nbsp;[Packet Data]&nbsp;</TD>
+			<TD>...</TD>
 		</TR>
 	</TABLE>
 
diff --git a/pcap-snf.c b/pcap-snf.c
index b885e02..fe9cc9c 100644
--- a/pcap-snf.c
+++ b/pcap-snf.c
@@ -403,7 +403,7 @@
 		 * the port?  If so, should we add them to the
 		 * entry for the device, if they're not already in the
 		 * list of IP addresses for the device?
- 		 */
+		 */
 		(void)snprintf(desc,MAX_DESC_LENGTH,"Myricom %ssnf%d",
 			merge ? "Merge Bitmask Port " : "",
 			merge ? 1 << ifa->snf_ifa_portnum : ifa->snf_ifa_portnum);
@@ -452,14 +452,14 @@
 			 */
                         ret = inet_pton(AF_INET, dev->name, &addr.sin_addr);
                         if (ret == 1) {
-                        	/*
-                        	 * Successful conversion of device name
-                        	 * to IPv4 address.
-                        	 */
-	                        addr.sin_family = AF_INET;
-        	                if (add_addr_to_dev(dev, &addr, sizeof(addr),
-                	            NULL, 0, NULL, 0, NULL, 0, errbuf) == -1)
-                        		return -1;
+				/*
+				 * Successful conversion of device name
+				 * to IPv4 address.
+				 */
+				addr.sin_family = AF_INET;
+				if (add_addr_to_dev(dev, &addr, sizeof(addr),
+				    NULL, 0, NULL, 0, NULL, 0, errbuf) == -1)
+					return -1;
                         } else if (ret == -1) {
 				/*
 				 * Error.
@@ -475,7 +475,7 @@
 	snf_freeifaddrs(ifaddrs);
 	/*
 	 * Create a snfX entry if port aggregation is enabled
-       	 */
+	 */
 	if (merge) {
 		/*
 		 * Add a new entry with all ports bitmask
diff --git a/pcap-usb-linux.c b/pcap-usb-linux.c
index 7020577..726e4a8 100644
--- a/pcap-usb-linux.c
+++ b/pcap-usb-linux.c
@@ -117,10 +117,10 @@
 #define MON_IOCX_MFETCH _IOWR(MON_IOC_MAGIC, 7, struct mon_bin_mfetch)
 #define MON_IOCH_MFLUSH _IO(MON_IOC_MAGIC, 8)
 
-#define MON_BIN_SETUP 	0x1 /* setup hdr is present*/
-#define MON_BIN_SETUP_ZERO 	0x2 /* setup buffer is not available */
-#define MON_BIN_DATA_ZERO 	0x4 /* data buffer is not available */
-#define MON_BIN_ERROR 	0x8
+#define MON_BIN_SETUP	0x1 /* setup hdr is present*/
+#define MON_BIN_SETUP_ZERO	0x2 /* setup buffer is not available */
+#define MON_BIN_DATA_ZERO	0x4 /* data buffer is not available */
+#define MON_BIN_ERROR	0x8
 
 /*
  * Private data for capturing on Linux USB.
@@ -373,13 +373,13 @@
 		ctrl.bRequest = USB_REQ_GET_DESCRIPTOR;
 		ctrl.wValue = USB_DT_DEVICE << 8;
 		ctrl.wIndex = 0;
- 		ctrl.wLength = sizeof(descriptor);
+		ctrl.wLength = sizeof(descriptor);
 #else
 		ctrl.requesttype = USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE;
 		ctrl.request = USB_REQ_GET_DESCRIPTOR;
 		ctrl.value = USB_DT_DEVICE << 8;
 		ctrl.index = 0;
- 		ctrl.length = sizeof(descriptor);
+		ctrl.length = sizeof(descriptor);
 #endif
 		ctrl.data = descriptor;
 		ctrl.timeout = CTRL_TIMEOUT;
@@ -463,7 +463,7 @@
 usb_activate(pcap_t* handle)
 {
 	struct pcap_usb_linux *handlep = handle->priv;
-	char 		full_path[USB_LINE_LEN];
+	char		full_path[USB_LINE_LEN];
 
 	/*
 	 * Turn a negative snapshot value (invalid), a snapshot value of
diff --git a/pcap/bpf.h b/pcap/bpf.h
index a8eb177..3970d0a 100644
--- a/pcap/bpf.h
+++ b/pcap/bpf.h
@@ -149,7 +149,7 @@
 #define		BPF_B		0x10
 /*				0x18	reserved; used by BSD/OS */
 #define BPF_MODE(code)	((code) & 0xe0)
-#define		BPF_IMM 	0x00
+#define		BPF_IMM	0x00
 #define		BPF_ABS		0x20
 #define		BPF_IND		0x40
 #define		BPF_MEM		0x60
@@ -243,8 +243,8 @@
  */
 struct bpf_insn {
 	u_short	code;
-	u_char 	jt;
-	u_char 	jf;
+	u_char	jt;
+	u_char	jf;
 	bpf_u_int32 k;
 };
 
diff --git a/pcap/dlt.h b/pcap/dlt.h
index ea8a5ba..0da6de2 100644
--- a/pcap/dlt.h
+++ b/pcap/dlt.h
@@ -110,7 +110,7 @@
  * From a quick look at sys/net/if_hippi.h and sys/net/if_hippisubr.c
  * in an older version of NetBSD , the header appears to be:
  *
- * 	a 1-byte ULP field (ULP-id)?
+ *	a 1-byte ULP field (ULP-id)?
  *
  *	a 1-byte flags field;
  *
@@ -1292,7 +1292,7 @@
  * which is stored with each packet:
  *
  *   EXP_PDU_TAG_DISSECTOR_NAME      the name of the Wireshark dissector
- * 				     that can make sense of the data stored.
+ *				     that can make sense of the data stored.
  *
  *   EXP_PDU_TAG_HEUR_DISSECTOR_NAME the name of the Wireshark heuristic
  *				     dissector that can make sense of the
diff --git a/pcap/pcap.h b/pcap/pcap.h
index 9fd14f5..6894b3c 100644
--- a/pcap/pcap.h
+++ b/pcap/pcap.h
@@ -571,7 +571,7 @@
 PCAP_API const u_char *pcap_next(pcap_t *, struct pcap_pkthdr *);
 
 PCAP_AVAILABLE_0_8
-PCAP_API int 	pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **);
+PCAP_API int	pcap_next_ex(pcap_t *, struct pcap_pkthdr **, const u_char **);
 
 PCAP_AVAILABLE_0_8
 PCAP_API void	pcap_breakloop(pcap_t *);
@@ -583,7 +583,7 @@
 PCAP_API int	pcap_setfilter(pcap_t *, struct bpf_program *);
 
 PCAP_AVAILABLE_0_9
-PCAP_API int 	pcap_setdirection(pcap_t *, pcap_direction_t);
+PCAP_API int	pcap_setdirection(pcap_t *, pcap_direction_t);
 
 PCAP_AVAILABLE_0_7
 PCAP_API int	pcap_getnonblock(pcap_t *, char *);
diff --git a/rpcapd/Makefile.in b/rpcapd/Makefile.in
index 3290679..b0145cf 100644
--- a/rpcapd/Makefile.in
+++ b/rpcapd/Makefile.in
@@ -1,5 +1,5 @@
 #  Copyright (c) 1993, 1994, 1995, 1996
-# 	The Regents of the University of California.  All rights reserved.
+#	The Regents of the University of California.  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 #  modification, are permitted provided that: (1) source code distributions
diff --git a/rpcapd/org.tcpdump.rpcapd.plist b/rpcapd/org.tcpdump.rpcapd.plist
index b0e2439..c485787 100644
--- a/rpcapd/org.tcpdump.rpcapd.plist
+++ b/rpcapd/org.tcpdump.rpcapd.plist
@@ -5,7 +5,7 @@
 	<key>Disabled</key>
 	<false/>
 	<key>Label</key>
-	<string>com.tcpdump.rpcapd</string>
+	<string>org.tcpdump.rpcapd</string>
 	<key>Program</key>
 	<string>/usr/local/libexec/rpcapd</string>
 	<key>ProgramArguments</key>
diff --git a/rpcapd/rpcapd.manadmin.in b/rpcapd/rpcapd.manadmin.in
index 791b4ad..f3ab6ea 100644
--- a/rpcapd/rpcapd.manadmin.in
+++ b/rpcapd/rpcapd.manadmin.in
@@ -30,7 +30,7 @@
 .\"  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 .\"  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.TH RPCAPD @MAN_ADMIN_COMMANDS@ "13 January 2019"
+.TH RPCAPD @MAN_ADMIN_COMMANDS@ "20 January 2023"
 .SH NAME
 rpcapd \- capture daemon to be controlled by a remote libpcap application
 .SH SYNOPSIS
@@ -173,6 +173,46 @@
 run as root or be owned by root and have suid set. Most operating
 systems provide more elegant solutions when run as user than the
 above solutions, all of them different.
+.LP
+If your system supports
+.BR systemd (1)
+and the corresponding
+.B rpcapd.socket
+and
+.B rpcapd@.service
+service files have been
+installed, the rpcapd service can be enabled by enabling the
+.B rpcapd.socket
+unit.
+.LP
+If your system supports
+.BR launchd (@MAN_ADMIN_COMMANDS@)
+and the
+.B org.tcpdump.rpcapd.plist
+file has been installed, the rpcapd service can be enabled by loading
+the
+.B org.tcpdump.rpcapd
+service.
+.LP
+If your system supports
+.BR inetd (@MAN_ADMIN_COMMANDS@)
+and the
+.B rpcapd.inetd.conf
+entry has been added to
+.BR inetd.conf (@MAN_FILE_FORMATS@),
+the rpcapd service can be enabled by telling
+.B inetd
+to reread its configuration file.
+.LP
+If your system supports
+.BR xinetd (@MAN_ADMIN_COMMANDS@)
+and the
+.B rpcapd.xinetd.conf
+entry has been added to
+.BR xinetd.conf (@MAN_FILE_FORMATS@),
+the rpcapd service can be enabled by telling
+.B xinetd
+to reread its configuration file.
 .SH OPTIONS
 .TP
 .BI \-b " address"
diff --git a/sockutils.c b/sockutils.c
index 933f326..1c07f76 100644
--- a/sockutils.c
+++ b/sockutils.c
@@ -1389,7 +1389,7 @@
  *
  *   SOCK_RECEIVALL_XXX:
  *
- * 	if SOCK_RECEIVEALL_NO, return as soon as some data is ready
+ *	if SOCK_RECEIVEALL_NO, return as soon as some data is ready
  *	if SOCK_RECEIVALL_YES, wait until 'size' data has been
  *	    received (in case the socket does not have enough data available).
  *
diff --git a/testprogs/Makefile.in b/testprogs/Makefile.in
index f195693..d3fd328 100644
--- a/testprogs/Makefile.in
+++ b/testprogs/Makefile.in
@@ -1,5 +1,5 @@
 #  Copyright (c) 1993, 1994, 1995, 1996
-# 	The Regents of the University of California.  All rights reserved.
+#	The Regents of the University of California.  All rights reserved.
 #
 #  Redistribution and use in source and binary forms, with or without
 #  modification, are permitted provided that: (1) source code distributions