git: afdbf109c6a6 - main - libpcap: Update to 1.10.5

From: Joseph Mingrone <jrm_at_FreeBSD.org>
Date: Sat, 14 Sep 2024 17:11:21 UTC
The branch main has been updated by jrm:

URL: https://cgit.FreeBSD.org/src/commit/?id=afdbf109c6a661a729938f68211054a0a50d38ac

commit afdbf109c6a661a729938f68211054a0a50d38ac
Merge: 92adaa5862d5 025be3f592b9
Author:     Joseph Mingrone <jrm@FreeBSD.org>
AuthorDate: 2024-09-14 17:09:34 +0000
Commit:     Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2024-09-14 17:09:34 +0000

    libpcap: Update to 1.10.5
    
    Changes:        https://git.tcpdump.org/libpcap/blob/bbcbc9174df3298a854daee2b3e666a4b6e5383a:/CHANGES
    Reviewed by:    emaste
    Obtained from:  https://www.tcpdump.org/release/libpcap-1.10.5.tar.gz
    Sponsored by:   The FreeBSD Foundation

 contrib/libpcap/CHANGES                            |   181 +-
 contrib/libpcap/CMakeLists.txt                     |  1021 +-
 contrib/libpcap/CREDITS                            |    17 +
 contrib/libpcap/INSTALL.md                         |    84 +-
 contrib/libpcap/Makefile.in                        |   168 +-
 contrib/libpcap/TODO                               |     5 -
 contrib/libpcap/VERSION                            |     2 +-
 contrib/libpcap/aclocal.m4                         |   227 +-
 contrib/libpcap/atmuni31.h                         |     2 +-
 contrib/libpcap/autogen.sh                         |    25 +
 contrib/libpcap/bpf_dump.c                         |     2 -
 contrib/libpcap/bpf_filter.c                       |    16 +-
 contrib/libpcap/bpf_image.c                        |     6 +-
 contrib/libpcap/charconv.c                         |     4 +-
 contrib/libpcap/cmake/Modules/Finddpdk.cmake       |     2 +-
 contrib/libpcap/cmakeconfig.h.in                   |     6 +-
 contrib/libpcap/config.guess                       |    62 +-
 contrib/libpcap/config.h.in                        |    28 +-
 contrib/libpcap/config.sub                         |   230 +-
 contrib/libpcap/configure                          | 10815 ++++++++++---------
 contrib/libpcap/configure.ac                       |   145 +-
 contrib/libpcap/diag-control.h                     |   174 +-
 contrib/libpcap/dlpisubs.c                         |    22 +-
 contrib/libpcap/doc/README.haiku.md                |    57 +
 contrib/libpcap/doc/README.hpux                    |     2 +-
 .../doc/{README.Win32.md => README.windows.md}     |     0
 contrib/libpcap/etherent.c                         |     6 +-
 contrib/libpcap/extract.h                          |     2 +-
 contrib/libpcap/fad-getad.c                        |    30 +-
 contrib/libpcap/fad-gifc.c                         |    24 +-
 contrib/libpcap/fad-glifc.c                        |    28 +-
 contrib/libpcap/fmtutils.c                         |    59 +-
 contrib/libpcap/fmtutils.h                         |    10 +-
 contrib/libpcap/ftmacros.h                         |     4 +-
 contrib/libpcap/gencode.c                          |   596 +-
 contrib/libpcap/gencode.h                          |     4 +-
 contrib/libpcap/grammar.y.in                       |   140 +-
 contrib/libpcap/install-sh                         |   689 +-
 contrib/libpcap/missing/asprintf.c                 |     8 +-
 contrib/libpcap/missing/strlcat.c                  |     6 +-
 contrib/libpcap/missing/strlcpy.c                  |     6 +-
 contrib/libpcap/missing/strtok_r.c                 |     4 +-
 contrib/libpcap/missing/win_asprintf.c             |     6 +-
 contrib/libpcap/mkdep                              |    28 +-
 contrib/libpcap/msdos/makefile                     |     2 +-
 contrib/libpcap/msdos/makefile.dj                  |     4 +-
 contrib/libpcap/msdos/makefile.wc                  |     6 +-
 contrib/libpcap/msdos/pktdrvr.c                    |     2 +-
 contrib/libpcap/msdos/pktdrvr.h                    |     2 +-
 contrib/libpcap/msdos/readme.dos                   |     4 +-
 contrib/libpcap/nametoaddr.c                       |    57 +-
 contrib/libpcap/nlpid.h                            |     2 +-
 contrib/libpcap/optimize.c                         |    34 +-
 contrib/libpcap/pcap-airpcap.c                     |    53 +-
 contrib/libpcap/pcap-bpf.c                         |   417 +-
 contrib/libpcap/pcap-bt-linux.c                    |    56 +-
 contrib/libpcap/pcap-bt-monitor-linux.c            |    38 +-
 contrib/libpcap/pcap-common.c                      |   405 +-
 contrib/libpcap/pcap-config.1                      |   108 +-
 contrib/libpcap/pcap-config.in                     |    11 +-
 contrib/libpcap/pcap-dag.c                         |   103 +-
 contrib/libpcap/pcap-dbus.c                        |    12 +-
 contrib/libpcap/pcap-dlpi.c                        |    72 +-
 contrib/libpcap/pcap-dos.c                         |    22 +-
 contrib/libpcap/pcap-dpdk.c                        |    32 +-
 contrib/libpcap/pcap-enet.c                        |     6 +-
 contrib/libpcap/pcap-filter.manmisc.in             |    15 +-
 contrib/libpcap/pcap-haiku.c                       |   504 +
 contrib/libpcap/pcap-haiku.cpp                     |   305 -
 contrib/libpcap/pcap-int.h                         |   187 +-
 contrib/libpcap/pcap-libdlpi.c                     |    26 +-
 contrib/libpcap/pcap-linux.c                       |   654 +-
 contrib/libpcap/pcap-netfilter-linux.c             |    61 +-
 contrib/libpcap/pcap-netmap.c                      |    24 +-
 contrib/libpcap/pcap-new.c                         |    31 +-
 contrib/libpcap/pcap-nit.c                         |    44 +-
 contrib/libpcap/pcap-npf.c                         |   296 +-
 contrib/libpcap/pcap-null.c                        |    10 +-
 contrib/libpcap/pcap-pf.c                          |    59 +-
 contrib/libpcap/pcap-rdmasniff.c                   |    16 +-
 contrib/libpcap/pcap-rpcap-int.h                   |    75 -
 contrib/libpcap/pcap-rpcap.c                       |   199 +-
 contrib/libpcap/pcap-savefile.manfile.in           |    64 +-
 contrib/libpcap/pcap-septel.c                      |    14 +-
 contrib/libpcap/pcap-sita.c                        |    42 +-
 contrib/libpcap/pcap-sita.html                     |     4 +-
 contrib/libpcap/pcap-snf.c                         |    46 +-
 contrib/libpcap/pcap-snit.c                        |    57 +-
 contrib/libpcap/pcap-snoop.c                       |    54 +-
 contrib/libpcap/pcap-tc.c                          |    66 +-
 contrib/libpcap/pcap-tstamp.manmisc.in             |     7 +-
 contrib/libpcap/pcap-usb-linux-common.c            |   130 -
 contrib/libpcap/pcap-usb-linux-common.h            |   107 +-
 contrib/libpcap/pcap-usb-linux.c                   |    95 +-
 contrib/libpcap/pcap-util.c                        |   287 +-
 contrib/libpcap/pcap-util.h                        |     6 +-
 contrib/libpcap/pcap.3pcap.in                      |    24 +-
 contrib/libpcap/pcap.c                             |   439 +-
 contrib/libpcap/pcap/can_socketcan.h               |    25 +-
 contrib/libpcap/pcap/dlt.h                         |    75 +-
 contrib/libpcap/pcap/funcattrs.h                   |   106 +-
 contrib/libpcap/pcap/namedb.h                      |    27 +-
 contrib/libpcap/pcap/nflog.h                       |     2 +-
 contrib/libpcap/pcap/pcap-inttypes.h               |     2 +-
 contrib/libpcap/pcap/pcap.h                        |    89 +-
 contrib/libpcap/pcap/sll.h                         |     1 +
 contrib/libpcap/pcap/socket.h                      |    56 +-
 contrib/libpcap/pcap/usb.h                         |     6 +
 contrib/libpcap/pcap_activate.3pcap                |    12 +-
 contrib/libpcap/pcap_breakloop.3pcap               |     2 +-
 contrib/libpcap/pcap_compile.3pcap.in              |     3 +-
 contrib/libpcap/pcap_create.3pcap                  |    12 +-
 contrib/libpcap/pcap_dump.3pcap                    |     3 +-
 contrib/libpcap/pcap_findalldevs.3pcap             |    43 +-
 contrib/libpcap/pcap_init.3pcap                    |    15 +-
 contrib/libpcap/pcap_lookupdev.3pcap               |    10 +-
 contrib/libpcap/pcap_lookupnet.3pcap               |    21 +-
 contrib/libpcap/pcap_loop.3pcap                    |    24 +-
 contrib/libpcap/pcap_next_ex.3pcap                 |    11 +-
 contrib/libpcap/pcap_offline_filter.3pcap          |     3 +-
 contrib/libpcap/pcap_open_live.3pcap               |    30 +-
 contrib/libpcap/pcap_open_offline.3pcap.in         |    13 +-
 contrib/libpcap/pcap_set_tstamp_precision.3pcap.in |     3 +-
 contrib/libpcap/pcap_setnonblock.3pcap             |    40 +-
 contrib/libpcap/pcap_strerror.3pcap                |    14 +-
 contrib/libpcap/portability.h                      |    27 +-
 contrib/libpcap/ppp.h                              |     2 +-
 contrib/libpcap/rpcap-protocol.c                   |     4 +-
 contrib/libpcap/rpcap-protocol.h                   |     6 +-
 contrib/libpcap/rpcapd/CMakeLists.txt              |    29 +-
 contrib/libpcap/rpcapd/Makefile.in                 |     4 +-
 contrib/libpcap/rpcapd/config_params.h             |     2 +-
 contrib/libpcap/rpcapd/daemon.c                    |    70 +-
 contrib/libpcap/rpcapd/daemon.h                    |     4 +-
 contrib/libpcap/rpcapd/fileconf.c                  |    18 +-
 contrib/libpcap/rpcapd/log.c                       |     2 -
 contrib/libpcap/rpcapd/rpcapd-config.manfile.in    |    12 +-
 contrib/libpcap/rpcapd/rpcapd.c                    |    62 +-
 contrib/libpcap/rpcapd/rpcapd.manadmin.in          |    54 +-
 contrib/libpcap/rpcapd/win32-svc.c                 |     2 +-
 contrib/libpcap/savefile.c                         |    38 +-
 contrib/libpcap/scanner.l                          |   171 +-
 contrib/libpcap/sf-pcap.c                          |   150 +-
 contrib/libpcap/sf-pcapng.c                        |    24 +-
 contrib/libpcap/sockutils.c                        |   123 +-
 contrib/libpcap/sockutils.h                        |    26 +-
 contrib/libpcap/sslutils.c                         |     4 +-
 contrib/libpcap/sslutils.h                         |    10 +-
 contrib/libpcap/testprogs/Makefile.in              |     2 +-
 contrib/libpcap/testprogs/filtertest.c             |     6 +-
 contrib/libpcap/testprogs/findalldevstest-perf.c   |     2 -
 contrib/libpcap/testprogs/findalldevstest.c        |     8 +-
 contrib/libpcap/testprogs/valgrindtest.c           |     4 +-
 contrib/libpcap/thread-local.h                     |    72 +
 154 files changed, 12368 insertions(+), 9567 deletions(-)

