Subject: CVS commit: pkgsrc/net/libpcap
From: Adam Ciarcinski
Date: 2024-09-01 11:47:09
Message id: 20240901094709.74ADDFC74@cvs.NetBSD.org

Log Message:
libpcap: updated to 1.10.5

Summary for 1.10.5 libpcap release
  Source code:
    Spell WirelessHART details properly.
    Mark pcap_vasprintf() as printf-like.
    Finalize moving of bpf_filter.c.
    Remove an unneeded argument from gen_mcode6().
    Don't do some Berkeley YACC workarounds with YACC releases not
      requiring them.
    Use correct data types rather than int in some cases.
    Squelch compiler warning in grammar.c.
    Fix findalldevtest compilation if IPv6 isn't enabled.
    Rename helper routines for pcap modules to have names beginning with
      pcapint_, to avoid namespace collisions for code linking statically
      with libpcap.
    Avoid casting hack for the Windows cleanup-on-exit routine.
    Use %zu format for one case of printing a size_t.
    Fix some Coverity errors.
    Fix availabilities of some functions to match reality.
    pcap: make the seconds and microseconds/nanoseconds fields unsigned.
    Remove the unused pcap-rpcap-int.h header file.
  Thread safety:
    Make some static variables thread-local.
  Packet filtering:
    Improve reporting of some invalid filter expressions.
    Return an error from pcap_compile() if the scanner fails to initialize.
    Optimizer fix from Archit Shah to recompute dominators after
      moving code.
    Optimizer fix from Archit Shah to mark value as unknown when store
      of that value is deleted.
  Linux:
    Properly return warnings.
    Don't use DLT_LINUX_SLL2 for anything other than the "any" device.
    Avoid 32-bit unsigned integer overflow in USB captures.
    Fix a file descriptor leak.
    Properly report warnings about unknown ARPHRD_ types.
    Fix DLT_CAN_SOCKETCAN handling of CAN FD.
    Add CAN XL support to DLT_CAN_SOCKETCAN.
    Clean up the code that sets the "real" ("original") \ 
