diff options
author | adam <adam@pkgsrc.org> | 2021-11-16 16:18:48 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2021-11-16 16:18:48 +0000 |
commit | a2cb2c35d0422c7abb3681b20d32180bb9ad1d40 (patch) | |
tree | 202af00df4f783b4bbb731cb85f0f7d226f2868c /net | |
parent | 6a49185139525fc35f2c208974f1f76f121aeeaa (diff) | |
download | pkgsrc-a2cb2c35d0422c7abb3681b20d32180bb9ad1d40.tar.gz |
libpcap: updated to 1.10.1
Summary for 1.10.1 libpcap release (so far!)
Packet filtering:
Fix "type XXX subtype YYY" giving a parse error
Source code:
Add PCAP_AVAILABLE_1_11.
Building and testing:
Rename struct bpf_aux_data to avoid NetBSD compile errors
Squelch some compiler warnings
Squelch some Bison warnings
Fix cross-builds with older kernels lacking BPF_MOD and BPF_XOR
Fix Bison detection for minor version 0.
Fix parallel build with FreeBSD make.
Get DLT_MATCHING_MAX right in gencode.c on NetBSD.
Define timeradd() and timersub() if necessary.
Fix Cygwin/MSYS target directories.
Fix symlinking with DESTDIR.
Fix generation of libpcap.pc with CMake when not building a shared
library.
Check for Arm64 as well as x86-64 when looking for packet.lib on
Windows.
Documentation:
Refine Markdown in README.md.
Improve the description of portrange in filters.
README.linux.md isn't Markdown, rename it just README.linux.
pcapng:
Support reading version 1.2, which some writers produce, and which
is the same as 1.0 (some new block types were added, but
that's not sufficient reason to bump the minor version number,
as code that understands those new block types can handle them
in a 1.0 file)
Linux:
Drop support for text-mode USB captures, as we require a 2.6.27
or later kernel (credit to Chaoyuan Peng for noting the
sscanf vulnerabilities in the text-mode code that got me to
realize that we didn't need this code any more)
Bluetooth: fix non-blocking mode.
Don't assume that all compilers used to build for Linux support
the __atomic builtins
Windows:
Add more information in "interface disappeared" error messages, in
the hopes of trying to figure out the cause.
Treat ERROR_DEVICE_REMOVED as "device was removed".
Indicate in the error message which "device was removed" error
occurred.
Report the Windows error status if PacketSendPacket() fails.
Use %lu for ULONGs in error message formats.
Don't treat the inability to find airpcap.dll as an error.
Ignore spurious error reports by Microsoft Surface mobile
telephony modem driver
rpcap:
Clean up error checking and error messages for server address
lookup.
Summary for 1.10.0 libpcap release
Add support for capturing on DPDK devices
Label most APIs by the first release in which they're available
Fix some memory leaks, including in pcap_compile()
Add pcap_datalink_val_to_description_or_dlt()
Handle the pcap private data in a fashion that makes fewer
assumptions about memory layouts (might fix GitHub issue #940
on ARM)
Fix some thread safety issues
pcap_findalldevs(): don't sort interfaces by unit number
Always return a list of supported time-stamp types, even if only
host time stamps are supported
Increase the maximum snaplen for LINKTYPE_USBPCAP/DLT_USBPCAP
Report the DLT description in error messages
Add pcap_init() for first-time initialization and global option
setting; it's not required, but may be used
Remove (unused) SITA support
Capture file reading:
Correctly handle pcapng captures with more than one IDB with a
snspshot length greater than the supported maximum
Capture file writing:
Create the file in pcap_dump_open_append() if it doesn't exist
Packet filtering:
Fix "unknown ether proto 'aarp'"
Add a new filter "ifindex" for DLT_LINUX_SLL2 files on all
platforms and live Linux captures
Add a hack to the optimizer to try to catch certain optimizer
loops (should prevent GitHub issue #112)
Show special Linux BPF offsets symbolically in bpf_image() and
bpf_dump()
Added support for ICMPv6 types 1-4 as tokens with names
Remove undocumented and rather old "ether proto" protocols
Catch invalid IPv4 addresses in filters
Don't assume ARM supports unaligned accesses
Security and other issues found by analysis:
Fix various security issues reported by Charles Smith at Tangible
Security
Fix various security issues reported by Include Security
Fix some issues found by cppcheck.
Add some overflow checks in the optimizer
rpcap:
Support rpcap-over-TLS
Redo protocol version negotiation to avoid problems with old
servers (it still works with servers using the old negotiation,
as well as servers not supporting negotiation)
Error handling cleanups
Add some new authentication libpcap error codes for specific
errors
Fix some inetd issues in rpcapd
Fix rpcapd core dumps with invalid configuration file
On UN*X, don't have rpcapd tell the client why authentication
failed, so a brute-force attacker can't distinguish between
"unknown user name" and "known user name, wrong password"
Allow rpcapd to rebind more rapidly (GitHub issue #765)
Documentation:
Improve man pages, including adding backward compatibility notes
Building and testing:
Require, and assume, some level of C99 support in the C compiler
Require Visual Studio 2015 or later if using Visual Studio
Fix configure script issues, including with libnl on Linux
Fix CMake issues
Squelch complaints from Bison about "%define api.pure" being
deprecated
Fix compilation of pcap-tc.c
Linux:
Require PF_PACKET support, and kernel 2.6.27 or later
Handle systems without AF_INET or AF_UNIX socket support
Get rid of Wireless Extensions for turning monitor mode on
Proper memory sync for PACKET_MMAP (may prevent GitHub issue
#898)
Drop support for libnl 1 and 2.
Return error on interface going away, but not if it just went
down but is still present
Set socket protocol only after packet ring configured,
reducing bogus packet drop reports
Get ifdrop stats from sysfs.
When adjusting BPF programs, do not subtract the
SLL[2]_HDR_LEN if the location is negative (special metadata
offset), to preserve references to metadata; see
https://github.com/the-tcpdump-group/tcpdump/issues/480#issuecomment-486827278
Report a warning for unknown ARPHRD types
Have pcap_breakloop() forcibly break out of a sleeping
capture loop
Add support for DSA data link types
For raw USB bus capture, use the snapshot length to set the
buffer size, and set the len field to reflect the length
in the URB (GitHub issue #808)
With a timeout of zero, wait indefinitely
Clean up support for some non-GNU libc C libraries
Add DLT_LINUX_SLL2 for cooked-mode captures
Probe CONFIGURATION descriptor of connected USB devices
Treat EPERM on ethtool ioctls as meaning "not supported", as
permissions checks are done before checking whether the
ioctl is supported at all
macOS:
Cope with getting EPWROFF from SIOCGIFMEDIA
Treat EPERM on SIOCGIFMEDIA as meaning "not supported", as
permissions checks are done before checking whether the
ioctl is supported at all
Treat ENXIO when reading packets as meaning "the interface
was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
FreeBSD:
Treat ENXIO as meaning "the interface was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
NetBSD:
Treat ENXIO as meaning "the interface was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
OpenBSD:
Treat EIO as meaning "the interface was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
DragonFly BSD:
Treat ENXIO as meaning "the interface was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
Solaris:
Treat ENXIO as meaning "the interface was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
AIX:
Fix loading of BPF kernel extension
Treat ENXIO as meaning "the interface was removed"
Report "the interface disappeared", not "the interface went
down", if the interface was removed during a capture
Windows:
Make the snapshot length work even if pcap_setfilter()
isn't called
Fix compilation on Cygwin/MSYS
Add pcap_handle(), and deprecate pcap_fileno()
Report PCAP_ERROR_NO_SUCH_DEVICE for a non-existent device
Return an appropriate error message for device removed or
device unusable due to a suspend/resume
Report a warning for unknown NdisMedium types
Have pcap_breakloop() forcibly break out of a sleeping
capture loop
Clean up building DLL
Handle CRT mismatch for pcap_dump_fopen()
Map NdisMediumWirelessWan to DLT_RAW
Add AirPcap support in a module, rather than using
WinPcap/Npcap's support for it
Report the system error for PacketSetHwFilter() failures
Add support for getting and setting packet time stamp types
with Npcap
Have pcap_init() allow selecting whether the API should use
local code page strings or UTF-8 strings (including error
messages)
Haiku:
Add capture support
Diffstat (limited to 'net')
-rw-r--r-- | net/libpcap/Makefile | 6 | ||||
-rw-r--r-- | net/libpcap/PLIST | 3 | ||||
-rw-r--r-- | net/libpcap/distinfo | 11 | ||||
-rw-r--r-- | net/libpcap/patches/patch-Makefile.in | 50 | ||||
-rw-r--r-- | net/libpcap/patches/patch-pcap-int.h | 22 |
5 files changed, 38 insertions, 54 deletions
diff --git a/net/libpcap/Makefile b/net/libpcap/Makefile index 0e36e7d45d5..be057ba481a 100644 --- a/net/libpcap/Makefile +++ b/net/libpcap/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.66 2020/01/26 17:31:50 rillig Exp $ +# $NetBSD: Makefile,v 1.67 2021/11/16 16:18:48 adam Exp $ -DISTNAME= libpcap-1.9.1 +DISTNAME= libpcap-1.10.1 CATEGORIES= net -MASTER_SITES= http://www.tcpdump.org/release/ +MASTER_SITES= https://www.tcpdump.org/release/ MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= https://www.tcpdump.org/ diff --git a/net/libpcap/PLIST b/net/libpcap/PLIST index 44e5cf204e6..2aa8e3128cb 100644 --- a/net/libpcap/PLIST +++ b/net/libpcap/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.15 2019/10/14 20:10:19 triaxx Exp $ +@comment $NetBSD: PLIST,v 1.16 2021/11/16 16:18:48 adam Exp $ bin/pcap-config include/pcap-bpf.h include/pcap-int.h @@ -55,6 +55,7 @@ man/man3/pcap_get_selectable_fd.3 man/man3/pcap_get_tstamp_precision.3 man/man3/pcap_geterr.3 man/man3/pcap_getnonblock.3 +man/man3/pcap_init.3 man/man3/pcap_inject.3 man/man3/pcap_is_swapped.3 man/man3/pcap_lib_version.3 diff --git a/net/libpcap/distinfo b/net/libpcap/distinfo index 8ceaa59a9a5..966bab1b9b0 100644 --- a/net/libpcap/distinfo +++ b/net/libpcap/distinfo @@ -1,9 +1,8 @@ -$NetBSD: distinfo,v 1.38 2021/10/26 11:05:55 nia Exp $ +$NetBSD: distinfo,v 1.39 2021/11/16 16:18:48 adam Exp $ -BLAKE2s (libpcap-1.9.1.tar.gz) = dba7bec94d9c707f4d64fd0849d0e79b2e93c534b3764a85236ab4261d82b200 -SHA512 (libpcap-1.9.1.tar.gz) = ae0d6b0ad8253e7e059336c0f4ed3850d20d7d2f4dc1d942c2951f99a5443a690f0cc42c6f8fdc4a0ccb19e9e985192ba6f399c4bde2c7076e420f547fddfb08 -Size (libpcap-1.9.1.tar.gz) = 861228 bytes -SHA1 (patch-Makefile.in) = ca43b1c1e75bc9a3af5e1fa2833f99bdb72eef13 +BLAKE2s (libpcap-1.10.1.tar.gz) = c1750d08f9d70f8cce5f696e24b950a588f62520ebfc49b0a4d053dcc2a1f68d +SHA512 (libpcap-1.10.1.tar.gz) = 56c314f19c2b857742bf8abcb1e78066986aaa95cec339b75a3c8b70a9fa2b5167da98708352f9ec97a1cea2700cfb4e040bda108d58ac46cec9b7deab88d171 +Size (libpcap-1.10.1.tar.gz) = 935221 bytes +SHA1 (patch-Makefile.in) = 9dcba4ae88185c63543ea5a2be559efb7400c289 SHA1 (patch-configure) = 51b8a471655e94945f8240285201886b8da324f2 SHA1 (patch-fad-getad.c) = f7a29d558e1f3c54a143d0977deffb2be3f494ef -SHA1 (patch-pcap-int.h) = b213697c144dc3ae17cf5dd5d9c38b99c59d81c3 diff --git a/net/libpcap/patches/patch-Makefile.in b/net/libpcap/patches/patch-Makefile.in index 6899f6d6dc2..a2c05014c27 100644 --- a/net/libpcap/patches/patch-Makefile.in +++ b/net/libpcap/patches/patch-Makefile.in @@ -1,11 +1,11 @@ -$NetBSD: patch-Makefile.in,v 1.2 2019/10/14 20:10:19 triaxx Exp $ +$NetBSD: patch-Makefile.in,v 1.3 2021/11/16 16:18:48 adam Exp $ Add libtoolization. Fix manpage installation. ---- Makefile.in.orig 2019-09-30 14:39:22.000000000 +0000 +--- Makefile.in.orig 2021-06-07 20:21:35.000000000 +0000 +++ Makefile.in -@@ -45,7 +45,7 @@ VPATH = @srcdir@ +@@ -46,7 +46,7 @@ VPATH = @srcdir@ # LD = /usr/bin/ld @@ -14,7 +14,7 @@ Fix manpage installation. AR = @AR@ LN_S = @LN_S@ MKDEP = @MKDEP@ -@@ -82,7 +82,8 @@ YACC = @YACC@ +@@ -84,7 +84,8 @@ BISON_BYACC = @BISON_BYACC@ # Explicitly define compilation rule since SunOS 4's make doesn't like gcc. # Also, gcc does not remove the .o before forking 'as', which can be a # problem if you don't own the file but can write to the directory. @@ -24,23 +24,29 @@ Fix manpage installation. @rm -f $@ $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c -@@ -94,13 +95,13 @@ CSRC = pcap.c gencode.c optimize.c namet - savefile.c sf-pcap.c sf-pcapng.c pcap-common.c \ - bpf_image.c bpf_filter.c bpf_dump.c - GENSRC = scanner.c grammar.c +@@ -97,7 +98,7 @@ COMMON_C_SRC = pcap.c gencode.c optimize + savefile.c sf-pcap.c sf-pcapng.c pcap-common.c \ + bpf_image.c bpf_filter.c bpf_dump.c + GENERATED_C_SRC = scanner.c grammar.c -LIBOBJS = @LIBOBJS@ +LIBOBJS = @LTLIBOBJS@ - SRC = $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(GENSRC) - + SRC = $(PLATFORM_C_SRC) $(PLATFORM_CXX_SRC) \ + $(MODULE_C_SRC) $(REMOTE_C_SRC) $(COMMON_C_SRC) \ +@@ -106,9 +107,9 @@ SRC = $(PLATFORM_C_SRC) $(PLATFORM_CXX_S # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot - # hack the extra indirection --OBJ = $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS) -+OBJ = $(PSRC:.c=.lo) $(FSRC:.c=.lo) $(CSRC:.c=.lo) $(SSRC:.c=.lo) $(GENSRC:.c=.lo) $(LIBOBJS) + # hack the extra indirection, and we have to handle PLATFORM_CXX_SRC + # differently from the defines for C source +-OBJ = $(PLATFORM_C_SRC:.c=.o) $(PLATFORM_CXX_SRC:.cpp=.o) \ +- $(MODULE_C_SRC:.c=.o) $(REMOTE_C_SRC:.c=.o) $(COMMON_C_SRC:.c=.o) \ +- $(GENERATED_C_SRC:.c=.o) \ ++OBJ = $(PLATFORM_C_SRC:.c=.lo) $(PLATFORM_CXX_SRC:.cpp=.lo) \ ++ $(MODULE_C_SRC:.c=.lo) $(REMOTE_C_SRC:.c=.lo) $(COMMON_C_SRC:.c=.lo) \ ++ $(GENERATED_C_SRC:.c=.lo) \ + $(LIBOBJS) + PUBHDR = \ - pcap.h \ - pcap-bpf.h \ -@@ -385,12 +386,10 @@ EXTRA_DIST = \ +@@ -415,12 +416,10 @@ EXTRA_DIST = \ Win32/Prj/wpcap.vcxproj \ Win32/Prj/wpcap.vcxproj.filters @@ -56,7 +62,7 @@ Fix manpage installation. shared: libpcap.$(DYEXT) -@@ -477,7 +476,7 @@ scanner.h: scanner.c +@@ -507,7 +506,7 @@ scanner.h: scanner.c $(MAKE) $(MAKEFLAGS) scanner.c; \ fi @@ -64,8 +70,8 @@ Fix manpage installation. +scanner.lo: scanner.c grammar.h $(CC) $(FULL_CFLAGS) -c scanner.c - grammar.c: $(srcdir)/grammar.y -@@ -489,25 +488,25 @@ grammar.h: grammar.c + # +@@ -538,25 +537,25 @@ grammar.h: grammar.c $(MAKE) $(MAKEFLAGS) grammar.c; \ fi @@ -98,7 +104,7 @@ Fix manpage installation. $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strtok_r.c # -@@ -553,7 +552,7 @@ testprogs: FORCE +@@ -601,7 +600,7 @@ testprogs: FORCE FORCE: @@ -107,7 +113,7 @@ Fix manpage installation. [ -d $(DESTDIR)$(libdir) ] || \ (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) [ -d $(DESTDIR)$(includedir) ] || \ -@@ -568,62 +567,60 @@ install: install-shared install-archive +@@ -616,62 +615,60 @@ install: install-shared install-archive (mkdir -p $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@; chmod 755 $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@) [ -d $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@ ] || \ (mkdir -p $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@; chmod 755 $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@) @@ -210,7 +216,7 @@ Fix manpage installation. for i in $(MANFILE); do \ $(INSTALL_DATA) `echo $$i | sed 's/.manfile.in/.manfile/'` \ $(DESTDIR)$(mandir)/man@MAN_FILE_FORMATS@/`echo $$i | sed 's/.manfile.in/.@MAN_FILE_FORMATS@/'`; done -@@ -665,15 +662,15 @@ install-shared-shareda: libpcap.shareda +@@ -713,15 +710,15 @@ install-shared-shareda: libpcap.shareda install-shared-none: install-archive: install-archive-$(DYEXT) diff --git a/net/libpcap/patches/patch-pcap-int.h b/net/libpcap/patches/patch-pcap-int.h deleted file mode 100644 index 45656fc1d35..00000000000 --- a/net/libpcap/patches/patch-pcap-int.h +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-pcap-int.h,v 1.1 2019/10/14 20:10:19 triaxx Exp $ - -NetBSD already defines bpf_aux_data in /usr/include/net/bpf.h. - ---- pcap-int.h.orig 2019-09-30 14:39:22.000000000 +0000 -+++ pcap-int.h -@@ -497,6 +497,7 @@ void sf_cleanup(pcap_t *p); - * Linux kernel when the kernel rejects the filter (requiring us to - * run it in userland). It contains VLAN tag information. - */ -+#ifndef __NetBSD__ - struct bpf_aux_data { - u_short vlan_tag_present; - u_short vlan_tag; -@@ -508,6 +509,7 @@ struct bpf_aux_data { - */ - u_int bpf_filter_with_aux_data(const struct bpf_insn *, - const u_char *, u_int, u_int, const struct bpf_aux_data *); -+#endif - - /* - * Internal interfaces for both "pcap_create()" and routines that |