diff --cc contrib/libpcap/autogen.sh
index 000000000000,c84a6b5c5dd2..c84a6b5c5dd2
mode 000000,100755..100755
--- a/contrib/libpcap/autogen.sh
+++ b/contrib/libpcap/autogen.sh
diff --cc contrib/libpcap/doc/README.haiku.md
index 000000000000,b9b062bdf57e..b9b062bdf57e
mode 000000,100644..100644
--- a/contrib/libpcap/doc/README.haiku.md
+++ b/contrib/libpcap/doc/README.haiku.md
diff --cc contrib/libpcap/install-sh
index b44de0989d2f,000000000000..ec298b537402
mode 100755,000000..100755
--- a/contrib/libpcap/install-sh
+++ b/contrib/libpcap/install-sh
@@@ -1,250 -1,0 +1,541 @@@
- #! /bin/sh
- #
++#!/bin/sh
 +# install - install a program, script, or datafile
- # This comes from X11R5 (mit/util/scripts/install.sh).
++
++scriptversion=2020-11-14.01; # UTC
++
++# This originates from X11R5 (mit/util/scripts/install.sh), which was
++# later released in X11R6 (xc/config/util/install.sh) with the
++# following copyright and license.
++#
++# Copyright (C) 1994 X Consortium
++#
++# Permission is hereby granted, free of charge, to any person obtaining a copy
++# of this software and associated documentation files (the "Software"), to
++# deal in the Software without restriction, including without limitation the
++# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
++# sell copies of the Software, and to permit persons to whom the Software is
++# furnished to do so, subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be included in
++# all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
++# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
++# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
++# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 +#
- # Copyright 1991 by the Massachusetts Institute of Technology
++# Except as contained in this notice, the name of the X Consortium shall not
++# be used in advertising or otherwise to promote the sale, use or other deal-
++# ings in this Software without prior written authorization from the X Consor-
++# tium.
 +#
