Import libpcap 1.10.4
Reviewed by: emaste Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
35af88c963
commit
6b96668d5b
38
CHANGES
38
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 @@ Tue. September 19, 2006. ken@xelerance.com. Summary for 0.9.5 libpcap release
|
||||
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 @@ Mon. September 5, 2005. ken@xelerance.com. Summary for 0.9.4 libpcap release
|
||||
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 @@ Wed. November 12, 2003. mcr@sandelman.ottawa.on.ca. Summary for 0.8 release
|
||||
|
||||
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
|
||||
|
||||
|
@ -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 @@ clean:
|
||||
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)
|
||||
|
@ -24,7 +24,7 @@ to ease in porting and to alleviate the need for several
|
||||
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
|
||||
```
|
||||
|
13
aclocal.m4
vendored
13
aclocal.m4
vendored
@ -1103,9 +1103,8 @@ dnl Since: 0.16
|
||||
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 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
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 @@ See the pkg-config man page for more details.])
|
||||
#
|
||||
# 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 @@ _PKG_TEXT])[]dnl
|
||||
#
|
||||
# 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.
|
||||
|
12
config.guess
vendored
12
config.guess
vendored
@ -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 @@ version="\
|
||||
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 @@ EOF
|
||||
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
|
||||
;;
|
||||
|
33
config.sub
vendored
33
config.sub
vendored
@ -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 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
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 @@ case $1 in
|
||||
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 @@ case $cpu-$vendor in
|
||||
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 @@ EOF
|
||||
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 @@ case $os in
|
||||
| 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 @@ case $os in
|
||||
;;
|
||||
none)
|
||||
;;
|
||||
kernel* )
|
||||
# Restricted further below
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
|
||||
exit 1
|
||||
@ -1772,16 +1779,26 @@ esac
|
||||
# (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)
|
||||
|
64
configure
vendored
64
configure
vendored
@ -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 @@ MAKEFLAGS=
|
||||
# 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 @@ if test "$ac_init_help" = "long"; then
|
||||
# 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 @@ fi
|
||||
|
||||
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 @@ fi
|
||||
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 @@ cat >config.log <<_ACEOF
|
||||
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 @@ main(void)
|
||||
_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 @@ done
|
||||
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
|
||||
|
||||
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 @@ enet)
|
||||
#
|
||||
# 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 @@ linux)
|
||||
#
|
||||
# Capture module
|
||||
#
|
||||
PLATFORM_C_SRC="pcap-linux.c"
|
||||
PLATFORM_C_SRC="pcap-linux.c"
|
||||
|
||||
#
|
||||
# Do we have the wireless extensions?
|
||||
@ -7938,7 +7938,7 @@ fi
|
||||
#
|
||||
# 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 @@ See the pkg-config man page for more details." "$LINENO" 5
|
||||
#
|
||||
# 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 @@ bpf)
|
||||
#
|
||||
# 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 @@ pf)
|
||||
#
|
||||
# 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 @@ null)
|
||||
#
|
||||
# Capture module
|
||||
#
|
||||
PLATFORM_C_SRC="pcap-null.c"
|
||||
PLATFORM_C_SRC="pcap-null.c"
|
||||
;;
|
||||
|
||||
*)
|
||||
@ -9387,7 +9387,7 @@ fi
|
||||
#
|
||||
# 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 @@ See the pkg-config man page for more details." "$LINENO" 5
|
||||
#
|
||||
# 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 @@ fi
|
||||
#
|
||||
# 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 @@ See the pkg-config man page for more details." "$LINENO" 5
|
||||
#
|
||||
# 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 @@ fi
|
||||
#
|
||||
# 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 @@ fi
|
||||
#
|
||||
# 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 @@ fi
|
||||
#
|
||||
# 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 @@ See the pkg-config man page for more details." "$LINENO" 5
|
||||
#
|
||||
# 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 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||
# 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 @@ _ACEOF
|
||||
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\\"
|
||||
|
||||
|
26
configure.ac
26
configure.ac
@ -14,7 +14,7 @@ dnl
|
||||
# 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 @@ main(void)
|
||||
)
|
||||
],
|
||||
[
|
||||
# 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 @@ else
|
||||
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 @@ enet)
|
||||
#
|
||||
# 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 @@ linux)
|
||||
#
|
||||
# Capture module
|
||||
#
|
||||
PLATFORM_C_SRC="pcap-linux.c"
|
||||
PLATFORM_C_SRC="pcap-linux.c"
|
||||
|
||||
#
|
||||
# Do we have the wireless extensions?
|
||||
@ -1102,7 +1102,7 @@ bpf)
|
||||
#
|
||||
# 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 @@ pf)
|
||||
#
|
||||
# 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 @@ null)
|
||||
#
|
||||
# Capture module
|
||||
#
|
||||
PLATFORM_C_SRC="pcap-null.c"
|
||||
PLATFORM_C_SRC="pcap-null.c"
|
||||
;;
|
||||
|
||||
*)
|
||||
|
16
gencode.c
16
gencode.c
@ -7990,7 +7990,7 @@ gen_broadcast(compiler_state_t *cstate, int proto)
|
||||
default:
|
||||
bpf_error(cstate, "not a broadcast link");
|
||||
}
|
||||
/*NOTREACHED*/
|
||||
/*NOTREACHED*/
|
||||
|
||||
case Q_IP:
|
||||
/*
|
||||
@ -8655,7 +8655,7 @@ gen_acode(compiler_state_t *cstate, const char *s, struct qual q)
|
||||
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 @@ gen_ahostop(compiler_state_t *cstate, const u_char *eaddr, int dir)
|
||||
|
||||
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*/
|
||||
|
2
mkdep
2
mkdep
@ -92,7 +92,7 @@ _EOF_
|
||||
# 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/' |
|
||||
|
||||
#
|
||||
|
@ -104,7 +104,7 @@ clean:
|
||||
#
|
||||
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 @@ nametoad.obj: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
|
||||
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 @@ ndis2.obj: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
|
||||
|
||||
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 @@ nametoad.o32: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
|
||||
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 \
|
||||
|
40
nametoaddr.c
40
nametoaddr.c
@ -267,7 +267,7 @@ pcap_nametonetaddr(const char *name)
|
||||
* *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 @@ pcap_nametonetaddr(const char *name)
|
||||
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 @@ pcap_nametoproto(const char *str)
|
||||
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)
|
||||
|
16
optimize.c
16
optimize.c
@ -3029,14 +3029,14 @@ dot_dump_edge(struct icode *ic, struct block *block, FILE *out)
|
||||
*
|
||||
* 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
|
||||
|
@ -367,9 +367,9 @@ bt_read_linux(pcap_t *handle, int max_packets _U_, pcap_handler callback, u_char
|
||||
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);
|
||||
|
@ -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 @@ static struct linktype_map {
|
||||
{ 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 },
|
||||
|
@ -344,7 +344,7 @@ pcap_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
|
||||
|
||||
linknamelist_t *entry, *next;
|
||||
linkwalk_t lw = {NULL, 0};
|
||||
int save_errno;
|
||||
int save_errno;
|
||||
|
||||
/*
|
||||
* Get the list of regular interfaces first.
|
||||
|
@ -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 const struct timeval netdown_timeout = {
|
||||
*/
|
||||
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 @@ static int pcap_wait_for_frames_mmap(pcap_t *handle)
|
||||
* 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.
|
||||
|
@ -526,8 +526,8 @@ netfilter_activate(pcap_t* handle)
|
||||
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) {
|
||||
|
@ -2085,8 +2085,8 @@ get_if_flags(const char *name, bpf_u_int32 *flags, char *errbuf)
|
||||
#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 @@ pcap_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
|
||||
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.
|
||||
|
@ -634,7 +634,7 @@ static int process_client_data (char *errbuf) { /* returns: -1 = error, 0
|
||||
"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 */
|
||||
|
@ -52,16 +52,16 @@ A { text-decoration:none }
|
||||
<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 @@ A { text-decoration:none }
|
||||
<P>
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TD STYLE="background-color: #c0FFc0"> [Packet Header] </TD>
|
||||
<TD STYLE="background-color: #c0FFc0"> [Packet Data] </TD>
|
||||
<TD STYLE="background-color: #c0c0FF"> [Packet Header] </TD>
|
||||
<TD STYLE="background-color: #c0c0FF"> [Packet Data] </TD>
|
||||
<TD STYLE="background-color: #e0c0c0"> [Packet Header] </TD>
|
||||
<TD STYLE="background-color: #e0c0c0"> [Packet Data] </TD>
|
||||
<TD>...</TD>
|
||||
<TD STYLE="background-color: #c0FFc0"> [Packet Header] </TD>
|
||||
<TD STYLE="background-color: #c0FFc0"> [Packet Data] </TD>
|
||||
<TD STYLE="background-color: #c0c0FF"> [Packet Header] </TD>
|
||||
<TD STYLE="background-color: #c0c0FF"> [Packet Data] </TD>
|
||||
<TD STYLE="background-color: #e0c0c0"> [Packet Header] </TD>
|
||||
<TD STYLE="background-color: #e0c0c0"> [Packet Data] </TD>
|
||||
<TD>...</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
|
20
pcap-snf.c
20
pcap-snf.c
@ -403,7 +403,7 @@ snf_findalldevs(pcap_if_list_t *devlistp, char *errbuf)
|
||||
* 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 @@ snf_findalldevs(pcap_if_list_t *devlistp, char *errbuf)
|
||||
*/
|
||||
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_findalldevs(pcap_if_list_t *devlistp, char *errbuf)
|
||||
snf_freeifaddrs(ifaddrs);
|
||||
/*
|
||||
* Create a snfX entry if port aggregation is enabled
|
||||
*/
|
||||
*/
|
||||
if (merge) {
|
||||
/*
|
||||
* Add a new entry with all ports bitmask
|
||||
|
@ -117,10 +117,10 @@ struct mon_bin_mfetch {
|
||||
#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 @@ probe_devices(int bus)
|
||||
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 @@ static int
|
||||
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
|
||||
|
@ -149,7 +149,7 @@ struct bpf_program {
|
||||
#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_program {
|
||||
*/
|
||||
struct bpf_insn {
|
||||
u_short code;
|
||||
u_char jt;
|
||||
u_char jf;
|
||||
u_char jt;
|
||||
u_char jf;
|
||||
bpf_u_int32 k;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -571,7 +571,7 @@ PCAP_AVAILABLE_0_4
|
||||
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_AVAILABLE_0_4
|
||||
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 *);
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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 @@ needs sufficient privileges to perform packet capture, e.g.
|
||||
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"
|
||||
|
@ -1389,7 +1389,7 @@ int sock_bufferize(const void *data, int size, char *outbuf, int *offset, int to
|
||||
*
|
||||
* 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).
|
||||
*
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user