From: Guy Harris Date: Thu, 6 Jan 2022 22:42:16 +0000 (-0800) Subject: npcap: squelch deprecation warnings for kernel dump mode. X-Git-Tag: libpcap-1.10.2~274 X-Git-Url: https://git.tcpdump.org/libpcap/commitdiff_plain/186343ed30c465d7f0c858efa8ce1e649c963113 npcap: squelch deprecation warnings for kernel dump mode. If we're building with Npcap, just have the dump mode routines return an error with a message indicating that kernel dump mode isn't supported. [skip cirrus] (cherry picked from commit 1a37338725ba1796ed9d986139e304dd64cd8b14) --- diff --git a/pcap-npf.c b/pcap-npf.c index e385b2ac..0f90b36a 100644 --- a/pcap-npf.c +++ b/pcap-npf.c @@ -445,6 +445,31 @@ pcap_setuserbuffer_npf(pcap_t *p, int size) return (0); } +#ifdef HAVE_NPCAP_PACKET_API +/* + * Kernel dump mode isn't supported in Npcap; calls to PacketSetDumpName(), + * PacketSetDumpLimits(), and PacketIsDumpEnded() will get compile-time + * deprecation warnings. + * + * Avoid calling them; just return errors indicating that kernel dump + * mode isn't supported in Npcap. + */ +static int +pcap_live_dump_npf(pcap_t *p, char *filename _U_, int maxsize _U_, + int maxpacks _U_) +{ + snprintf(p->errbuf, PCAP_ERRBUF_SIZE, + "Npcap doesn't support kernel dump mode"); + return (-1); +} +static int +pcap_live_dump_ended_npf(pcap_t *p, int sync) +{ + snprintf(p->errbuf, PCAP_ERRBUF_SIZE, + "Npcap doesn't support kernel dump mode"); + return (-1); +} +#else /* HAVE_NPCAP_PACKET_API */ static int pcap_live_dump_npf(pcap_t *p, char *filename, int maxsize, int maxpacks) { @@ -485,6 +510,7 @@ pcap_live_dump_ended_npf(pcap_t *p, int sync) return (PacketIsDumpEnded(pw->adapter, (BOOLEAN)sync)); } +#endif /* HAVE_NPCAP_PACKET_API */ #ifdef HAVE_AIRPCAP_API static PAirpcapHandle