- # Permission to use, copy, modify, distribute, and sell this software and its
- # documentation for any purpose is hereby granted without fee, provided that
- # the above copyright notice appear in all copies and that both that
- # copyright notice and this permission notice appear in supporting
- # documentation, and that the name of M.I.T. not be used in advertising or
- # publicity pertaining to distribution of the software without specific,
- # written prior permission.  M.I.T. makes no representations about the
- # suitability of this software for any purpose.  It is provided "as is"
- # without express or implied warranty.
++#
++# FSF changes to this file are in the public domain.
 +#
 +# Calling this script install-sh is preferred over install.sh, to prevent
- # `make' implicit rules from creating a file called install from it
++# 'make' implicit rules from creating a file called install from it
 +# when there is no Makefile.
 +#
 +# This script is compatible with the BSD install script, but was written
- # from scratch.  It can only install one file at a time, a restriction
- # shared with many OS's install programs.
++# from scratch.
++
++tab='	'
++nl='
++'
++IFS=" $tab$nl"
 +
++# Set DOITPROG to "echo" to test this script.
 +
- # set DOITPROG to echo to test this script
++doit=${DOITPROG-}
++doit_exec=${doit:-exec}
 +
- # Don't use :- since 4.3BSD and earlier shells don't like it.
- doit="${DOITPROG-}"
++# Put in absolute file names if you don't have them in your path;
++# or use environment vars.
 +