length for
      isochronous USB transfers.
    Avoid unnecessary blocking on recvmsg() in the Bluetooth monitor and
      Bluetoth modules.
  Solaris:
    Handle BPF returning ESRCH for unknown devices.
    List the "any" device if it's supported.
    Report {non-existent zone}/{interface} errors appropriately.
    Allow attaching to links owned by a non-global zone.
    Fix AF_LINK handling on illumos.
  macOS:
    Redid the availability macros to be closer to what Apple's doing
      in recent SDKs, including tagging pcap-namedb.h routines.
    Fix the install name of the installed shared library to have a
      full path when building with CMake.
    Fix universal builds.
  Haiku:
    Convert the module to C.
    Address a few compiler warnings.
    Fix various build problems.
    Report non-existent devices correctly.
    Fix handling of packet statistics.
    Fix packet timestamping.
    Fix packet filtering with low snaplen.
    Improve connection status reporting.
    Add support for promiscuous mode.
    Detect DLTs and loopback capture support at run time.
    Report IEEE 802.11 as PCAP_IF_WIRELESS.
  Windows:
    Fix internal handling of "not supported" error codes from NPF.
    Work around a bug in Npcap 1.00 in case of driver version mismatch.
    Don't call WSACleanup() when handling a failed WSAStartup().
  BSD, macOS, AIX, Solaris 11, Linux:
    Add a new error PCAP_ERROR_CAPTURE_NOTSUP, for use if a capture
      mechanism is not present, in the hopes that, for example,
      attempts to capture on Windows Services for Linux 1, in which
      the NT kernel attempts to simulate Linux system calls but does
      not support packet sockets, can get an error that better
      indicates the underlying problem.
  AirPcap:
    Format an error message if we run out of memory.
  nflog:
    Fix count of dropped packets.
    Make sure we don't overflow when rounding up the TLV length.
  rpcap:
    Handle routines removed in at least some OpenSSL libraries.
    CVE-2023-7256: Clean up sock_initaddress() and its callers to avoid
      double frees in some cases.
    Don't define SOCKET ourselves; instead, define PCAP_SOCKET as int
      on UN*Xes and as SOCKET on Windows.
    CVE-2024-8006: Fix pcap_findalldevs_ex() not to crash if passed a
      file:// URL with a path to a directory that cannot be opened.
  Savefiles:
    Handle DLT_/LINKTYPE_ mapping better, to handle some
      OpenBSD-specific link types better.
    Treat if_tsoffset as signed in pcapng files, as the spec says.
    Don't try to fix the "real" length for isochronous USB
      transfers if the number of USB descriptors is too large.
    Reject pcap files where one of the reserved fields in the
      "link-layer type plus other stuff" is non-zero.
  Building and testing:
    Add a configure option to help debugging (--enable-instrument-functions).
    Improved tests and error reporting for uses of pkg-config, and
      improve help message.
    Fix Haiku build.
    With CMake, install headers in CMAKE_INSTALL_INCLUDEDIR rather
      than just include.
    Build libpcap.a before building test programs.
    Print address family numerically, as well as symbolically,
      in findalldevstest.
    Fail with suggestions, rather than failing over to no capture
      support, if no capture mechanism was found.
    Don't indent comments in Make, as that may cause them not to be
      recognized as comments.
    Don't check for libssl if we aren't going to use it.
    Better handle enabling and disabling of sanitizers.
    CMakeLists.txt: Print "Symlinking: /some/path to ..." conditionally.
    Evaluate CMAKE_INSTALL_PREFIX at install time.
    cmake: Update the minimum required version to 2.8.12 (except Windows).
    cmake: suppress CMP0042 OLD deprecated warning.
    Makefile.in: Add the releasecheck target.
    Cirrus CI: Add the "make releasecheck" command in the Linux task.
    Makefile.in: Add the whitespacecheck target.
    Cirrus CI: Run the "make whitespacecheck" command in the Linux task.
    Autoconf: Update config.{guess,sub}, timestamps 2024-01-01.
    Autoconf: Update the install-sh script to the 2020-11-14.01 version.
    Compile with '-Wnull-pointer-subtraction',
      '-Wunused-but-set-parameter', and '-Wunused-but-set-variable' in
      devel mode if supported.
    Don't ignore spaces between CMAKE_C_FLAGS and DPDK_C_FLAGS with
      CMake.
    Use noreturn and __format__ with XL C 7.0 and later.
    Check for the same -W flags in autotools and CMake.
    Autoconf: Add autogen.sh, remove configure and config.h.in and put
      these generated files in the release tarball.
    Autoconf: Get the size of a time_t.
    Fix propagation of cc_werr_cflags() output.
    Makefile.in(s): Fix the depend target.
    mkdep: Exit with a non-zero status if a command fails.
    Fix HCI_CHANNEL_MONITOR detection with musl libc.
    Extend "make shellcheck" onto mkdep too.
    Add initial support for building with TinyCC.
    Address all known compiler warnings specific to illumos, Linux, NetBSD,
      Solaris and Sun C; in CI expect warnings specific to TinyCC only.
  Documentation:
    Update and fix pcap-filter man page.
    Add a README.haiku.md file.
    Document pcap-config better.
    Man page formatting and prose fixes.
    Rename doc/README.Win32.md to doc/README.windows.md.
    Update pcap-savefile man page to match the Internet-Draft for
      pcap.
    Fix CMake issues for target used by other projects.
    Explain "any" device better in pcap_open_live(3PCAP).
    Update INSTALL.md.
    Note in man pages that errbuf arguments must point to an error
      buffer.
    Note that if pcap_findalldevs() fails it sets *alldevsp to NULL;
      there's no devices list to free.
    Explain "other addresses" in pcap_findalldevs(3PCAP).
    Document pcap_lookupnet(3PCAP) a bit better.

Files:
RevisionActionfile
1.71modifypkgsrc/net/libpcap/Makefile
1.42modifypkgsrc/net/libpcap/distinfo
1.5modifypkgsrc/net/libpcap/patches/patch-Makefile.in
1.9modifypkgsrc/net/libpcap/patches/patch-configure
1.2modifypkgsrc/net/libpcap/patches/patch-fad-getad.c