[{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Mon 07 Sep 2026 23:32:25","branch":"master","category":"libpcap","codebase":"","comments":"CI: Add initial support for MidnightBSD.","files":[{"name":"build_common.sh"}],"number":281094,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"1619d0e1b2eb2000fc3ac4814310adbf0d5ecad2","revision":"1619d0e1b2eb2000fc3ac4814310adbf0d5ecad2","revlink":"","when":1788816745,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 08 Sep 2026 12:10:12","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Compose tests correctly for MidnightBSD.\nWith these changes all tests pass.\n$ uname -v\nMidnightBSD 4.0.7 stable/4.0-n13918-ea9bf9d6c3 GENERIC","files":[{"name":"testprogs/TESTlib.pm"},{"name":"testprogs/TESTrun"}],"number":281095,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"f7164554f0446e6e7c304f5bed478cdffe8f585e","revision":"f7164554f0446e6e7c304f5bed478cdffe8f585e","revlink":"","when":1788862212,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 08 Sep 2026 13:13:15","branch":"master","category":"libpcap","codebase":"","comments":"Do not disable netmap on MidnightBSD.\nAs a matter of fact, on MidnightBSD 4.0.7 CMake 3.31.6 (installed from\nan mport package) sets the CMAKE_SYSTEM_NAME variable to \"MidnightBSD\"\neven though the latter does not appear in CMake documentation.","files":[{"name":"CMakeLists.txt"},{"name":"configure.ac"}],"number":281096,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"e50742b53f1bd94cea98f90f03d365a6c1efee23","revision":"e50742b53f1bd94cea98f90f03d365a6c1efee23","revlink":"","when":1788865995,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 08 Sep 2026 13:15:00","branch":"master","category":"libpcap","codebase":"","comments":"Document various MidnightBSD peculiarities. [skip ci]","files":[{"name":"pcap-filter.manmisc.in"},{"name":"pcap-netmap.c"},{"name":"pcap/dlt.h"}],"number":281097,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"84f140f7b6aa9f4041884fd98597460bcd7dcbab","revision":"84f140f7b6aa9f4041884fd98597460bcd7dcbab","revlink":"","when":1788866100,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"84f140f7b6aa9f4041884fd98597460bcd7dcbab"},"submittedAt":1788860685},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Tue 08 Sep 2026 20:39:52","branch":"master","category":"libpcap","codebase":"","comments":"Speak of null pointers, not NULL, in man pages.\nThis is less ambiguous in the case of pcap_datalink_val_to_name(), which\ncan return a null pointer for an unknown DLT_ value or a pointer to the\nstring \"NULL\" for DLT_NULL.\n\nIt could also be considered more general, as there are other ways to\nrepresent a null pointer in C source, and, in newer versions of C++, you\ncan compare the return value against nulllptr. If there are other\nlanguages that can call C functions directly so that you don't need a\nlanguage wrapper, they may also have different ways of representing null\npointers at the source code level.\n\nFix GitHub issue #1739.\n\nWhile we're at it, improve the wording in some man pages to be clearer\nor more complete.","files":[{"name":"CHANGES"},{"name":"pcap.3pcap.in"},{"name":"pcap_create.3pcap"},{"name":"pcap_datalink_val_to_name.3pcap"},{"name":"pcap_dump_open.3pcap.in"},{"name":"pcap_file.3pcap"},{"name":"pcap_findalldevs.3pcap"},{"name":"pcap_get_required_select_timeout.3pcap"},{"name":"pcap_get_selectable_fd.3pcap"},{"name":"pcap_lookupdev.3pcap"},{"name":"pcap_next_ex.3pcap"},{"name":"pcap_offline_filter.3pcap"},{"name":"pcap_open_live.3pcap"},{"name":"pcap_open_offline.3pcap.in"},{"name":"pcap_setnonblock.3pcap"},{"name":"pcap_statustostr.3pcap"},{"name":"pcap_tstamp_type_val_to_name.3pcap"}],"number":281162,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"59a42dbab9fd5d48dca5599fcdd0515eefad7a87","revision":"59a42dbab9fd5d48dca5599fcdd0515eefad7a87","revlink":"","when":1788892792,"who":"Guy Harris <gharris@sonic.net>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"59a42dbab9fd5d48dca5599fcdd0515eefad7a87"},"submittedAt":1788887168},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Tue 08 Sep 2026 20:59:01","branch":"master","category":"libpcap","codebase":"","comments":"CI: Fix identification of old TinyCC.\nSame as in tcpslice.","files":[{"name":"build_common.sh"}],"number":281168,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"a8a2f657361bb79c7f01822086bf94e529aaae7e","revision":"a8a2f657361bb79c7f01822086bf94e529aaae7e","revlink":"","when":1788893941,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 08 Sep 2026 20:59:01","branch":"master","category":"libpcap","codebase":"","comments":"CI: Add initial support for Dragonfly BSD.","files":[{"name":"build_common.sh"}],"number":281169,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"f7441a3c552d1a4bd10afed09c7e2d4f1b812dd4","revision":"f7441a3c552d1a4bd10afed09c7e2d4f1b812dd4","revlink":"","when":1788893941,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 08 Sep 2026 20:59:01","branch":"master","category":"libpcap","codebase":"","comments":"netmap: Document DragonFly BSD in a comment.","files":[{"name":"pcap-netmap.c"}],"number":281170,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"e881a4194cc902acb1e8bc0764d246e00c7687d4","revision":"e881a4194cc902acb1e8bc0764d246e00c7687d4","revlink":"","when":1788893941,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 08 Sep 2026 20:59:01","branch":"master","category":"libpcap","codebase":"","comments":"instrument functions: Constify strrchr() result. [skip ci]\nSame as in tcpslice.","files":[{"name":"instrument-functions.c"}],"number":281171,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"cd765e7c69d533fc610dd56edf155b53c2eeb804","revision":"cd765e7c69d533fc610dd56edf155b53c2eeb804","revlink":"","when":1788893941,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"cd765e7c69d533fc610dd56edf155b53c2eeb804"},"submittedAt":1788888981},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Wed 09 Sep 2026 22:52:58","branch":"master","category":"libpcap","codebase":"","comments":"Fold a few long lines for a cleaner patch. [skip ci]","files":[{"name":"pcap-bt-linux.c"},{"name":"pcap-bt-monitor-linux.c"},{"name":"pcap.c"}],"number":281290,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"27b268a4a61ec67b03db436eb088fe05467732f4","revision":"27b268a4a61ec67b03db436eb088fe05467732f4","revlink":"","when":1788987178,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"27b268a4a61ec67b03db436eb088fe05467732f4"},"submittedAt":1788982600},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Thu 10 Sep 2026 13:01:26","branch":"master","category":"libpcap","codebase":"","comments":"DAG: Fix building after commit 7dbcae6. [skip ci]\npcap-dag.c:151:42: error: 'p' undeclared (first use in this function);\n  did you mean 'ip'?\npcap-dag.c:859:35: error: 'ifacev' undeclared (first use in this\n  function); did you mean 'iface'?\npcap-dag.c:844:22: warning: unused variable 'env' [-Wunused-variable]\npcap-dag.c:1137:52: warning: pointer targets in passing argument 2 of\n  'get_decuint_from_env' differ in signedness [-Wpointer-sign]\npcap-dag.c:1158:55: warning: pointer targets in passing argument 2 of\n  'get_decuint_from_env' differ in signedness [-Wpointer-sign]\npcap-dag.c:951:15: warning: unused variable 's' [-Wunused-variable]","files":[{"name":"pcap-dag.c"}],"number":281342,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"3d48397520437d40cf949e4d093154e84fdd7b9c","revision":"3d48397520437d40cf949e4d093154e84fdd7b9c","revlink":"","when":1789038086,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"3d48397520437d40cf949e4d093154e84fdd7b9c"},"submittedAt":1789034876},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Thu 10 Sep 2026 19:13:28","branch":"master","category":"libpcap","codebase":"","comments":"DAG: Ignore vDAG Tx streams via sysfs too. [skip ci]\nIn the low privilege branch of device/stream enumeration loop try\nignoring the same streams as the high privilege branch does -- there is\nno point in enumerating capture devices that do not work in the current\nimplementation.\n\nBefore:\n$ tcpdump -D | grep dag\n4.dag0 (alias for dag0:0) [none]\n5.dag0:0 (Rx stream 0) [none]\n6.dag0:1 (Tx stream 1) [none]\n7.dag16 (alias for dag16:0) [none]\n8.dag16:0 (Rx stream 0) [none]\n9.dag16:1 (Tx stream 1) [none]\n10.dag17 (alias for dag17:0) [none]\n11.dag17:0 (Rx stream 0) [none]\n12.dag17:1 (Tx stream 1) [none]\n\nAfter:\n$ tcpdump -D | grep dag\n4.dag0 (alias for dag0:0) [none]\n5.dag0:0 (Rx stream 0) [none]\n6.dag0:1 (Tx stream 1) [none]\n7.dag16 (alias for dag16:0) [none]\n8.dag16:0 (Rx stream 0) [none]\n9.dag17 (alias for dag17:0) [none]\n10.dag17:0 (Rx stream 0) [none]","files":[{"name":"pcap-dag.c"}],"number":281364,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"ab6b280f8ef68087c5a87325cf6912655b626e04","revision":"ab6b280f8ef68087c5a87325cf6912655b626e04","revlink":"","when":1789060408,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"ab6b280f8ef68087c5a87325cf6912655b626e04"},"submittedAt":1789056268},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Thu 10 Sep 2026 22:19:27","branch":"master","category":"libpcap","codebase":"","comments":"NPF: put in a comment saying what ps_recv and ps_drop do.\nThis records the behavior; several other capture modules have similar\ncomments.","files":[{"name":"CHANGES"},{"name":"pcap-npf.c"}],"number":281373,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"11c4d9c87aa13124613ff63369b17c1e6f1391bf","revision":"11c4d9c87aa13124613ff63369b17c1e6f1391bf","revlink":"","when":1789071567,"who":"Guy Harris <gharris@sonic.net>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"11c4d9c87aa13124613ff63369b17c1e6f1391bf"},"submittedAt":1789065843},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Fri 11 Sep 2026 14:09:27","branch":"master","category":"libpcap","codebase":"","comments":"pcap_compile(3PCAP): Clarify null pointers and empty strings.","files":[{"name":"pcap_compile.3pcap.in"}],"number":281476,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"5e9b14b5497f63d2452f79f68af0a33550637fd7","revision":"5e9b14b5497f63d2452f79f68af0a33550637fd7","revlink":"","when":1789128567,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Fri 11 Sep 2026 14:19:55","branch":"master","category":"libpcap","codebase":"","comments":"Document a caveat re .bf_insns == NULL. [skip ci]","files":[{"name":"bpf_filter.c"},{"name":"pcap.c"}],"number":281477,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"06a5267ac74d7d31cedfa64a5f4155c53d9d3900","revision":"06a5267ac74d7d31cedfa64a5f4155c53d9d3900","revlink":"","when":1789129195,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"06a5267ac74d7d31cedfa64a5f4155c53d9d3900"},"submittedAt":1789123623},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Fri 11 Sep 2026 14:34:15","branch":"master","category":"libpcap","codebase":"","comments":"Disable the optimizer when VXLAN is involved.","files":[{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":281478,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"b113f94c7455f4aff6c4c4003c4b57f3059452e3","revision":"b113f94c7455f4aff6c4c4003c4b57f3059452e3","revlink":"","when":1789130055,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"b113f94c7455f4aff6c4c4003c4b57f3059452e3"},"submittedAt":1789124222},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Fri 11 Sep 2026 16:10:30","branch":"master","category":"libpcap","codebase":"","comments":"pcap_setfilter(3PCAP): Clarify a null pointer. [skip ci]","files":[{"name":"pcap_setfilter.3pcap"}],"number":281496,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"5d47c82cefe82f82f5f2bdd798d57b9005457939","revision":"5d47c82cefe82f82f5f2bdd798d57b9005457939","revlink":"","when":1789135830,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"5d47c82cefe82f82f5f2bdd798d57b9005457939"},"submittedAt":1789130219},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Fri 11 Sep 2026 20:09:20","branch":"master","category":"libpcap","codebase":"","comments":"instrument functions: Work around bfd inclusion guard [skip ci]\nSame as in tcpdump.","files":[{"name":"instrument-functions.c"}],"number":281527,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"14cd9749840fcf4be3249d869068e07f98f23f83","revision":"14cd9749840fcf4be3249d869068e07f98f23f83","revlink":"","when":1789150160,"who":"corubba <corubba@gmx.de>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"14cd9749840fcf4be3249d869068e07f98f23f83"},"submittedAt":1789146282},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Sat 12 Sep 2026 14:03:51","branch":"master","category":"libpcap","codebase":"","comments":"Fix an error message in gen_linktype().\nIn this context the link-layer type is the same for all packets, and the\nlink-layer protocol is the key matching factor.","files":[{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":281648,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"30d2fc19d4eacee778912869067521198c0bbcf5","revision":"30d2fc19d4eacee778912869067521198c0bbcf5","revlink":"","when":1789214631,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 12 Sep 2026 15:48:43","branch":"master","category":"libpcap","codebase":"","comments":"Guard malloc() result in stringtoport().\nAs cppcheck duly notes:\ngencode.c:7035:10: warning: If memory allocation fails, then there is a\n  possible null pointer dereference: cpy [nullPointerOutOfMemory]\ngencode.c:7036:3: warning: If memory allocation fails, then there is a\n  possible null pointer dereference: cpy [nullPointerOutOfMemory]","files":[{"name":"gencode.c"}],"number":281649,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"af4783b3f7968bf33a6a6499931c4e59ec85b3b6","revision":"af4783b3f7968bf33a6a6499931c4e59ec85b3b6","revlink":"","when":1789220923,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sun 13 Sep 2026 00:21:14","branch":"master","category":"libpcap","codebase":"","comments":"pcap-filter(7): \"gateway\" isn't backward compatible.\nDocument the earlier commits a027fdc and cc0e534.","files":[{"name":"pcap-filter.manmisc.in"}],"number":281650,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"aceed7df6ed95872f1d58bb4fadb68ad6b4c7b38","revision":"aceed7df6ed95872f1d58bb4fadb68ad6b4c7b38","revlink":"","when":1789251674,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sun 13 Sep 2026 00:22:11","branch":"master","category":"libpcap","codebase":"","comments":"In pcap_compile() validate the filter program.\nAs suggested by Taylor R Campbell of NetBSD.","files":[{"name":"gencode.c"}],"number":281651,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"88fdb8a13009f97fb6dd9fb2e35f6e8114d6ebf3","revision":"88fdb8a13009f97fb6dd9fb2e35f6e8114d6ebf3","revlink":"","when":1789251731,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sun 13 Sep 2026 02:01:59","branch":"master","category":"libpcap","codebase":"","comments":"Makefile: Fix \"releasecheck\" on OpenBSD.\nFreeBSD, GNU, illumos, NetBSD and Solaris 11.4 implementations of tar\ntolerate the missing compression option and detect the filter program\nthat the archive requires.  OpenBSD tar implementation is traditional\nin this sense even in release 7.9:\n\n$ make releasecheck\nNo libpcap-1.11.0-PRE-GIT tag. Archive build from HEAD.\nautoreconf identification: 2.72\ntar: input compressed with gzip; use the -z option to decompress it","files":[{"name":"Makefile.in"}],"number":281652,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"395a5baa193c884b973170fdf71838edfc5eb579","revision":"395a5baa193c884b973170fdf71838edfc5eb579","revlink":"","when":1789257719,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sun 13 Sep 2026 12:20:10","branch":"master","category":"libpcap","codebase":"","comments":"CHANGES: Refine the 1.11.0 section.\nOmit the snf_read() change, which removed dead code.  With regard to\nvarious primitives say \"argument\" instead of \"value\" (which can be\nunderstood as the packet data) or \"argument value\" (which is a\ntautology).  Move the DOT entry to a more appropriate sub-section.\nCoalesce the group of \"warning-free\" entries into one.  Say \"on QNX\".","files":[{"name":"CHANGES"}],"number":281653,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"350c1eecabb077019c3aa1f8a38f652d9b43566b","revision":"350c1eecabb077019c3aa1f8a38f652d9b43566b","revlink":"","when":1789294810,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sun 13 Sep 2026 12:35:25","branch":"master","category":"libpcap","codebase":"","comments":"List all recent contributors in CREDITS.","files":[{"name":"CREDITS"}],"number":281654,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"6c3d1d5b8ea7149e8073656a933d494b7e61e83a","revision":"6c3d1d5b8ea7149e8073656a933d494b7e61e83a","revlink":"","when":1789295725,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sun 13 Sep 2026 13:05:12","branch":"master","category":"libpcap","codebase":"","comments":"This is libpcap 1.11.0, released on 2026-09-13.","files":[{"name":"CHANGES"},{"name":"VERSION"}],"number":281655,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"87b6a456dd7ac9e34231f8a0a3f99a13a59b4419","revision":"87b6a456dd7ac9e34231f8a0a3f99a13a59b4419","revlink":"","when":1789297512,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"87b6a456dd7ac9e34231f8a0a3f99a13a59b4419"},"submittedAt":1789294469},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Sun 13 Sep 2026 16:44:32","branch":"master","category":"libpcap","codebase":"","comments":"Start libpcap 1.11.1-PRE-GIT. [skip ci]","files":[{"name":"CHANGES"},{"name":"VERSION"}],"number":281666,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"f15c258be8f269875b351f4c437992194c1baa2b","revision":"f15c258be8f269875b351f4c437992194c1baa2b","revlink":"","when":1789310672,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"f15c258be8f269875b351f4c437992194c1baa2b"},"submittedAt":1789305291},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Wed 16 Sep 2026 11:55:22","branch":"master","category":"libpcap","codebase":"","comments":"Start testing lowest_set_bit().\nAdd a shim function to optimize.c and the necessary props for it to\ntranslatetest.c, in TESTrun define 32 translate test blocks to cover all\npossible return values.  This should be sufficient to catch a regression\nin the course of future improvements to lowest_set_bit(), if any.","files":[{"name":"optimize.c"},{"name":"pcap-int.h"},{"name":"testprogs/TESTrun"},{"name":"testprogs/translatetest.c"}],"number":282024,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"8b728de63f83cd6926b621a01c46127f7a020c0b","revision":"8b728de63f83cd6926b621a01c46127f7a020c0b","revlink":"","when":1789552522,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 11:55:38","branch":"master","category":"libpcap","codebase":"","comments":"At the build time require atexit(3) not to crash.\nThis should be, and apparently is, a regression test in libc and\ncompiler implementations, but one or another way on some 32-bit ARM CPUs\n(e.g. armv7l, but not armv6l) TinyCC makes an atexit() invocation a\nsegmentation fault, see GitHub bug 1509.  Instead of risking this at a\nrun time require the implementation not to be broken at the build time.\n\n$ tcc --version\ntcc version 0.9.27 (ARM Hard Float Linux)\n\n$ CC=tcc ./configure\nchecking build system type... armv7l-unknown-linux-gnueabihf\nchecking host system type... armv7l-unknown-linux-gnueabihf\n[...]\nchecking whether atexit works... no\nconfigure: error: atexit(3) is broken, try another compiler.\n\n$ CC=tcc CMAKE=yes ./build.sh\n[...]\n-- Performing Test ATEXIT_WORKS\n-- Performing Test ATEXIT_WORKS - Failed\nCMake Error at CMakeLists.txt:842 (message):\n  atexit(3) is broken, try another compiler.","files":[{"name":"CHANGES"},{"name":"CMakeLists.txt"},{"name":"configure.ac"}],"number":282025,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"0b93fa6b292b97020854ac323f3c4f2abb4b9d65","revision":"0b93fa6b292b97020854ac323f3c4f2abb4b9d65","revlink":"","when":1789552538,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 19:28:46","branch":"master","category":"libpcap","codebase":"","comments":"Factor \"/\", \"%\", \"<<\" and \">>\" error strings out.\nWhile at it, spell \"modulo\" instead of \"modulus\": modulus is the second\noperand of the binary operation modulo.","files":[{"name":"gencode.c"},{"name":"gencode.h"},{"name":"optimize.c"}],"number":282026,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"56b7376998e5df6ef312c65a78db95139dfe0a79","revision":"56b7376998e5df6ef312c65a78db95139dfe0a79","revlink":"","when":1789579726,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 19:28:46","branch":"master","category":"libpcap","codebase":"","comments":"Add tests for \"/\", \"%\", \"<<\" and \">>\" validation.","files":[{"name":"testprogs/TESTrun"}],"number":282027,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"186b0398d31b04f799cf7395b129cfc5140091be","revision":"186b0398d31b04f799cf7395b129cfc5140091be","revlink":"","when":1789579726,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 19:28:46","branch":"master","category":"libpcap","codebase":"","comments":"Fix validation of \"/\", \"%\", \"<<\" and \">>\" 2nd operand.\nThe current implementation of gen_arth() checks that the first BPF\nstatement of the 2nd operand is an \"ld #k\" and validates the immediate\nvalue 'k' for the binary operation.  This works correctly only when the\n2nd operand represents an integer constant (e.g. \"0\") because it can\nrepresent other expressions (e.g. \"0 + 1\", \"link[0]\", and so on) using\nthe same first BPF statement.\n\nAdd is_loadi() to match a result of gen_loadi() and use it to get the\ncheck conditions right in gen_arth().  Convert six bug reproducers to\nregression tests.","files":[{"name":"CHANGES"},{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":282028,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"af9b33834e709669833ed137e38e02c265cd5878","revision":"af9b33834e709669833ed137e38e02c265cd5878","revlink":"","when":1789579726,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 19:28:46","branch":"master","category":"libpcap","codebase":"","comments":"Require config.h to be from the libpcap build.\nPort the bug fix from tcpdump commit 9beea81: in case somebody tries to\nbuild libpcap incorrectly, fail at the build time, not at a run time.\n\nIn this version of the solution define LIBPCAP_CONFIG_H without a guard\nbecause nothing in config.h uses a guard because in this source tree\nconfig.h is never included more than once under normal circumstances, so\nlet's not change the status quo.  This way, if LIBPCAP_CONFIG_H has been\nirregularly defined before config.h, let the compiler complain about it.\n\n$ mkdir /tmp/testconfig\n$ cat >/tmp/testconfig/config.h <<EOF\n  #define PACKAGE_VERSION \"THIS IS A BUG\"\n  #define SIZEOF_TIME_T 8\n  #define HAVE_SOCKLEN_T 1\n  #define HAVE_STRLCPY 1\nEOF\n$ CFLAGS='-I/tmp/testconfig' ./configure -q\n\nBefore:\n$ make -s testprogs\n$ ./testprogs/versiontest\nlibpcap version THIS IS A BUG (64-bit time_t, with TPACKET_V3)\n\nAfter:\n$ make -s testprogs\npcap.c:36:2: error: #error \"The included config.h header is not from the\n  libpcap build.\"\nmake: *** [Makefile:84: pcap.o] Error 1","files":[{"name":"CHANGES"},{"name":"cmakeconfig.h.in"},{"name":"configure.ac"},{"name":"pcap.c"}],"number":282029,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"89a0d6cbd710b2b6e506a573a70630f3c4360714","revision":"89a0d6cbd710b2b6e506a573a70630f3c4360714","revlink":"","when":1789579726,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 19:28:46","branch":"master","category":"libpcap","codebase":"","comments":"Add tests for negatives of arithmetic expressions.","files":[{"name":"testprogs/TESTrun"}],"number":282030,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"0fbd330def7f78f3146913575acf209e43a9044e","revision":"0fbd330def7f78f3146913575acf209e43a9044e","revlink":"","when":1789579726,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 16 Sep 2026 19:28:46","branch":"master","category":"libpcap","codebase":"","comments":"pcap-filter(7): Refine \"arithmetic expressions\".\nMention parentheses and document negative.  Say that all integer values\nare 32-bit unsigned, not just comparisons.  Name \"%\" and \"^\" and update\nthe list of OSes that support these.","files":[{"name":"pcap-filter.manmisc.in"}],"number":282031,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"1fa6627e8aa35724a37f297a08750125c0272597","revision":"1fa6627e8aa35724a37f297a08750125c0272597","revlink":"","when":1789579726,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"1fa6627e8aa35724a37f297a08750125c0272597"},"submittedAt":1789631086},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Sat 19 Sep 2026 03:18:08","branch":"master","category":"libpcap","codebase":"","comments":"pcap_fileno, pcap_get_selectable_fd man pages: various fixes.\nFix #1722 by warning that you must *not* close either of those file\ndescriptors out from under libpcap.\n\nAdd the \"if p refers to...\" clause from the pcap_fileno page to the\npcap_get_selectable_fd page.\n\nMake some other improvements to the pcap_get_selectable_fd page.","files":[{"name":"CHANGES"},{"name":"pcap_fileno.3pcap"},{"name":"pcap_get_selectable_fd.3pcap"}],"number":282190,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"3d9a5a3a7b937c3f2cf57ed7e28e3f0493b0203e","revision":"3d9a5a3a7b937c3f2cf57ed7e28e3f0493b0203e","revlink":"","when":1789780688,"who":"Guy Harris <gharris@sonic.net>"},{"at":"Sat 19 Sep 2026 03:23:20","branch":"master","category":"libpcap","codebase":"","comments":"CHANGES: move a post-1.11.0 fix to the 1.11.1 section. [skip ci]\nThe original pull request predated 1.11.0, so it put an item in the\n1.11.0 section. It wasn't merged until after 1.11.0, so put it into the\n1.11.1 section.","files":[{"name":"CHANGES"}],"number":282191,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"55c7e6d56704b573b4cdc1bb16930d7b53ea9946","revision":"55c7e6d56704b573b4cdc1bb16930d7b53ea9946","revlink":"","when":1789781000,"who":"Guy Harris <gharris@sonic.net>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"55c7e6d56704b573b4cdc1bb16930d7b53ea9946"},"submittedAt":1789775046},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Sat 19 Sep 2026 11:40:06","branch":"master","category":"libpcap","codebase":"","comments":"CHANGES: Fix a typo. [skip ci]","files":[{"name":"CHANGES"}],"number":282205,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"4c69fcd3604289e5f8d029bf88fccfaa392e83d0","revision":"4c69fcd3604289e5f8d029bf88fccfaa392e83d0","revlink":"","when":1789810806,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"4c69fcd3604289e5f8d029bf88fccfaa392e83d0"},"submittedAt":1789805046},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"In pcapint_filter_with_aux_data() lose no-op type casts.\nThe function returns a [32-bit] unsigned.  Both 'pc->k' and 'A' are\n32-bit unsigned.","files":[{"name":"bpf_filter.c"}],"number":282224,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"a96aae368941e29320b8591d6e3518bd1d1e56d3","revision":"a96aae368941e29320b8591d6e3518bd1d1e56d3","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"In pcapint_validate_filter() take an unsigned length.\nA filter program is an array and there is no context in which its length\nneeds to be declared negative.  Furthermore, a valid length is in the\n[1 .. BPF_MAXINSNS] interval, which is validated early, so taking a\nsigned parameter and casting it to unsigned only makes the code more\ndifficult to follow.\n\nThe now unsigned length causes a -Wtautological-compare from Clang in\npcapint_validate_filter(), but not in pcapint_filter_with_aux_data(),\nwhich does effectively the same.  Add another pair of diagnostic control\nmacros to manage that.","files":[{"name":"bpf_filter.c"},{"name":"diag-control.h"},{"name":"pcap-int.h"}],"number":282225,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"6efee45e0162ee90d51fa8cce00a2cccc21907b7","revision":"6efee45e0162ee90d51fa8cce00a2cccc21907b7","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"In icode_to_fcode() assign '*lenp' at most once.\nIn this function this parameter is write-only.  When the function\nreturns successfully, the final value of '*lenp' is the final value of\n'n'.  When the function fails, it would make the most sense to leave\n'*lenp' intact.  Assign it after the loop (that is, iff returning\nsuccessfully) and eliminate a variable in pcap_compile().","files":[{"name":"gencode.c"},{"name":"optimize.c"}],"number":282226,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"559b667ff2856ad5088ba2adc3bad16b958989bc","revision":"559b667ff2856ad5088ba2adc3bad16b958989bc","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"optimizer: Compare pointers with NULL, not 0.","files":[{"name":"optimize.c"}],"number":282227,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"d492c473fec867f7dd083c6ece4899c28be77c24","revision":"d492c473fec867f7dd083c6ece4899c28be77c24","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"Capitalise \"Ethernet\" properly in comments.","files":[{"name":"gencode.c"}],"number":282228,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"b06416d8f7697bfeefa7dce945dba7b495545949","revision":"b06416d8f7697bfeefa7dce945dba7b495545949","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"Eliminate three temporary variables.","files":[{"name":"pcap-netmap.c"},{"name":"pcap.c"},{"name":"savefile.c"}],"number":282229,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"b9abee5e06d7bdbf618003e8e86c701fe6e77422","revision":"b9abee5e06d7bdbf618003e8e86c701fe6e77422","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"Refine array index variables in gen_protochain().\nUse unsigned to index an array of 100 elements, of which currently 19\nare used in the Q_IP code path and 31 are used in the Q_IPV6 code path.\nEliminate two variables and declare the remaining variables as late as\npossible.","files":[{"name":"gencode.c"}],"number":282230,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"e8453482e54fa790e2b2e009e3bfbad0ef02cec6","revision":"e8453482e54fa790e2b2e009e3bfbad0ef02cec6","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"Defluff a switch statement in gen_protochain().\nAnother switch statement earlier makes sure at this point 'proto' is one\nof {Q_IP, Q_IPV6}, so there is no need to have a default case to detect\na condition that cannot occur.  Convert it to an if statement like the\none just below.","files":[{"name":"gencode.c"}],"number":282231,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"34c56b3ba0deae5970031161d06c165c69d9b3f5","revision":"34c56b3ba0deae5970031161d06c165c69d9b3f5","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Always articulate the end of options.\nIn run_filter_accept_test() and run_filter_reject_test() the only\nnon-option argument is the DLT name, which is also a C macro name, which\ncannot look the same as an option argument if everything works right.\nUse an explicit delimiter to follow the safe pattern, just in case.","files":[{"name":"testprogs/TESTrun"}],"number":282232,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"292aa5fcb9ff5813d7ca9e878bb993f17826eaeb","revision":"292aa5fcb9ff5813d7ca9e878bb993f17826eaeb","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"findalldevstest: Lose iptos(), use inet_ntop(3).","files":[{"name":"testprogs/findalldevstest.c"}],"number":282233,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"95639f7aeb74c5ec1a18d9dcfef8532773a8dfd3","revision":"95639f7aeb74c5ec1a18d9dcfef8532773a8dfd3","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 11:40:44","branch":"master","category":"libpcap","codebase":"","comments":"Fix function names in two error messages.\nUse __func__ in six more error messages, two of which quoted the name of\na non-existent function.","files":[{"name":"CHANGES"},{"name":"pcap-new.c"},{"name":"pcap.c"}],"number":282234,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"6e3a136dddd4e098ce4e291edb90149f7b86aa0b","revision":"6e3a136dddd4e098ce4e291edb90149f7b86aa0b","revlink":"","when":1789810844,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 19 Sep 2026 19:52:30","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Fix spelling in a comment. [skip ci]","files":[{"name":"testprogs/TESTrun"}],"number":282235,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"bc3472d53ee2f14031dd0d01e4a5fdcc5483f6f6","revision":"bc3472d53ee2f14031dd0d01e4a5fdcc5483f6f6","revlink":"","when":1789840350,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"bc3472d53ee2f14031dd0d01e4a5fdcc5483f6f6"},"submittedAt":1789835094},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Tue 22 Sep 2026 15:00:11","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Fix comments about BPF_X and BPF_A.\nThis is a follow-up to commit 9db8ee2.","files":[{"name":"testprogs/TESTrun"}],"number":282867,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"d5fbd56cbde70fe780f8b58f50d2c400e3054069","revision":"d5fbd56cbde70fe780f8b58f50d2c400e3054069","revlink":"","when":1790082011,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 23 Sep 2026 14:54:27","branch":"master","category":"libpcap","codebase":"","comments":"BPF_ALU combines with BPF_K, not with BPF_IMM.\nThe two constants are equal, so this change does not fix a bug.  Still,\nBPF_IMM is a mode in load instruction opcodes and BPF_K is a source in\nALU instruction opcodes, so it is semantically incorrect to combine\nBPF_ALU and BPF_IMM.  It also affects source code search results and can\nlead to human errors.","files":[{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":282868,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"69e8ab1488f36c9b6155fdbc8de6a92d94f41825","revision":"69e8ab1488f36c9b6155fdbc8de6a92d94f41825","revlink":"","when":1790168067,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 23 Sep 2026 14:54:40","branch":"master","category":"libpcap","codebase":"","comments":"Omit \"k = 0\" in \"add x\" and \"neg\" instantiation.\nNeither of these BPF instructions uses the 'k' field, and after the\ncalloc(3) in initcurrentchunk_ok() new_stmt() returns a structure with\n'k' set to zero anyway, so remove the no-op distractors to make the code\neasier to follow.","files":[{"name":"gencode.c"}],"number":282869,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"baacfde2a3185abbdce814ace2f0af59fe1a7f4b","revision":"baacfde2a3185abbdce814ace2f0af59fe1a7f4b","revlink":"","when":1790168080,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 23 Sep 2026 14:54:40","branch":"master","category":"libpcap","codebase":"","comments":"Articulate a dummy statement in gen_protochain().\nEven though it is not used, make it obvious what it would do if it was.","files":[{"name":"gencode.c"}],"number":282870,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"9753bce8781e5468a5ead09a8a06d108828acd4e","revision":"9753bce8781e5468a5ead09a8a06d108828acd4e","revlink":"","when":1790168080,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 23 Sep 2026 16:04:38","branch":"master","category":"libpcap","codebase":"","comments":"Get the comment about BPF_MEMWORDS right.\nList the mnemonics of all four applicable BPF instructions.","files":[{"name":"pcap/bpf.h"}],"number":282871,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"867fbc0dcfc8a4e834a7072ae452500d6b9c622f","revision":"867fbc0dcfc8a4e834a7072ae452500d6b9c622f","revlink":"","when":1790172278,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"867fbc0dcfc8a4e834a7072ae452500d6b9c622f"},"submittedAt":1790166856},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Thu 24 Sep 2026 12:19:32","branch":"master","category":"libpcap","codebase":"","comments":"pcap_open_dead(): set all the FDs/HANDLEs to an invalid value.\nAs noted at\nhttps://github.com/the-tcpdump-group/libpcap/pull/1744#issuecomment-5649900420,\npcap_fileno() and pcap_get_selectable_fd() return 0 for a dead pcap_t.\nSet them to -1, instead.\n\nDo the equivalent for Windows.\n\nAdd a new test program to check whether the return values in question\nare as documented.\n\nWhile we're at it, have pcap_fileno() return -1 rather than PCAP_ERROR\non Windows if the HANDLE is invalid, as the return value is either a\ndescriptor or -1.","files":[{"name":"CHANGES"},{"name":"Makefile.in"},{"name":"pcap.c"},{"name":"testprogs/.gitignore"},{"name":"testprogs/CMakeLists.txt"},{"name":"testprogs/Makefile.in"},{"name":"testprogs/opendeadtest.c"}],"number":282969,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"8fb9d0a826069d1f005010b6a16d9f7d00dad3dd","revision":"8fb9d0a826069d1f005010b6a16d9f7d00dad3dd","revlink":"","when":1790245172,"who":"Guy Harris <gharris@sonic.net>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"8fb9d0a826069d1f005010b6a16d9f7d00dad3dd"},"submittedAt":1790251463},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Sun 27 Sep 2026 15:52:03","branch":"master","category":"libpcap","codebase":"","comments":"Account for rx_dropped packets in linux ifdropped\nMany Linux drivers are not reporting anything into rx_missed_errors or\nrx_fifo_errors. They, instead, report dropped packets into rx_dropped.\n\nWithtout including rx_dropped into ps_ifdrop, we can get a wildly\noptimistic view of performance.\n\nThis particularly affects vmxnet3, enic, ena, cxgb, and cxgb4 drivers.","files":[{"name":"CHANGES"},{"name":"pcap-linux.c"}],"number":283427,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"b98671d4a39327ca9cc4aafcac4a9ed955fc7ea1","revision":"b98671d4a39327ca9cc4aafcac4a9ed955fc7ea1","revlink":"","when":1790517123,"who":"Gianni Tedesco <gtedesco@rapid7.com>"},{"at":"Mon 28 Sep 2026 11:08:01","branch":"master","category":"libpcap","codebase":"","comments":"Capitalise \"PPPoE\" right in a comment. [skip ci]","files":[{"name":"gencode.c"}],"number":283428,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"cc7c4f1c4aa68394c8b03ce226947de400bca46b","revision":"cc7c4f1c4aa68394c8b03ce226947de400bca46b","revlink":"","when":1790586481,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:19:51","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Support \"skip\" in \"fcode\" tests.","files":[{"name":"testprogs/TESTrun"}],"number":283429,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"834ea30c984a1c67bdee5cf3462b738a1e38154d","revision":"834ea30c984a1c67bdee5cf3462b738a1e38154d","revlink":"","when":1790587191,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:19:51","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Test Linux-only offset names. [skip appveyor]","files":[{"name":"testprogs/TESTrun"}],"number":283430,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"e7c3c388a594af72dc6d189839223bb1eacd9f14","revision":"e7c3c388a594af72dc6d189839223bb1eacd9f14","revlink":"","when":1790587191,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"e7c3c388a594af72dc6d189839223bb1eacd9f14"},"submittedAt":1790581476},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Mon 28 Sep 2026 11:45:18","branch":"master","category":"libpcap","codebase":"","comments":"Specify the load size for all addressing modes.\nAll BPF_IMM, BPF_LEN and BPF_MEM addressing mode loads are 32-bit.  For\nBPF_IMM and BPF_LEN some code specifies BPF_W and some does not, for\nBPF_MEM no code specifies BPF_W.  This does not cause any difference in\nthe resulting opcodes because BPF_W is defined to zero, but it makes the\ncode more difficult to follow, so always specify BPF_W for these three\naddressing modes.  Now all load opcodes include an explicit load size.\n\nArguably, for loads that are 32-bit only (e.g. BPF_LD|BPF_W|BPF_IMM) the\nBPF_W could be declared an unwanted tautology, and for all other loads\n(e.g. BPF_LD|BPF_W|BPF_ABS) BPF_W could be declared mandatory to make it\nobvious that BPF_H and BPF_B would also be valid.  However, this\nsemantics would not be able to accommodate BPF_LDX|BPF_B|BPF_MSH, which\nmust specify BPF_B to make it clear the size does not default to BPF_W,\nand which does not support any other sizes.","files":[{"name":"bpf_filter.c"},{"name":"bpf_image.c"},{"name":"gencode.c"},{"name":"optimize.c"},{"name":"testprogs/TESTrun"}],"number":283766,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"7e5a764714bf1edc11f3708d3d103e6a1c0aa4c0","revision":"7e5a764714bf1edc11f3708d3d103e6a1c0aa4c0","revlink":"","when":1790588718,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"gencode: Generalise JMP() into arity guards.\nTo extend the solution space of commit 949f5fc onto all BPF instruction\ngroups, introduce OPCODE_2ARY() and OPCODE_3ARY().  For branch\ninstructions replace JMP() with OPCODE_BRANCH_X() and OPCODE_BRANCH_K(),\nfor return instructions introduce OPCODE_RET() and for miscellaneous\ninstructions introduce OPCODE_MISC().\n\nApply the same guard to the 'k' field of an instruction: introduce\nnew_stmt_k() and for every instruction define a wrapper around either\nnew_stmt() or new_stmt_k().  This leaves less space for out-of-place\nassignments of 'k' such as those removed in commit baacfde.","files":[{"name":"gencode.c"}],"number":283767,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"78ad7208a21813bfa3cb6b29f9afa114d3f9b32b","revision":"78ad7208a21813bfa3cb6b29f9afa114d3f9b32b","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"gencode: Use arity guards for ALU instructions.\nThis leaves less space for opcode composition errors such as those\nfixed in commit 69e8ab1.","files":[{"name":"gencode.c"}],"number":283768,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"16d2803c1e66f9b77241df49a3daa8baeb68399e","revision":"16d2803c1e66f9b77241df49a3daa8baeb68399e","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"gencode: Use arity guards for load instructions.","files":[{"name":"gencode.c"}],"number":283769,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"8eec5cb04cdd9a5dc088f16a012d301c84284f08","revision":"8eec5cb04cdd9a5dc088f16a012d301c84284f08","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"gencode: Use arity guards for store instructions.","files":[{"name":"gencode.c"}],"number":283770,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"49262b6a05a20642a6ff1b307c338e8feff06129","revision":"49262b6a05a20642a6ff1b307c338e8feff06129","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Start testing scratch memory capacity.\nTest many enough repetitions of \"geneve\", \"vxlan\" and \"protochain\" to\nmake the code generator run out of registers.  Test a Cartesian product\nof {DLT_EN10MB, DLT_IEEE802_11}, {\"link[]\", \"tcp[]\"} and an arithmetic\nexpression wrapper that needs [14, 17] scratch memory registers to\nrepresent.\n\nThe latter loosely relates with the structure of tests in commit\na8c1362, but covers fewer code paths and permutations: this time the\nfocus is on how many registers are allocated before, in and downstream\nof gen_load_internal().  All test cases in the 14 register plane are\nexpected to work.  All test cases in the 17 registers plane are expected\nto fail.  The tests in the 15 and 16 register planes are expected to\nproduce different results as each test flexes a different corner case.","files":[{"name":"testprogs/TESTrun"}],"number":283771,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"17c2d1e6d778d68610b9024e7db9c8650b7e98a5","revision":"17c2d1e6d778d68610b9024e7db9c8650b7e98a5","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"Fix a dangling register index in \"proto[expr]\".\nWhen libpcap 1.0.0 in 2008 introduced (see commit 489f459) support for\nvariable-length headers, it also turned an imperfection that originates\nin tcpdump 2.0 (1991) into an obscure bug.\n\ngen_load_internal() incorrectly deallocates the input register before\ngen_load_absoffsetarthrel() is done using it.  If the load uses a header\nor payload offset that in the current DLT has a variable length, between\nthese two events gen_load_internal() invokes gen_abs_offset_varpart()\ndirectly or via gen_loadx_iphdrlen().  If gen_abs_offset_varpart() has\nnot been invoked before, the function uses alloc_reg() to allocate a\nregister for the variable offset, which can allocate the prematurely\ndeallocated input register.\n\nTypically the bug does not manifest: the deallocated and the allocated\nregisters are different because of a side effect.  Specifically, the\ninput register is allocated just before gen_load_internal(), so when the\ncurrent revision of gen_load_internal() just before the free_reg()\ninvocation makes another alloc_reg() invocation, the latter rotates the\ncurrent register index (which it will try allocating first at the next\ninvocation) away from the still allocated input register.\n\nHowever, if that alloc_reg()/free_reg() sequence has allocated the last\navailable register before deallocating the input register, the input\nregister will be the only \"available\" register and will become the\nresult of alloc_reg() in gen_abs_offset_varpart().  The resulting filter\nprogram first calculates the variable offset and stores it in a register\nthat is supposed to hold it for the entire run time of the program.\nLater on the arithmetic expression that is the offset of a packet data\naccessor stores its result into the same register and affects all\nsubsequent loads that use the variable offset, including the indirect\nload of the packet data accessor.\n\nTo fix this, deallocate the register /after/ the use and add a comment\nto clarify it.  Convert the test that reproduced the bug to a reject\ntest as the code no longer fails to fail.","files":[{"name":"CHANGES"},{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":283772,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"cd0e30d920eb6679b3810442ac204490e758fbc5","revision":"cd0e30d920eb6679b3810442ac204490e758fbc5","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"Make a dangling register index an early failure.\nIntroduce guard_reg() to detect obvious register-related bugs such as\nthe one fixed in the previous commit.  Introduce free_reg_arth() to make\nsome less obvious register-related bugs obvious.","files":[{"name":"gencode.c"}],"number":283773,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"0af43c2281403ff4b7614aca1d9baf5bbbac45b5","revision":"0af43c2281403ff4b7614aca1d9baf5bbbac45b5","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Mon 28 Sep 2026 11:46:18","branch":"master","category":"libpcap","codebase":"","comments":"Fix a register index leak in \"protochain\".\nWhen libpcap 0.5 in 2000 introduced (see commit 7fe3c11) support for\n\"protochain\", the initial revision of gen_protochain() allocated two\nscratch memory registers on every invocation, but used and deallocated\nthese only if the primitive was proto-qualified.  In libpcap release 0.6\n(2001) the problem had reduced (see commit 142ff8d) to one register, yet\nremained in principle.\n\nTo fix this, allocate the register only after it is certain the function\nis going to generate statements and to deallocate the register.  Convert\na bug reproducer to a regression test -- an expression that used to run\nout of registers now compiles to hundreds of instructions and uses M[0]\nonly.  Update one accept test that now uses M[0] instead of M[1] because\nM[0] is not leaked anymore.","files":[{"name":"CHANGES"},{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":283774,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"b67b2098c0266dad56e1e4d52054156bc97dca6b","revision":"b67b2098c0266dad56e1e4d52054156bc97dca6b","revlink":"","when":1790588778,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 30 Sep 2026 10:34:39","branch":"master","category":"libpcap","codebase":"","comments":"Capitalise \"Internet\" properly in comments. [skip ci]","files":[{"name":"nametoaddr.c"}],"number":283775,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"bf41d9722bf2a8c3633cf1980347879764e6183a","revision":"bf41d9722bf2a8c3633cf1980347879764e6183a","revlink":"","when":1790757279,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 30 Sep 2026 10:40:17","branch":"master","category":"libpcap","codebase":"","comments":"Indicate no-capture and no-inject devices.\nIntroduce PCAP_IF_NO_CAPTURE and PCAP_IF_NO_INJECT interface flags.  Set\nPCAP_IF_NO_INJECT on Bluetooth, DAG Rx stream, Haiku network interfaces,\nLinux netfilter, RDMA, Linux USB and the \"any\" pseudo-interface devices.\nSet PCAP_IF_NO_CAPTURE on DAG Tx stream devices.  Update related man\npages and findalldevstest.","files":[{"name":"CHANGES"},{"name":"pcap-bt-linux.c"},{"name":"pcap-bt-monitor-linux.c"},{"name":"pcap-dag.c"},{"name":"pcap-haiku.c"},{"name":"pcap-netfilter-linux.c"},{"name":"pcap-rdmasniff.c"},{"name":"pcap-usb-linux.c"},{"name":"pcap.c"},{"name":"pcap/pcap.h"},{"name":"pcap_activate.3pcap"},{"name":"pcap_findalldevs.3pcap"},{"name":"pcap_inject.3pcap"},{"name":"testprogs/findalldevstest.c"}],"number":283776,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"e2fe69377b84cf5e963b54946cb616cfbc4a76d4","revision":"e2fe69377b84cf5e963b54946cb616cfbc4a76d4","revlink":"","when":1790757617,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"e2fe69377b84cf5e963b54946cb616cfbc4a76d4"},"submittedAt":1790751894},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Mon 05 Oct 2026 15:46:23","branch":"master","category":"libpcap","codebase":"","comments":"Fix the definition of NEW_STMT_LD_LEN().","files":[{"name":"gencode.c"}],"number":285024,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"4731806713077121d44bb78e9cdac745444071e6","revision":"4731806713077121d44bb78e9cdac745444071e6","revlink":"","when":1791207983,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 06 Oct 2026 21:23:43","branch":"master","category":"libpcap","codebase":"","comments":"Defluff more sappend() and NEW_STMT_xxx() usage.\nIf the code downstream of a temporary variable assignment does not use\nthe value, just make the macro an argument of sappend().  Use sappend()\ninstead of improvising it in gen_loadlen() and gen_loadi_internal().","files":[{"name":"gencode.c"}],"number":285026,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"fb28561a3a6f961beb2ab31117d9a5092cd0953c","revision":"fb28561a3a6f961beb2ab31117d9a5092cd0953c","revlink":"","when":1791314623,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 07 Oct 2026 12:42:39","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Use arity guards for BPF instructions.\nAdd Perl functions to implement the same principle as has been done in\ngencode.c using C macros, this time for the complete instruction set.\nAdd a test for the new functions and use these in both the BPF assembler\nand the fcode test blocks.","files":[{"name":"testprogs/TESTrun"}],"number":285028,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"02b28ffc634021b2c07d70518836f33ff55a4f7c","revision":"02b28ffc634021b2c07d70518836f33ff55a4f7c","revlink":"","when":1791369759,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 07 Oct 2026 12:43:15","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Cover calculations of negative better.\nAdd more filter accept blocks for the optimizer and initial fcode blocks\nfor the interpreter.","files":[{"name":"testprogs/TESTrun"}],"number":285030,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"ed93912ff333a751bbbe9aa664bff8543e2ccccc","revision":"ed93912ff333a751bbbe9aa664bff8543e2ccccc","revlink":"","when":1791369795,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 07 Oct 2026 12:43:15","branch":"master","category":"libpcap","codebase":"","comments":"Calculate negatives of immediate values earlier.\nIf the arithmetic expression parameter of gen_neg() is an immediate\nconstant, do not generate instructions to load the expression value from\na scratch memory register, to execute \"neg\" and to store it back.  In\nthat case just replace the constant with its negative.\n\nCoalesce filter accept tests that now generate shorter filter programs.\nRemove two filter accept tests that no longer require the optimizer to\ndetect division by zero and modulo by zero.","files":[{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":285032,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"38c96de7ef24613c18b43ab5d60d4785df31c27c","revision":"38c96de7ef24613c18b43ab5d60d4785df31c27c","revlink":"","when":1791369795,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Thu 08 Oct 2026 15:03:54","branch":"master","category":"libpcap","codebase":"","comments":"Fix indentation of BPF_IMM. [skip ci]","files":[{"name":"pcap/bpf.h"}],"number":285033,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"d74a01dfcc53d159dc222428c1991f1a2048c11b","revision":"d74a01dfcc53d159dc222428c1991f1a2048c11b","revlink":"","when":1791464634,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"d74a01dfcc53d159dc222428c1991f1a2048c11b"},"submittedAt":1791461646},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Thu 08 Oct 2026 23:44:32","branch":"master","category":"libpcap","codebase":"","comments":"CI: Extend the Haiku exemption onto Clang 23. [skip ci]","files":[{"name":"build.sh"}],"number":285136,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"63a21a5600b34687a7084908fa479e8f52027548","revision":"63a21a5600b34687a7084908fa479e8f52027548","revlink":"","when":1791495872,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"63a21a5600b34687a7084908fa479e8f52027548"},"submittedAt":1791489883},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Fri 09 Oct 2026 16:26:33","branch":"master","category":"libpcap","codebase":"","comments":"Make more register handling bugs early failures.\nIntroduce new_arth() to fail if an arithmetic expression is going to be\nused without allocating a register first.  Introduce alloc_reg_arth() to\nfail when for the same arithmetic expression a new allocation is about\nto leak an existing allocation.  Use the new functions in gen_arth(),\ngen_loadlen() and gen_loadi_internal().","files":[{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":285330,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"a8fce18e938c7d91874f0ec718293dbfa5b67914","revision":"a8fce18e938c7d91874f0ec718293dbfa5b67914","revlink":"","when":1791555993,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Fri 09 Oct 2026 18:42:23","branch":"master","category":"libpcap","codebase":"","comments":"Reduce register footprint of gen_load_internal().\nAllocate the output scratch memory register just before using it and\nafter deallocating the input register, rather than at the beginning.\n\nThis way it is still possible to run out of registers before\ngen_load_internal() or downstream of it in gen_abs_offset_varpart(), but\nnot when allocating the output register anymore, also one more register\nis available in gen_abs_offset_varpart() than before, which in corner\ncases that involve \"proto[expr]\" allows to compile slightly more complex\nexpressions or to start accessing packet data using an offset that has a\nvariable part, although not both at the same time.\n\nConsequently, four filter reject tests become filter accept tests and\nonly the 16 register plane (in the sense of commit 17c2d1e) comprises\nboth accept and reject tests.  Update many other filter accept tests\nthat now use a lower index for one of the registers as a result of this\nchange.","files":[{"name":"gencode.c"},{"name":"testprogs/TESTrun"}],"number":285331,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"f1da34eb2c99b0f61932dc6d9274b4acacdb76b5","revision":"f1da34eb2c99b0f61932dc6d9274b4acacdb76b5","revlink":"","when":1791564143,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Fri 09 Oct 2026 18:42:23","branch":"master","category":"libpcap","codebase":"","comments":"TESTrun: Add more scratch memory capacity tests.\nRequire both gen_loadi_internal() and gen_loadlen() to allocate exactly\none register and not to leak it.","files":[{"name":"testprogs/TESTrun"}],"number":285332,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"d5d932c87067018f74c945c2b70ecc5dec725dc5","revision":"d5d932c87067018f74c945c2b70ecc5dec725dc5","revlink":"","when":1791564143,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Sat 10 Oct 2026 23:05:26","branch":"master","category":"libpcap","codebase":"","comments":"BPF_MEMWORDS actually counts registers. [skip ci]","files":[{"name":"pcap/bpf.h"}],"number":285333,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"af7ef0678be69b157bc988743a1eae72a212b58a","revision":"af7ef0678be69b157bc988743a1eae72a212b58a","revlink":"","when":1791666326,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"af7ef0678be69b157bc988743a1eae72a212b58a"},"submittedAt":1791660908},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Tue 13 Oct 2026 01:44:04","branch":"master","category":"libpcap","codebase":"","comments":"Add a common routine to grow the packet buffer, and use it.\nCommon code for both pcap and pcapng. This fixes the pcapng code so that\nit updates the buffer size and thus doesn't wastefully \"reallocate\" the\nbuffer at its existing size.","files":[{"name":"pcap-int.h"},{"name":"pcap.c"},{"name":"sf-pcap.c"},{"name":"sf-pcapng.c"}],"number":285731,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"a493d1f47d8ddbbed7d2ac372f599b5444cd8422","revision":"a493d1f47d8ddbbed7d2ac372f599b5444cd8422","revlink":"","when":1791848644,"who":"Guy Harris <gharris@sonic.net>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"a493d1f47d8ddbbed7d2ac372f599b5444cd8422"},"submittedAt":1791842689},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Tue 13 Oct 2026 11:33:35","branch":"master","category":"libpcap","codebase":"","comments":"Fix DLT_PFSYNC definition on QNX 8.0.\n# uname -a\nQNX qnxpi5 8.0.0 2026/06/05-16:21:14EDT RaspberryPi5 aarch64le\n\nThe interface exists by default, this is how testprogs/findalldevstest\nsees it:\n\npfsync0\n\tFlags:\n\tAddress Family: AF_LINK (18)\n\t\tInterface Index: 4\n\t\tType: 247\n\t\tLength: 0\n\nBefore:\n# tcpdump -i pfsync0 -L\nData link types for pfsync0 (use option -y to set):\n  DLT 18 (printing not supported)\n\nAfter:\n# tcpdump -i pfsync0 -L\nData link types for pfsync0 (use option -y to set):\n  PFSYNC (Packet filter state syncing) (printing not supported)\n\nAdd QNX and MidnightBSD to the comments and explain why the \"everything\nelse\" case does not just test for !defined(DLT_PFSYNC).","files":[{"name":"CHANGES"},{"name":"pcap/dlt.h"},{"name":"testprogs/TESTrun"}],"number":285814,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"a66dfac7dff22f53fc8bd71d4b4c488807dde69e","revision":"a66dfac7dff22f53fc8bd71d4b4c488807dde69e","revlink":"","when":1791884015,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Tue 13 Oct 2026 11:33:35","branch":"master","category":"libpcap","codebase":"","comments":"pcap_activate(3PCAP): Fix some grammar. [skip ci]","files":[{"name":"pcap_activate.3pcap"}],"number":285815,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"285184dec12a0e5ede0a6e8b3a5810dd0d57dbf8","revision":"285184dec12a0e5ede0a6e8b3a5810dd0d57dbf8","revlink":"","when":1791884015,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"285184dec12a0e5ede0a6e8b3a5810dd0d57dbf8"},"submittedAt":1791878653},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Wed 14 Oct 2026 11:53:30","branch":"master","category":"libpcap","codebase":"","comments":"Make CMake config.h more like Autoconf one.\nTo match what Autoconf 2.72 produces, use single quotes and update\ncomments for HAVE_FSEEKO, _LARGEFILE_SOURCE and _LARGE_FILES.  Remove\nHAVE_SNPRINTF and HAVE_VSNPRINTF (see commit 826fda0).  Move\nENABLE_DAG_TX and HAVE_DECL_SKF_AD_VLAN_TAG_PRESENT.  If defining\nHAVE_BUILTIN_BSWAP16, HAVE_BUILTIN_BSWAP32, HAVE_BUILTIN_BSWAP64 or\nHAVE_BUILTIN_CTZ, define to 1.  Add HAVE_ZONE_H (see commit b50d0e3).","files":[{"name":"cmakeconfig.h.in"}],"number":286174,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"c9b3d733631c5e46a529078107f726de472156db","revision":"c9b3d733631c5e46a529078107f726de472156db","revlink":"","when":1791971610,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Wed 14 Oct 2026 12:08:59","branch":"master","category":"libpcap","codebase":"","comments":"Test for <sysexits.h> instead of specific OSes.\nIn both Autoconf and CMake define HAVE_SYSEXITS_H iff the header is\npresent.  Move exit status constants from unix.h to portability.h and\nbased on the macro either include <sysexits.h> or define the constants.\nIn each test program that needs the constants instead of deciding which\nheader to include just include portability.h, make sure config.h has\nbeen included beforehand to enable the macro test and there is no\ncomment saying 'for \"pcap-int.h\"', as that's no longer the only reason.\n\nTested to work on QNX 8.0, which does not have the header.","files":[{"name":"CHANGES"},{"name":"CMakeLists.txt"},{"name":"cmakeconfig.h.in"},{"name":"configure.ac"},{"name":"portability.h"},{"name":"testprogs/enumeratetest.c"},{"name":"testprogs/filtertest.c"},{"name":"testprogs/opendeadtest.c"},{"name":"testprogs/translatetest.c"},{"name":"testprogs/unix.h"}],"number":286176,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"02f48a303f86b1c54ca5a52680cae5cc74a8a9ef","revision":"02f48a303f86b1c54ca5a52680cae5cc74a8a9ef","revlink":"","when":1791972539,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"02f48a303f86b1c54ca5a52680cae5cc74a8a9ef"},"submittedAt":1792053285},{"builderName":"libpcap-solaris11-sparc","builds":[],"properties":[["scheduler","schedule-libpcap-solaris11-sparc","Scheduler"]],"source":{"branch":"master","changes":[{"at":"Thu 15 Oct 2026 16:50:59","branch":"master","category":"libpcap","codebase":"","comments":"Squelch a TinyCC warning in atomuse().\nDebian 12/i686\n$ tcc --version\ntcc version 0.9.27 (i386 Linux)\n\noptimize.c:555: warning: function might return no value: 'atomuse'","files":[{"name":"optimize.c"}],"number":286227,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"526d68339711099e9fee282177b965feb0a1a0c2","revision":"526d68339711099e9fee282177b965feb0a1a0c2","revlink":"","when":1792075859,"who":"Denis Ovsienko <denis@ovsienko.info>"},{"at":"Thu 15 Oct 2026 16:50:59","branch":"master","category":"libpcap","codebase":"","comments":"Fix timeradd() and timersub() detection (again).\nMy earlier commits 127da7e and 84c5f4c have not solved the problem\nexactly right, as can be seen on Debian 12/i686 (also reproduced on\nHurd/i386 a while ago):\n\n$ tcc --version\ntcc version 0.9.27 (i386 Linux)\n\nIn file included from rpcap-protocol.c:44:\nIn file included from ./pcap/pcap.h:124:\n/usr/include/i386-linux-gnu/sys/time.h:246: warning: timeradd redefined\n\nIn file included from rpcap-protocol.c:44:\nIn file included from ./pcap/pcap.h:124:\n/usr/include/i386-linux-gnu/sys/time.h:255: warning: timersub redefined\n\nIn file included from bpf_filter.c:51:\n/usr/include/i386-linux-gnu/sys/time.h:246: warning: timeradd redefined\n\nIn file included from bpf_filter.c:51:\n/usr/include/i386-linux-gnu/sys/time.h:255: warning: timersub redefined\n\nIt is wrong to use #ifndef at the compile time in portability.h, which\ncan be (and in fact sometimes is) included before <sys/time.h>, which\ntypically defines timeradd() and timersub().  To fix this, move the\nreplacement macros from portability.h to the only .c file that requires\nthese.\n\nIf other .c files start requiring the macros in future and the\nreplacements have to be in a shared header again, it will be necessary\nto involve the build systems again, but to test for a symbol rather than\na function and to guard the replacement macros using HAVE_DECL_TIMERADD\nand HAVE_DECL_TIMERSUB.","files":[{"name":"portability.h"},{"name":"testprogs/findalldevstest-perf.c"}],"number":286229,"project":"libpcap","properties":[],"repository":"https://git.tcpdump.org/libpcap","rev":"79701794b4fe7a2802e896373ff3c8fbe069e9b4","revision":"79701794b4fe7a2802e896373ff3c8fbe069e9b4","revlink":"","when":1792075859,"who":"Denis Ovsienko <denis@ovsienko.info>"}],"codebase":"","hasPatch":false,"project":"libpcap","repository":"https://git.tcpdump.org/libpcap","revision":"79701794b4fe7a2802e896373ff3c8fbe069e9b4"},"submittedAt":1792072454}]