++chgrpprog=${CHGRPPROG-chgrp}
++chmodprog=${CHMODPROG-chmod}
++chownprog=${CHOWNPROG-chown}
++cmpprog=${CMPPROG-cmp}
++cpprog=${CPPROG-cp}
++mkdirprog=${MKDIRPROG-mkdir}
++mvprog=${MVPROG-mv}
++rmprog=${RMPROG-rm}
++stripprog=${STRIPPROG-strip}
 +
- # put in absolute paths if you don't have them in your path; or use env. vars.
++posix_mkdir=
 +
- mvprog="${MVPROG-mv}"
- cpprog="${CPPROG-cp}"
- chmodprog="${CHMODPROG-chmod}"
- chownprog="${CHOWNPROG-chown}"
- chgrpprog="${CHGRPPROG-chgrp}"
- stripprog="${STRIPPROG-strip}"
- rmprog="${RMPROG-rm}"
- mkdirprog="${MKDIRPROG-mkdir}"
++# Desired mode of installed file.
++mode=0755
 +
- transformbasename=""
- transform_arg=""
- instcmd="$mvprog"
- chmodcmd="$chmodprog 0755"
- chowncmd=""
- chgrpcmd=""
- stripcmd=""
++# Create dirs (including intermediate dirs) using mode 755.
++# This is like GNU 'install' as of coreutils 8.32 (2020).
++mkdir_umask=22
++
++backupsuffix=
++chgrpcmd=
++chmodcmd=$chmodprog
++chowncmd=
++mvcmd=$mvprog
 +rmcmd="$rmprog -f"
- mvcmd="$mvprog"
- src=""
- dst=""
- dir_arg=""
- 
- while [ x"$1" != x ]; do
-     case $1 in
- 	-c) instcmd="$cpprog"
- 	    shift
- 	    continue;;
- 
- 	-d) dir_arg=true
- 	    shift
- 	    continue;;
- 
- 	-m) chmodcmd="$chmodprog $2"
- 	    shift
- 	    shift
- 	    continue;;
- 
- 	-o) chowncmd="$chownprog $2"
- 	    shift
- 	    shift
- 	    continue;;
- 
- 	-g) chgrpcmd="$chgrpprog $2"
- 	    shift
- 	    shift
- 	    continue;;
- 
- 	-s) stripcmd="$stripprog"
- 	    shift
- 	    continue;;
- 
- 	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
- 	    shift
- 	    continue;;
- 
- 	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- 	    shift
- 	    continue;;
- 
- 	*)  if [ x"$src" = x ]
- 	    then
- 		src=$1
- 	    else
- 		# this colon is to work around a 386BSD /bin/sh bug
- 		:
- 		dst=$1
- 	    fi
- 	    shift
- 	    continue;;
-     esac
- done
++stripcmd=
 +
