From nobody Sun Mar 15 04:03:03 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYPhb4brHz6V0Lb for ; Sun, 15 Mar 2026 04:03:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYPhb4FLRz468N for ; Sun, 15 Mar 2026 04:03:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773547391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/BEH0W/8yJ5ZPd3OJ8ZQq+8hWy6Tz4PN0hg+4tNGlCg=; b=HHH86VzfdGYiJAQrP+bQ2SLXmerJ9otMQdpvYygshsSuvLV3Kj2kEiXDNZHaZPnF6FBXWD TwnGmlA+scW051d2JI7Uo4pIX7XqEMPliGzN6MygD2YKN0XF8MYLUDTXeA741bsBesmZ1w Z81BRioV5pSbCiuNjARvam2kkNC8OYTVOENvOLNNlwd1OYSXgTHlulyVTyyCEcq3Y42o4/ mS4rBzVHEv35O5AfR9DSiPGf1p8RfYfcPfyHk+lXGFAh/Vc+hhtu6w0V6SzcuOvz4iA0Ds GOMkg6guPbbCzlORnroqSQbfo5OTeUJXfqoxgnonP+KrpNcDvbwZ0ctENUzD2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773547391; a=rsa-sha256; cv=none; b=xokrI8QIOFQqpDbb75iEvCdNIiHQIWqdsrDi25R8JCw/WbcnaIRZQwlZrqan83dzH5jGbU dYnGNNzIIZ4bn5rf1YtVO8bJk813UTDYF01E5WROdDlDDvnsLdbvb02ku9OT8fsOx/cltH RrtDCTckRMJ6UHJxJ3dAO0X0bwT1FydgiOs981Da1dwU3g3UVvVIvqBRSAtemt2wez8e1Q tcDY3YXm+VJDyStBqRuIGLdut5BUzaV9th+8j5He05FK7s9zVumPQnLJa3ZjrhRoUM5rWa 9W+RfYXIrUwcge9FljAezfPlLjFqJGToRaUuhGnjS40q/+OzKLd3uw5+KjIDQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773547391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/BEH0W/8yJ5ZPd3OJ8ZQq+8hWy6Tz4PN0hg+4tNGlCg=; b=lD0nuMUhBZuC03SvQW+1FePT2fuWMqs8KofVaLPMI7Da0veXbJJOIA3WYoWAr+gwiVWHgE 3eVyYnmSBjGwM5YgvAhBcu7veEAzJyGZyr+NAQ/srJC1kvbpWF+rKAXAN/WZvIEEJRyTR8 VSoyvKJYmCy90mP1bfqYLAsaYmrc/eRCeyzvDOD27O9xqBUGkXmo9Jaay2Npr8dWUsKDTs FAyZ/3kVvPM67Ij5YBfO+6Mm8fzZ2fAHelDmkN8ta7wBcYGFoxKWE0gnMIkhvsyvPVLjhU iIVMn1HK7aUeVieSA5YRuUnJXo2ERYfD++3Di+vJxEJyDW4KXLtRm8ZTswN8Bg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fYPhb3Z1JzYqR for ; Sun, 15 Mar 2026 04:03:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4495f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 15 Mar 2026 04:03:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: 16cef5f7a655 - main - libpcap: Update to 1.10.6 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16cef5f7a65588def71db4fdfa961f959847e3b6 Auto-Submitted: auto-generated Date: Sun, 15 Mar 2026 04:03:03 +0000 Message-Id: <69b62f77.4495f.7d4ef563@gitrepo.freebsd.org> The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=16cef5f7a65588def71db4fdfa961f959847e3b6 commit 16cef5f7a65588def71db4fdfa961f959847e3b6 Merge: e6f4e4ab8a51 0a1fbf4c244d Author: Joseph Mingrone AuthorDate: 2026-03-15 01:42:55 +0000 Commit: Joseph Mingrone CommitDate: 2026-03-15 03:41:29 +0000 libpcap: Update to 1.10.6 Changes: https://raw.githubusercontent.com/the-tcpdump-group/libpcap/89e982c37c36ad0bf9f10b7ded421cb42422effa/CHANGES Reviewed by: bms, emaste Obtained from: https://www.tcpdump.org/release/libpcap-1.10.6.tar.gz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D55545 Differential Revision: https://reviews.freebsd.org/D55858 contrib/libpcap/CHANGES | 107 ++ contrib/libpcap/CMakeLists.txt | 55 +- contrib/libpcap/CREDITS | 13 + contrib/libpcap/INSTALL.md | 4 + contrib/libpcap/Makefile.in | 12 +- contrib/libpcap/VERSION | 2 +- contrib/libpcap/aclocal.m4 | 11 +- contrib/libpcap/autogen.sh | 41 +- contrib/libpcap/cmake/Modules/FindPacket.cmake | 49 +- contrib/libpcap/cmakeconfig.h.in | 12 +- contrib/libpcap/config.h.in | 8 +- contrib/libpcap/configure | 1097 ++++++++++---------- contrib/libpcap/configure.ac | 37 +- contrib/libpcap/dlpisubs.c | 124 +++ contrib/libpcap/dlpisubs.h | 1 + contrib/libpcap/doc/README.haiku.md | 40 +- contrib/libpcap/doc/README.solaris.md | 24 +- contrib/libpcap/doc/README.windows.md | 175 +++- contrib/libpcap/fad-getad.c | 13 +- contrib/libpcap/fmtutils.c | 2 +- contrib/libpcap/gencode.c | 346 ++++-- contrib/libpcap/grammar.y.in | 13 - contrib/libpcap/ieee80211.h | 6 +- contrib/libpcap/instrument-functions.c | 250 +++++ contrib/libpcap/nametoaddr.c | 452 +++++++- contrib/libpcap/nametoaddr.h | 1 + contrib/libpcap/optimize.c | 2 +- contrib/libpcap/pcap-bpf.c | 40 +- contrib/libpcap/pcap-common.c | 92 +- contrib/libpcap/pcap-dag.c | 5 +- contrib/libpcap/pcap-dbus.c | 4 + contrib/libpcap/pcap-dlpi.c | 348 ++++--- contrib/libpcap/pcap-dpdk.c | 5 +- contrib/libpcap/pcap-haiku.c | 8 +- contrib/libpcap/pcap-int.h | 33 +- contrib/libpcap/pcap-libdlpi.c | 33 +- contrib/libpcap/pcap-linux.c | 636 ++++++++++-- contrib/libpcap/pcap-new.c | 54 +- contrib/libpcap/pcap-npf.c | 100 +- contrib/libpcap/pcap-rpcap.c | 2 +- contrib/libpcap/pcap-savefile.manfile.in | 29 +- contrib/libpcap/pcap-septel.c | 3 +- contrib/libpcap/pcap-snf.c | 5 +- contrib/libpcap/pcap.c | 73 +- contrib/libpcap/pcap/bpf.h | 2 - contrib/libpcap/pcap/dlt.h | 102 +- contrib/libpcap/pcap_close.3pcap | 14 +- contrib/libpcap/pcap_dump_close.3pcap | 11 +- contrib/libpcap/pcap_dump_flush.3pcap | 2 +- contrib/libpcap/pcap_file.3pcap | 2 +- contrib/libpcap/pcap_loop.3pcap | 2 +- contrib/libpcap/pcap_next_ex.3pcap | 2 +- contrib/libpcap/pcap_open_offline.3pcap.in | 8 +- contrib/libpcap/pflog.h | 4 + contrib/libpcap/rpcapd/CMakeLists.txt | 28 +- contrib/libpcap/rpcapd/rpcapd.c | 14 +- contrib/libpcap/scanner.l | 22 - contrib/libpcap/sf-pcap.c | 15 +- contrib/libpcap/testprogs/CMakeLists.txt | 9 +- contrib/libpcap/testprogs/Makefile.in | 5 + contrib/libpcap/testprogs/filtertest.c | 3 + contrib/libpcap/testprogs/fuzz/CMakeLists.txt | 43 - contrib/libpcap/testprogs/fuzz/fuzz_both.c | 101 -- contrib/libpcap/testprogs/fuzz/fuzz_both.options | 2 - contrib/libpcap/testprogs/fuzz/fuzz_filter.c | 43 - contrib/libpcap/testprogs/fuzz/fuzz_filter.options | 2 - contrib/libpcap/testprogs/fuzz/fuzz_pcap.c | 80 -- contrib/libpcap/testprogs/fuzz/fuzz_pcap.options | 2 - contrib/libpcap/testprogs/fuzz/onefile.c | 54 - contrib/libpcap/testprogs/versiontest.c | 29 + lib/libpcap/Makefile | 1 - lib/libpcap/config.h | 261 ++++- sys/net/dlt.h | 177 +++- 73 files changed, 3740 insertions(+), 1667 deletions(-) diff --cc contrib/libpcap/instrument-functions.c index 000000000000,ba0a56a5309f..ba0a56a5309f mode 000000,100644..100644 --- a/contrib/libpcap/instrument-functions.c +++ b/contrib/libpcap/instrument-functions.c diff --cc contrib/libpcap/testprogs/versiontest.c index 000000000000,a1177dcc0ed4..a1177dcc0ed4 mode 000000,100644..100644 --- a/contrib/libpcap/testprogs/versiontest.c +++ b/contrib/libpcap/testprogs/versiontest.c diff --cc lib/libpcap/Makefile index 7f8d8e65d79c,000000000000..87da7faccdd6 mode 100644,000000..100644 --- a/lib/libpcap/Makefile +++ b/lib/libpcap/Makefile @@@ -1,201 -1,0 +1,200 @@@ +# Makefile for libpcap + +SHLIBDIR?= /lib + +.include + +LIB= pcap + +SRCS= bpf_dump.c \ + bpf_filter.c \ + bpf_image.c \ + etherent.c \ + fad-getad.c \ + fmtutils.c \ + gencode.c \ + grammar.y \ + nametoaddr.c \ + optimize.c \ + pcap-bpf.c \ + pcap-common.c \ + pcap-netmap.c \ + pcap-util.c \ + pcap.c \ + savefile.c \ + scanner.l \ + sf-pcap.c \ + sf-pcapng.c \ + tokdefs.h + +# Old compatibility headers +INCS= pcap-bpf.h \ + pcap-namedb.h \ + pcap-netmap.h \ + pcap.h + +PCAPINCS= \ + pcap/bluetooth.h \ + pcap/bpf.h \ + pcap/can_socketcan.h \ + pcap/compiler-tests.h \ + pcap/dlt.h \ + pcap/funcattrs.h \ + pcap/ipnet.h \ + pcap/namedb.h \ + pcap/nflog.h \ + pcap/pcap-inttypes.h \ + pcap/pcap.h \ + pcap/socket.h \ + pcap/sll.h \ + pcap/usb.h \ + pcap/vlan.h + +PCAPINCSDIR= ${INCLUDEDIR}/pcap +INCSGROUPS= INCS PCAPINCS + +MAN= pcap.3 \ + pcap_activate.3 \ + pcap_breakloop.3 \ + pcap_can_set_rfmon.3 \ + pcap_close.3 \ + pcap_compile.3 \ + pcap_create.3 \ + pcap_datalink.3 \ + pcap_datalink_name_to_val.3 \ + pcap_datalink_val_to_name.3 \ + pcap_dump.3 \ + pcap_dump_close.3 \ + pcap_dump_file.3 \ + pcap_dump_flush.3 \ + pcap_dump_ftell.3 \ + pcap_dump_open.3 \ + pcap_file.3 \ + pcap_fileno.3 \ + pcap_findalldevs.3 \ + pcap_freecode.3 \ + pcap_get_required_select_timeout.3 \ + pcap_get_selectable_fd.3 \ + pcap_get_tstamp_precision.3 \ + pcap_geterr.3 \ + pcap_init.3 \ + pcap_inject.3 \ + pcap_is_swapped.3 \ + pcap_lib_version.3 \ + pcap_list_datalinks.3 \ + pcap_list_tstamp_types.3 \ + pcap_lookupdev.3 \ + pcap_lookupnet.3 \ + pcap_loop.3 \ + pcap_major_version.3 \ + pcap_next_ex.3 \ + pcap_offline_filter.3 \ + pcap_open_dead.3 \ + pcap_open_live.3 \ + pcap_open_offline.3 \ + pcap_set_buffer_size.3 \ + pcap_set_datalink.3 \ + pcap_set_promisc.3 \ + pcap_set_rfmon.3 \ + pcap_set_snaplen.3 \ + pcap_set_timeout.3 \ + pcap_set_tstamp_precision.3 \ + pcap_set_tstamp_type.3 \ + pcap_setdirection.3 \ + pcap_setfilter.3 \ + pcap_setnonblock.3 \ + pcap_snapshot.3 \ + pcap_stats.3 \ + pcap_statustostr.3 \ + pcap_strerror.3 \ + pcap_tstamp_type_name_to_val.3 \ + pcap_tstamp_type_val_to_name.3 \ + pcap-savefile.5 + +MANNODEV= pcap-filter.7 \ + pcap-linktype.7 \ + pcap-tstamp.7 + +MLINKS= \ + pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ + pcap_dump_open.3 pcap_dump_fopen.3 \ + pcap_findalldevs.3 pcap_freealldevs.3 \ + pcap_geterr.3 pcap_perror.3 \ + pcap_inject.3 pcap_sendpacket.3 \ + pcap_list_datalinks.3 pcap_free_datalinks.3 \ + pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ + pcap_loop.3 pcap_dispatch.3 \ + pcap_major_version.3 pcap_minor_version.3 \ + pcap_next_ex.3 pcap_next.3 \ + pcap_open_offline.3 pcap_fopen_offline.3 \ + pcap_setnonblock.3 pcap_getnonblock.3 + +# Our man pages are a special copy from the distdir. See below. +CLEANFILES+=${MAN} ${MANNODEV} +CLEANFILES+=grammar.y scanner.h tokdefs.h + +YFLAGS+=-p pcap_ +LFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput +CFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR} -I${.OBJDIR} +CFLAGS+=-D_U_="__attribute__((unused))" - CFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF +CFLAGS+=-DBUILDING_PCAP +.if ${MK_INET6_SUPPORT} != "no" +CFLAGS+=-DINET6 +.endif +.if ${MK_PF} != "no" +CFLAGS+=-DHAVE_NET_PFVAR_H +.endif + +CFLAGS+= -DPCAP_SUPPORT_NETMAP + +.if ${MK_OFED} != "no" +SRCS+= pcap-rdmasniff.c +LIBADD+= ibverbs +LIBADD+= bnxtre +LIBADD+= mlx5 +CFLAGS+= -DPCAP_SUPPORT_RDMASNIFF +.endif + +WARNS?= 0 + +SHLIB_MAJOR= 8 + +# +# Magic to grab sources out of src/contrib +# +PCAP_DISTDIR?=${SRCTOP}/contrib/libpcap +CFLAGS+=-I${PCAP_DISTDIR} +.PATH: ${PCAP_DISTDIR} +.PATH: ${PCAP_DISTDIR}/bpf/net + +grammar.y: grammar.y.in + sed -e 's/@REENTRANT_PARSER@/%pure-parser/' < ${.ALLSRC} > ${.TARGET} + +tokdefs.h: grammar.h .NOMETA + ln -sf ${.ALLSRC} ${.TARGET} + +# +# Magic to convert the man pages to something non Solarish +# +.for _page in ${MAN} ${MANNODEV} +${_page}: + if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ + F=${_page:S/3$/3pcap/}; \ + elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then \ + F=${_page:S/3$/3pcap.in/}; \ + elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then \ + F=${_page:S/5$/manfile.in/}; \ + elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ + F=${_page:S/5$/manfile/}; \ + else \ + F=${_page:S/7$/manmisc.in/}; \ + fi; \ + sed \ + -e 's/3PCAP/3/g' \ + -e 's/@MAN_FILE_FORMATS@/5/g' \ + -e 's/@MAN_MISC_INFO@/7/g' \ + -e 's/@MAN_ADMIN_COMMANDS@/8/g' \ + ${PCAP_DISTDIR}/$$F > ${_page} +.endfor + +.include diff --cc lib/libpcap/config.h index cea0cc4fd7cb,000000000000..bcae25131613 mode 100644,000000..100644 --- a/lib/libpcap/config.h +++ b/lib/libpcap/config.h @@@ -1,222 -1,0 +1,377 @@@ +/* This is an edited copy of the config.h generated by configure. */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + ++/* Define to 1 if arpa/inet.h declares `ether_hostton' */ ++/* #undef ARPA_INET_H_DECLARES_ETHER_HOSTTON */ ++ ++/* Enable optimizer debugging */ ++/* #undef BDEBUG */ ++ ++/* define if you want to build the instrument functions code */ ++/* #undef ENABLE_INSTRUMENT_FUNCTIONS */ ++ ++/* Define to 1 if remote packet capture is to be supported */ ++/* #undef ENABLE_REMOTE */ ++ ++/* define if we have the AIX getnetbyname_r() */ ++/* #undef HAVE_AIX_GETNETBYNAME_R */ ++ ++/* define if we have the AIX getprotobyname_r() */ ++/* #undef HAVE_AIX_GETPROTOBYNAME_R */ ++ +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_CONFIG_HAIKUCONFIG_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_DAGAPI_H */ ++ ++/* define if you have the DAG API */ ++/* #undef HAVE_DAG_API */ ++ ++/* define if you have dag_get_erf_types() */ ++/* #undef HAVE_DAG_GET_ERF_TYPES */ ++ ++/* define if you have dag_get_stream_erf_types() */ ++/* #undef HAVE_DAG_GET_STREAM_ERF_TYPES */ ++ ++/* define if you have large streams capable DAG API */ ++/* #undef HAVE_DAG_LARGE_STREAMS_API */ ++ ++/* define if you have vdag_set_device_info() */ ++/* #undef HAVE_DAG_VDAG */ ++ ++/* Define to 1 if you have the declaration of `ether_hostton' */ ++#define HAVE_DECL_ETHER_HOSTTON 1 ++ ++/* Define to 1 if `dl_module_id_1' is a member of `dl_hp_ppa_info_t'. */ ++/* #undef HAVE_DL_HP_PPA_INFO_T_DL_MODULE_ID_1 */ ++ ++/* Define to 1 if the system has the type `dl_passive_req_t'. */ ++/* #undef HAVE_DL_PASSIVE_REQ_T */ ++ +/* Define to 1 if you have the `ether_hostton' function. */ +#define HAVE_ETHER_HOSTTON 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ +#define HAVE_FSEEKO 1 + ++/* Define to 1 if you have the `getspnam' function. */ ++/* #undef HAVE_GETSPNAM */ ++ ++/* Define to 1 if you have a GNU-style `strerror_r' function. */ ++/* #undef HAVE_GNU_STRERROR_R */ ++ +/* on HP-UX 10.20 or later */ +/* #undef HAVE_HPUX10_20_OR_LATER */ + +/* on HP-UX 9.x */ +/* #undef HAVE_HPUX9 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + ++/* Define to 1 if you have the `bsd' library (-lbsd). */ ++/* #undef HAVE_LIBBSD */ ++ +/* if libdlpi exists */ +/* #undef HAVE_LIBDLPI */ + +/* if libnl exists */ +/* #undef HAVE_LIBNL */ + - /* if libnl exists and is version 2.x */ - /* #undef HAVE_LIBNL_2_x */ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_COMPILER_H */ + - /* if libnl exists and is version 3.x */ - /* #undef HAVE_LIBNL_3_x */ ++/* define if we have the Linux getnetbyname_r() */ ++/* #undef HAVE_LINUX_GETNETBYNAME_R */ + - /* libnl has NLE_FAILURE */ - /* #undef HAVE_LIBNL_NLE */ ++/* define if we have the Linux getprotobyname_r() */ ++/* #undef HAVE_LINUX_GETPROTOBYNAME_R */ + - /* libnl has new-style socket api */ - /* #undef HAVE_LIBNL_SOCKETS */ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_NET_TSTAMP_H */ + - /* Define to 1 if you have the header file. */ - #define HAVE_LIMITS_H 1 ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_SOCKET_H */ + - /* Define to 1 if you have the header file. */ - /* #undef HAVE_LINUX_COMPILER_H */ - - /* Define to 1 if you have the header file. */ - /* #undef HAVE_LINUX_ETHTOOL_H */ - - /* Define to 1 if you have the header file. */ - #define HAVE_MEMORY_H 1 ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LINUX_USBDEVICE_FS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NETPACKET_PACKET_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_NET_BPF_H 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_ENET_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_IF_DL_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_IF_H */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_NET_IF_MEDIA_H 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_IF_TYPES_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_NIT_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_PFILT_H */ ++ +/* Define to 1 if you have the header file. */ +/* See Makefile */ +/* #undef HAVE_NET_PFVAR_H */ + - /* if there's an os_proto.h for this platform, to use additional prototypes */ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NET_RAW_H */ ++ ++/* Use OpenSSL */ ++/* #undef HAVE_OPENSSL */ ++ ++/* if there's an os-proto.h for this platform, to use additional prototypes */ +/* #undef HAVE_OS_PROTO_H */ + - /* define if net/pfvar.h defines PF_NAT through PF_NORDR */ - #define HAVE_PF_NAT_THROUGH_PF_NORDR 1 ++/* Define to 1 if you have a POSIX-style `strerror_r' function. */ ++#define HAVE_POSIX_STRERROR_R /**/ + +/* define if you have the Septel API */ +/* #undef HAVE_SEPTEL_API */ + +/* define if you have the Myricom SNF API */ +/* #undef HAVE_SNF_API */ + - /* Define to 1 if you have the `snprintf' function. */ - #define HAVE_SNPRINTF 1 - +/* Define to 1 if the system has the type `socklen_t'. */ +#define HAVE_SOCKLEN_T 1 + ++/* On solaris */ ++/* #undef HAVE_SOLARIS */ ++ ++/* target host supports Solaris "any" device */ ++/* #undef HAVE_SOLARIS_ANY_DEVICE */ ++ ++/* define if we have the Solaris/IRIX getnetbyname_r() */ ++/* #undef HAVE_SOLARIS_IRIX_GETNETBYNAME_R */ ++ ++/* define if we have the Solaris/IRIX getprotobyname_r() */ ++/* #undef HAVE_SOLARIS_IRIX_GETPROTOBYNAME_R */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDIO_H 1 ++ +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + - /* Define to 1 if you have the `strerror' function. */ - #define HAVE_STRERROR 1 - - /* Define to 1 if you have the `strerror_r' function. */ - #define HAVE_STRERROR_R 1 - - /* Define to 1 if you have the `strerror_s' function. */ - /* #undef HAVE_STRERROR_S */ - +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* Define to 1 if you have the `strtok_r' function. */ +#define HAVE_STRTOK_R 1 + +/* Define to 1 if the system has the type `struct BPF_TIMEVAL'. */ +/* #undef HAVE_STRUCT_BPF_TIMEVAL */ + +/* Define to 1 if the system has the type `struct ether_addr'. */ +/* #undef HAVE_STRUCT_ETHER_ADDR */ + ++/* Define to 1 if `msg_control' is a member of `struct msghdr'. */ ++/* #undef HAVE_STRUCT_MSGHDR_MSG_CONTROL */ ++ ++/* Define to 1 if `msg_flags' is a member of `struct msghdr'. */ ++/* #undef HAVE_STRUCT_MSGHDR_MSG_FLAGS */ ++ ++/* Define to 1 if the system has the type `struct rte_ether_addr'. */ ++/* #undef HAVE_STRUCT_RTE_ETHER_ADDR */ ++ ++/* Define to 1 if `hci_channel' is a member of `struct sockaddr_hci'. */ ++/* #undef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL */ ++ +/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */ +#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 + +/* Define to 1 if the system has the type `struct sockaddr_storage'. */ +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 + ++/* Define to 1 if `tp_vlan_tci' is a member of `struct tpacket_auxdata'. */ ++/* #undef HAVE_STRUCT_TPACKET_AUXDATA_TP_VLAN_TCI */ ++ ++/* Define to 1 if `bRequestType' is a member of `struct ++ usbdevfs_ctrltransfer'. */ ++/* #undef HAVE_STRUCT_USBDEVFS_CTRLTRANSFER_BREQUESTTYPE */ ++ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BUFMOD_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_DLPI_EXT_H */ + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_DLPI_H */ ++ +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCCOM_H 1 + - /* Define to 1 if you have the header file. */ - #define HAVE_SYS_SELECT_H 1 ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_NET_NIT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* define if you have the TurboCap API */ +/* #undef HAVE_TC_API */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + - /* Define to 1 if you have the `vsnprintf' function. */ - #define HAVE_VSNPRINTF 1 ++/* Define to 1 if you have the `vasprintf' function. */ ++#define HAVE_VASPRINTF 1 ++ ++/* Define to 1 if you have the `vsyslog' function. */ ++#define HAVE_VSYSLOG 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_ZONE_H */ ++ ++/* Define to 1 if you have the `_wcserror_s' function. */ ++/* #undef HAVE__WCSERROR_S */ ++ ++/* define if __atomic_load_n is supported by the compiler */ ++#define HAVE___ATOMIC_LOAD_N 1 ++ ++/* define if __atomic_store_n is supported by the compiler */ ++#define HAVE___ATOMIC_STORE_N 1 + +/* IPv6 */ +/* See Makefile */ +/* #undef INET6 */ + - /* if unaligned access fails */ - /* #undef LBL_ALIGN */ - - /* path for device for USB sniffing */ - /* #undef LINUX_USB_MON_DEV */ - +/* Define to 1 if netinet/ether.h declares `ether_hostton' */ +/* #undef NETINET_ETHER_H_DECLARES_ETHER_HOSTTON */ + +/* Define to 1 if netinet/if_ether.h declares `ether_hostton' */ - #define NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON /**/ ++/* #undef NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON */ ++ ++/* Define to 1 if net/ethernet.h declares `ether_hostton' */ ++#define NET_ETHERNET_H_DECLARES_ETHER_HOSTTON /**/ + +/* do not use protochain */ +/* #undef NO_PROTOCHAIN */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "pcap" + +/* Define to the full name and version of this package. */ - #define PACKAGE_STRING "pcap 1.10.5" ++#define PACKAGE_STRING "pcap 1.10.6" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "pcap" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ - #define PACKAGE_VERSION "1.10.5" ++#define PACKAGE_VERSION "1.10.6" ++ ++/* target host supports Bluetooth sniffing */ ++/* #undef PCAP_SUPPORT_BT */ ++ ++/* target host supports Bluetooth Monitor */ ++/* #undef PCAP_SUPPORT_BT_MONITOR */ ++ ++/* support D-Bus sniffing */ ++/* #undef PCAP_SUPPORT_DBUS */ ++ ++/* target host supports DPDK */ ++/* #undef PCAP_SUPPORT_DPDK */ ++ ++/* target host supports Linux usbmon for USB sniffing */ ++/* #undef PCAP_SUPPORT_LINUX_USBMON */ ++ ++/* target host supports netfilter sniffing */ ++/* #undef PCAP_SUPPORT_NETFILTER */ + +/* target host supports netmap */ +#define PCAP_SUPPORT_NETMAP 1 + - /* use packet ring capture support on Linux if available */ - #define PCAP_SUPPORT_PACKET_RING 1 ++/* The size of 'time_t', as computed by sizeof. */ ++#ifdef __i386__ ++#define SIZEOF_TIME_T 4 ++#else ++#define SIZEOF_TIME_T 8 ++#endif ++ ++/* The size of `void *', as computed by sizeof. */ ++/* #undef SIZEOF_VOID_P */ + - /* Define to 1 if you have the ANSI C header files. */ ++/* Define to 1 if all of the C90 standard headers exist (not just the ones ++ required in a freestanding environment). This macro is provided for ++ backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Define to 1 if strings.h declares `ffs' */ +#define STRINGS_H_DECLARES_FFS /**/ + ++/* Define to 1 if sys/ethernet.h declares `ether_hostton' */ ++/* #undef SYS_ETHERNET_H_DECLARES_ETHER_HOSTTON */ ++ +/* Enable parser debugging */ +/* #undef YYDEBUG */ + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + - /* Enable large inode numbers on Mac OS X 10.5. */ - #ifndef _DARWIN_USE_64_BIT_INODE - # define _DARWIN_USE_64_BIT_INODE 1 - #endif ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ ++/* #undef _LARGEFILE_SOURCE */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* define on AIX to get certain functions */ ++/* #undef _SUN */ ++ ++/* to handle Ultrix compilers that don't support const in prototypes */ ++/* #undef const */ + +/* Define as token for inline if inlining supported */ +#define inline inline ++ ++/* on sinix */ ++/* #undef sinix */ diff --cc sys/net/dlt.h index 769bf5fecacb,000000000000..4227ce79d3b7 mode 100644,000000..100644 --- a/sys/net/dlt.h +++ b/sys/net/dlt.h @@@ -1,1586 -1,0 +1,1691 @@@ +/*- + * Copyright (c) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from the Stanford/CMU enet packet filter, + * (net/enet.c) distributed as part of 4.3BSD, and code contributed + * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence + * Berkeley Laboratory. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. ++ * ++ * @(#)bpf.h 7.1 (Berkeley) 5/7/91 + */ + +#ifndef _NET_DLT_H_ +#define _NET_DLT_H_ + +/* + * Link-layer header type codes. + * + * Do *NOT* add new values to this list without asking + * "tcpdump-workers@lists.tcpdump.org" for a value. Otherwise, you run + * the risk of using a value that's already being used for some other + * purpose, and of having tools that read libpcap-format captures not + * being able to handle captures with your new DLT_ value, with no hope + * that they will ever be changed to do so (as that would destroy their + * ability to read captures using that value for that other purpose). + * + * See + * + * https://www.tcpdump.org/linktypes.html + * + * for detailed descriptions of some of these link-layer header types. + */ + +/* + * These are the types that are the same on all platforms, and that + * have been defined by for ages. ++ * ++ * DLT_LOW_MATCHING_MIN is the lowest such value; DLT_LOW_MATCHING_MAX ++ * is the highest such value. + */ ++#define DLT_LOW_MATCHING_MIN 0 ++ +#define DLT_NULL 0 /* BSD loopback encapsulation */ +#define DLT_EN10MB 1 /* Ethernet (10Mb) */ +#define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */ +#define DLT_AX25 3 /* Amateur Radio AX.25 */ +#define DLT_PRONET 4 /* Proteon ProNET Token Ring */ +#define DLT_CHAOS 5 /* Chaos */ +#define DLT_IEEE802 6 /* 802.5 Token Ring */ +#define DLT_ARCNET 7 /* ARCNET, with BSD-style header */ +#define DLT_SLIP 8 /* Serial Line IP */ +#define DLT_PPP 9 /* Point-to-point Protocol */ +#define DLT_FDDI 10 /* FDDI */ + ++/* ++ * In case the code that includes this file (directly or indirectly) ++ * has also included OS files that happen to define DLT_LOW_MATCHING_MAX, ++ * with a different value (perhaps because that OS hasn't picked up ++ * the latest version of our DLT definitions), we undefine the ++ * previous value of DLT_LOW_MATCHING_MAX. ++ * ++ * (They shouldn't, because only those 10 values were assigned in ++ * the Good Old Days, before DLT_ code assignment became a bit of ++ * a free-for-all. Perhaps 11 is DLT_ATM_RFC1483 everywhere 11 ++ * is used at all, but 12 is DLT_RAW on some platforms but not ++ * OpenBSD, and the fun continues for several other values.) ++ */ ++#ifdef DLT_LOW_MATCHING_MAX ++#undef DLT_LOW_MATCHING_MAX ++#endif ++ ++#define DLT_LOW_MATCHING_MAX DLT_FDDI /* highest value in this "matching" range */ ++ +/* + * These are types that are different on some platforms, and that + * have been defined by for ages. We use #ifdefs to + * detect the BSDs that define them differently from the traditional + * libpcap + * + * XXX - DLT_ATM_RFC1483 is 13 in BSD/OS, and DLT_RAW is 14 in BSD/OS, - * but I don't know what the right #define is for BSD/OS. ++ * but I don't know what the right #define is for BSD/OS. The last ++ * release was in October 2003; if anybody cares about making this ++ * work on BSD/OS, give us a pull request for a change to make it work. + */ +#define DLT_ATM_RFC1483 11 /* LLC-encapsulated ATM */ + +#ifdef __OpenBSD__ +#define DLT_RAW 14 /* raw IP */ +#else +#define DLT_RAW 12 /* raw IP */ +#endif + +/* + * Given that the only OS that currently generates BSD/OS SLIP or PPP + * is, well, BSD/OS, arguably everybody should have chosen its values + * for DLT_SLIP_BSDOS and DLT_PPP_BSDOS, which are 15 and 16, but they + * didn't. So it goes. + */ +#if defined(__NetBSD__) || defined(__FreeBSD__) +#ifndef DLT_SLIP_BSDOS +#define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */ +#define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */ +#endif +#else +#define DLT_SLIP_BSDOS 15 /* BSD/OS Serial Line IP */ +#define DLT_PPP_BSDOS 16 /* BSD/OS Point-to-point Protocol */ +#endif + +/* + * NetBSD uses 15 for HIPPI. + * + * 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; + * + * a 2-byte "offsets" field; + * + * a 4-byte "D2 length" field (D2_Size?); + * + * a 4-byte "destination switch" field (or a 1-byte field + * containing the Forwarding Class, Double_Wide, and Message_Type + * sub fields, followed by a 3-byte Destination_Switch_Address + * field?, HIPPI-LE 3.4-style?); + * + * a 4-byte "source switch" field (or a 1-byte field containing the + * Destination_Address_type and Source_Address_Type fields, followed + * by a 3-byte Source_Switch_Address field, HIPPI-LE 3.4-style?); + * + * a 2-byte reserved field; + * + * a 6-byte destination address field; + * + * a 2-byte "local admin" field; + * + * a 6-byte source address field; + * + * followed by an 802.2 LLC header. + * + * This looks somewhat like something derived from the HIPPI-FP 4.4 + * Header_Area, followed an HIPPI-FP 4.4 D1_Area containing a D1 data set + * with the header in HIPPI-LE 3.4 (ANSI X3.218-1993), followed by an + * HIPPI-FP 4.4 D2_Area (with no Offset) containing the 802.2 LLC header + * and payload? Or does the "offsets" field contain the D2_Offset, + * with that many bytes of offset before the payload? + * + * See http://wotug.org/parallel/standards/hippi/ for an archive of + * HIPPI specifications. + * + * RFC 2067 imposes some additional restrictions. It says that the + * Offset is always zero + * + * HIPPI is long-gone, and the source files found in an older version + * of NetBSD don't appear to be in the main CVS branch, so we may never + * see a capture with this link-layer type. + */ +#if defined(__NetBSD__) +#define DLT_HIPPI 15 /* HIPPI */ +#endif + +/* + * NetBSD uses 16 for DLT_HDLC; see below. + * BSD/OS uses it for PPP; see above. + * As far as I know, no other OS uses it for anything; don't use it + * for anything else. + */ + +/* + * 17 was used for DLT_PFLOG in OpenBSD; it no longer is. + * + * It was DLT_LANE8023 in SuSE 6.3, so we defined LINKTYPE_PFLOG + * as 117 so that pflog captures would use a link-layer header type + * value that didn't collide with any other values. On all + * platforms other than OpenBSD, we defined DLT_PFLOG as 117, + * and we mapped between LINKTYPE_PFLOG and DLT_PFLOG. + * + * OpenBSD eventually switched to using 117 for DLT_PFLOG as well. + * + * Don't use 17 for anything else. + */ + +/* + * 18 is used for DLT_PFSYNC in OpenBSD, NetBSD, DragonFly BSD and + * macOS; don't use it for anything else. (FreeBSD uses 121, which + * collides with DLT_HHDLC, even though it doesn't use 18 for + * anything and doesn't appear to have ever used it for anything.) + * + * We define it as 18 on those platforms; it is, unfortunately, used - * for DLT_CIP in Suse 6.3, so we don't define it as DLT_PFSYNC - * in general. As the packet format for it, like that for - * DLT_PFLOG, is not only OS-dependent but OS-version-dependent, - * we don't support printing it in tcpdump except on OSes that - * have the relevant header files, so it's not that useful on - * other platforms. ++ * for DLT_CIP in SUSE 6.3, so we don't define it as 18 on all ++ * platforms. We define it as 121 on FreeBSD and as the same ++ * value that we assigned to LINKTYPE_PFSYNC on all remaining ++ * platforms. + */ +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) +#define DLT_PFSYNC 18 +#endif + +#define DLT_ATM_CLIP 19 /* Linux Classical IP over ATM */ + *** 1494 LINES SKIPPED ***