- if [ x"$src" = x ]
- then
- 	echo "install:	no input file specified"
- 	exit 1
- else
- 	true
- fi
++src=
++dst=
++dir_arg=
++dst_arg=
 +
- if [ x"$dir_arg" != x ]; then
- 	dst=$src
- 	src=""
++copy_on_change=false
++is_target_a_directory=possibly
 +
- 	if [ -d $dst ]; then
- 		instcmd=:
- 	else
- 		instcmd=mkdir
- 	fi
- else
++usage="\
++Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
++   or: $0 [OPTION]... SRCFILES... DIRECTORY
++   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
++   or: $0 [OPTION]... -d DIRECTORIES...
 +
- # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
++In the 1st form, copy SRCFILE to DSTFILE.
++In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
++In the 4th, create DIRECTORIES.
 +
- 	if [ -f $src -o -d $src ]
- 	then
- 		true
- 	else
- 		echo "install:  $src does not exist"
- 		exit 1
- 	fi
++Options:
++     --help     display this help and exit.
++     --version  display version info and exit.
 +
- 	if [ x"$dst" = x ]
- 	then
- 		echo "install:	no destination specified"
- 		exit 1
- 	else
- 		true
- 	fi
++  -c            (ignored)
++  -C            install only if different (preserve data modification time)
++  -d            create directories instead of installing files.
++  -g GROUP      $chgrpprog installed files to GROUP.
++  -m MODE       $chmodprog installed files to MODE.
++  -o USER       $chownprog installed files to USER.
++  -p            pass -p to $cpprog.
++  -s            $stripprog installed files.
++  -S SUFFIX     attempt to back up existing files, with suffix SUFFIX.
++  -t DIRECTORY  install into DIRECTORY.
++  -T            report an error if DSTFILE is a directory.
 +
- # If destination is a directory, append the input filename; if your system
- # does not like double slashes in filenames, you may need to add some logic
++Environment variables override the default commands:
++  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
++  RMPROG STRIPPROG
 +
- 	if [ -d $dst ]
- 	then
- 		dst="$dst"/`basename $src`
- 	else
- 		true
- 	fi
- fi
++By default, rm is invoked with -f; when overridden with RMPROG,
++it's up to you to specify -f if you want it.
 +
- ## this sed command emulates the dirname command
- dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
++If -S is not specified, no backups are attempted.
 +
- # Make sure that the destination directory exists.
- #  this part is taken from Noah Friedman's mkinstalldirs script
++Email bug reports to bug-automake@gnu.org.
++Automake home page: https://www.gnu.org/software/automake/
++"
 +
- # Skip lots of stat calls in the usual case.
- if [ ! -d "$dstdir" ]; then
- defaultIFS='	
- '
- IFS="${IFS-${defaultIFS}}"
++while test $# -ne 0; do
++  case $1 in
++    -c) ;;
 +
- oIFS="${IFS}"
- # Some sh's can't handle IFS=/ for some reason.
- IFS='%'
- set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
- IFS="${oIFS}"
++    -C) copy_on_change=true;;
 +
- pathcomp=''
++    -d) dir_arg=true;;
 +
- while [ $# -ne 0 ] ; do
- 	pathcomp="${pathcomp}${1}"
- 	shift
++    -g) chgrpcmd="$chgrpprog $2"
++        shift;;
 +
- 	if [ ! -d "${pathcomp}" ] ;
-         then
- 		$mkdirprog "${pathcomp}"
- 	else
- 		true
- 	fi
++    --help) echo "$usage"; exit $?;;
 +
- 	pathcomp="${pathcomp}/"
- done
- fi
++    -m) mode=$2
++        case $mode in
++          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
++            echo "$0: invalid mode: $mode" >&2
++            exit 1;;
++        esac
++        shift;;
 +
- if [ x"$dir_arg" != x ]
- then
- 	$doit $instcmd $dst &&
++    -o) chowncmd="$chownprog $2"
++        shift;;
 +
- 	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- 	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- 	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- 	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
- else
++    -p) cpprog="$cpprog -p";;
 +
- # If we're going to rename the final executable, determine the name now.
++    -s) stripcmd=$stripprog;;
 +
- 	if [ x"$transformarg" = x ]
- 	then
- 		dstfile=`basename $dst`
- 	else
- 		dstfile=`basename $dst $transformbasename |
- 			sed $transformarg`$transformbasename
- 	fi
++    -S) backupsuffix="$2"
++        shift;;
 +
- # don't allow the sed command to completely eliminate the filename
++    -t)
++        is_target_a_directory=always
++        dst_arg=$2
++        # Protect names problematic for 'test' and other utilities.
++        case $dst_arg in
++          -* | [=\(\)!]) dst_arg=./$dst_arg;;
++        esac
++        shift;;
 +
- 	if [ x"$dstfile" = x ]
- 	then
- 		dstfile=`basename $dst`
- 	else
- 		true
- 	fi
++    -T) is_target_a_directory=never;;
 +
- # Make a temp file name in the proper directory.
++    --version) echo "$0 $scriptversion"; exit $?;;
 +
- 	dsttmp=$dstdir/#inst.$$#
++    --) shift
++        break;;
 +
- # Move or copy the file name to the temp name
++    -*) echo "$0: invalid option: $1" >&2
++        exit 1;;
 +
- 	$doit $instcmd $src $dsttmp &&
++    *)  break;;
++  esac
++  shift
++done
 +
- 	trap "rm -f ${dsttmp}" 0 &&
++# We allow the use of options -d and -T together, by making -d
++# take the precedence; this is for compatibility with GNU install.
 +
- # and set any options; do chmod last to preserve setuid bits
++if test -n "$dir_arg"; then
++  if test -n "$dst_arg"; then
++    echo "$0: target directory not allowed when installing a directory." >&2
++    exit 1
++  fi
++fi
 +
- # If any of these fail, we abort the whole thing.  If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $instcmd $src $dsttmp" command.
++if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
++  # When -d is used, all remaining arguments are directories to create.
++  # When -t is used, the destination is already specified.
++  # Otherwise, the last argument is the destination.  Remove it from $@.
++  for arg
++  do
++    if test -n "$dst_arg"; then
++      # $@ is not empty: it contains at least $arg.
++      set fnord "$@" "$dst_arg"
++      shift # fnord
++    fi
++    shift # arg
++    dst_arg=$arg
++    # Protect names problematic for 'test' and other utilities.
++    case $dst_arg in
++      -* | [=\(\)!]) dst_arg=./$dst_arg;;
++    esac
++  done
++fi
 +
- 	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- 	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- 	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- 	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
++if test $# -eq 0; then
++  if test -z "$dir_arg"; then
++    echo "$0: no input file specified." >&2
++    exit 1
++  fi
++  # It's OK to call 'install-sh -d' without argument.
++  # This can happen when creating conditional directories.
++  exit 0
++fi
 +
- # Now rename the file to the real destination.
++if test -z "$dir_arg"; then
++  if test $# -gt 1 || test "$is_target_a_directory" = always; then
++    if test ! -d "$dst_arg"; then
++      echo "$0: $dst_arg: Is not a directory." >&2
++      exit 1
++    fi
++  fi
++fi
 +
- 	$doit $rmcmd -f $dstdir/$dstfile &&
- 	$doit $mvcmd $dsttmp $dstdir/$dstfile
++if test -z "$dir_arg"; then
++  do_exit='(exit $ret); exit $ret'
++  trap "ret=129; $do_exit" 1
++  trap "ret=130; $do_exit" 2
++  trap "ret=141; $do_exit" 13
++  trap "ret=143; $do_exit" 15
++
++  # Set umask so as not to create temps with too-generous modes.
++  # However, 'strip' requires both read and write access to temps.
++  case $mode in
++    # Optimize common cases.
++    *644) cp_umask=133;;
++    *755) cp_umask=22;;
++
++    *[0-7])
++      if test -z "$stripcmd"; then
++        u_plus_rw=
++      else
++        u_plus_rw='% 200'
++      fi
++      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
++    *)
++      if test -z "$stripcmd"; then
++        u_plus_rw=
++      else
++        u_plus_rw=,u+rw
++      fi
++      cp_umask=$mode$u_plus_rw;;
++  esac
++fi
 +
- fi &&
++for src
++do
++  # Protect names problematic for 'test' and other utilities.
++  case $src in
++    -* | [=\(\)!]) src=./$src;;
++  esac
++
++  if test -n "$dir_arg"; then
++    dst=$src
++    dstdir=$dst
++    test -d "$dstdir"
++    dstdir_status=$?
++    # Don't chown directories that already exist.
++    if test $dstdir_status = 0; then
++      chowncmd=""
++    fi
++  else
++
++    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
++    # might cause directories to be created, which would be especially bad
++    # if $src (and thus $dsttmp) contains '*'.
++    if test ! -f "$src" && test ! -d "$src"; then
++      echo "$0: $src does not exist." >&2
++      exit 1
++    fi
++
++    if test -z "$dst_arg"; then
++      echo "$0: no destination specified." >&2
++      exit 1
++    fi
++    dst=$dst_arg
++
++    # If destination is a directory, append the input filename.
++    if test -d "$dst"; then
++      if test "$is_target_a_directory" = never; then
++        echo "$0: $dst_arg: Is a directory" >&2
++        exit 1
++      fi
++      dstdir=$dst
++      dstbase=`basename "$src"`
++      case $dst in
++	*/) dst=$dst$dstbase;;
++	*)  dst=$dst/$dstbase;;
++      esac
++      dstdir_status=0
++    else
++      dstdir=`dirname "$dst"`
++      test -d "$dstdir"
++      dstdir_status=$?
++    fi
++  fi
++
++  case $dstdir in
++    */) dstdirslash=$dstdir;;
++    *)  dstdirslash=$dstdir/;;
++  esac
++
++  obsolete_mkdir_used=false
++
++  if test $dstdir_status != 0; then
++    case $posix_mkdir in
++      '')
++        # With -d, create the new directory with the user-specified mode.
++        # Otherwise, rely on $mkdir_umask.
++        if test -n "$dir_arg"; then
++          mkdir_mode=-m$mode
++        else
++          mkdir_mode=
++        fi
++
++        posix_mkdir=false
++	# The $RANDOM variable is not portable (e.g., dash).  Use it
++	# here however when possible just to lower collision chance.
++	tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
++
++	trap '
++	  ret=$?
++	  rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
++	  exit $ret
++	' 0
++
++	# Because "mkdir -p" follows existing symlinks and we likely work
++	# directly in world-writeable /tmp, make sure that the '$tmpdir'
++	# directory is successfully created first before we actually test
++	# 'mkdir -p'.
++	if (umask $mkdir_umask &&
++	    $mkdirprog $mkdir_mode "$tmpdir" &&
++	    exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
++	then
++	  if test -z "$dir_arg" || {
++	       # Check for POSIX incompatibilities with -m.
++	       # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
++	       # other-writable bit of parent directory when it shouldn't.
++	       # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
++	       test_tmpdir="$tmpdir/a"
++	       ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
++	       case $ls_ld_tmpdir in
++		 d????-?r-*) different_mode=700;;
++		 d????-?--*) different_mode=755;;
++		 *) false;;
++	       esac &&
++	       $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
++		 ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
++		 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
++	       }
++	     }
++	  then posix_mkdir=:
++	  fi
++	  rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
++	else
++	  # Remove any dirs left behind by ancient mkdir implementations.
++	  rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
++	fi
++	trap '' 0;;
++    esac
 +
++    if
++      $posix_mkdir && (
++        umask $mkdir_umask &&
++        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
++      )
++    then :
++    else
++
++      # mkdir does not conform to POSIX,
++      # or it failed possibly due to a race condition.  Create the
++      # directory the slow way, step by step, checking for races as we go.
++
++      case $dstdir in
++        /*) prefix='/';;
++        [-=\(\)!]*) prefix='./';;
++        *)  prefix='';;
++      esac
++
++      oIFS=$IFS
++      IFS=/
++      set -f
++      set fnord $dstdir
++      shift
++      set +f
++      IFS=$oIFS
++
++      prefixes=
++
++      for d
++      do
++        test X"$d" = X && continue
++
++        prefix=$prefix$d
++        if test -d "$prefix"; then
++          prefixes=
++        else
++          if $posix_mkdir; then
++            (umask $mkdir_umask &&
++             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
++            # Don't fail if two instances are running concurrently.
++            test -d "$prefix" || exit 1
++          else
++            case $prefix in
++              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
++              *) qprefix=$prefix;;
++            esac
++            prefixes="$prefixes '$qprefix'"
++          fi
++        fi
++        prefix=$prefix/
++      done
++
++      if test -n "$prefixes"; then
++        # Don't fail if two instances are running concurrently.
++        (umask $mkdir_umask &&
++         eval "\$doit_exec \$mkdirprog $prefixes") ||
++          test -d "$dstdir" || exit 1
++        obsolete_mkdir_used=true
++      fi
++    fi
++  fi
++
++  if test -n "$dir_arg"; then
++    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
++    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
++    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
++      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
++  else
++
++    # Make a couple of temp file names in the proper directory.
++    dsttmp=${dstdirslash}_inst.$$_
++    rmtmp=${dstdirslash}_rm.$$_
++
++    # Trap to clean up those temp files at exit.
++    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
++
++    # Copy the file name to the temp name.
++    (umask $cp_umask &&
++     { test -z "$stripcmd" || {
++	 # Create $dsttmp read-write so that cp doesn't create it read-only,
++	 # which would cause strip to fail.
++	 if test -z "$doit"; then
++	   : >"$dsttmp" # No need to fork-exec 'touch'.
++	 else
++	   $doit touch "$dsttmp"
++	 fi
++       }
++     } &&
++     $doit_exec $cpprog "$src" "$dsttmp") &&
++
++    # and set any options; do chmod last to preserve setuid bits.
++    #
++    # If any of these fail, we abort the whole thing.  If we want to
++    # ignore errors from any of these, just make sure not to ignore
++    # errors from the above "$doit $cpprog $src $dsttmp" command.
++    #
++    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
++    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
++    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
++    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
++
++    # If -C, don't bother to copy if it wouldn't change the file.
++    if $copy_on_change &&
++       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
++       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
++       set -f &&
++       set X $old && old=:$2:$4:$5:$6 &&
++       set X $new && new=:$2:$4:$5:$6 &&
++       set +f &&
++       test "$old" = "$new" &&
++       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
++    then
++      rm -f "$dsttmp"
++    else
++      # If $backupsuffix is set, and the file being installed
++      # already exists, attempt a backup.  Don't worry if it fails,
++      # e.g., if mv doesn't support -f.
++      if test -n "$backupsuffix" && test -f "$dst"; then
++        $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
++      fi
++
++      # Rename the file to the real destination.
++      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
++
++      # The rename failed, perhaps because mv can't rename something else
++      # to itself, or perhaps because mv is so ancient that it does not
++      # support -f.
++      {
++        # Now remove or move aside any old file at destination location.
++        # We try this two ways since rm can't unlink itself on some
++        # systems and the destination file might be busy for other
++        # reasons.  In this case, the final cleanup might fail but the new
++        # file should still install successfully.
++        {
++          test ! -f "$dst" ||
++          $doit $rmcmd "$dst" 2>/dev/null ||
++          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
++            { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
++          } ||
++          { echo "$0: cannot unlink or rename $dst" >&2
++            (exit 1); exit 1
++          }
++        } &&
++
++        # Now rename the file to the real destination.
++        $doit $mvcmd "$dsttmp" "$dst"
++      }
++    fi || exit 1
++
++    trap '' 0
++  fi
++done
 +
- exit 0
++# Local variables:
++# eval: (add-hook 'before-save-hook 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-time-zone: "UTC0"
++# time-stamp-end: "; # UTC"
++# End:
diff --cc contrib/libpcap/pcap-haiku.c
index 000000000000,6cb0e71a1f68..6cb0e71a1f68
mode 000000,100644..100644
--- a/contrib/libpcap/pcap-haiku.c
+++ b/contrib/libpcap/pcap-haiku.c
diff --cc contrib/libpcap/pcap/pcap.h
index bd7715f2bf56,e014335bdfde..1ebae99616b7
--- a/contrib/libpcap/pcap/pcap.h
+++ b/contrib/libpcap/pcap/pcap.h
@@@ -1209,12 -1257,11 +1258,12 @@@ PCAP_AVAILABLE_1_9_REMOT
  PCAP_API int	pcap_remoteact_list(char *hostlist, char sep, int size,
  	    char *errbuf);
  
- PCAP_AVAILABLE_1_9
+ PCAP_AVAILABLE_1_9_REMOTE
  PCAP_API int	pcap_remoteact_close(const char *host, char *errbuf);
  
- PCAP_AVAILABLE_1_9
+ PCAP_AVAILABLE_1_9_REMOTE
  PCAP_API void	pcap_remoteact_cleanup(void);
 +#endif	/* Remote capture is disabled on FreeBSD */
  
  #ifdef __cplusplus
  }
diff --cc contrib/libpcap/thread-local.h
index 000000000000,c9cbda2cbf2e..c9cbda2cbf2e
mode 000000,100644..100644
--- a/contrib/libpcap/thread-local.h
+++ b/contrib/libpcap/thread-local.h