Hello all.

>From the beginning of 2025 I have been keeping track of the time I
spend working on tcpdump and libpcap.  This is being done for purposes
that will hopefully make sense later, meanwhile you can find the
monthly reports for January and February below.  For March and later
months I am going to post similar reports as long as I continue
tracking the time in this manner.

This will hopefully make it easier to understand why many user requests
are being dealt with slower than desired (long story short: we need
more volunteer sysadmins and more volunteer developers willing to
reduce the technical debt rather than to add new features).  So, here
it goes.

January 2025
============
The accounted activities in January stand for 173:40 working hours and
79 git commits (63 in libpcap, 2 in tcpdump and 14 in tcpdump-htdocs).

In libpcap the test tooling started:

* to support filter expression aliases for "accept" tests,
* to verify the error string for "reject" tests,
* to support a new "apply" type of filter tests,
* to run the tests multi-threaded,
* to implement a proper help screen in the "filtertest" test program,
* to test Linux BPF extensions, and
* to condense the output.

The test coverage in libpcap also improved by 1171 new tests.  This in
turn made it easier to notice a few low-impact bugs in the BPF compiler:

* DECnet filtering code did not work correctly on little-endian hosts,
* ATM and IEEE 802.11 keywords didn't validate user input,
* ATM and MTP field comparisons didn't work correctly in all cases,
* Linux BPF extensions did not engage/disengage in all cases, and
* ARCnet address parsing was broken.

All of these have been addressed.  Also the new tests made it
practicable to implement a few minor optimizations in the compiler,
namely:

* "pppoes" and "dpc" now use the optimal data size (16 bits),
* "decnet host" no longer generates duplicate EtherType comparisons, and
* "decnet dst" now uses one 32-bit comparison instead of two 16-bit
  ones if possible.

The BPF expression syntax man page started documenting ATM fields, MTP
fields and ARCnet host syntax for the first time, 5 other man pages
were updated to address various gaps.

Other accounted activities include:

* occasional backlog management and user support,
* minor updates to the web site,
* manual testing on less common OSes as required,
* sysadmin chores (reconfigurations, virtual infrastructure upgrades
  and building of a new host for the continuous integration), and
* fixing two cosmetic bugs in tcpdump.
----------------------------------------------------------------------

February 2025
=============
The accounted activities in February stand for 212:50 working hours and
86 git commits (71 in libpcap, 10 in tcpdump and 5 in tcpdump-htdocs).

In libpcap the test tooling:

* started to support conditional execution of all test types,
* started to support tests that depend on the host configuration,
* started to support diagnostic command-line options to simplify
  debugging,
* started to support Windows,
* started to support Perl versions as old as that of Solaris 10, and
* was split into libpcap-specific and generic parts.

The latter two developments enabled reusing of libpcap test tooling in
tcpdump, which has been implemented and made the test tooling feature
set and code more consistent between the two source trees.  In both
libpcap and tcpdump various build-time checks were made conditional on
the operating system, which among other things reduced the amount of
build text output in libpcap by approximately 5%.  In libpcap the test
coverage improved by 532 new tests, which helped to make the following
improvements:

* in libpcap "host", "net" and "gateway" no longer generate duplicate
  EtherType comparisons,
* in libpcap "outbound" no longer matches an invalid direction in
  DLT_SLIP,
* in libpcap on Linux ether_hostton() from musl libc is now ignored,
* in libpcap on Linux getprotobyname_r() errors no longer cause a
  failure to fail,
* in tcpdump the "-f" flag has been fixed and is better documented now.

A bug in musl libc has been discovered, reported upstream and confirmed,
also a request for improvement in Haiku.  The BPF expression syntax man
page among other things now better documents "broadcast", "multicast",
"host", "net", "gateway", "port", "decnet" and/or variations thereof.
Also it turned out that the recent Linux BPF extensions bug fixed in
libpcap broke compatibility with old Linux versions, so this was fixed
as necessary.

Other accounted activities include:

* occasional backlog management and user support,
* various minor fixes to code and documentation,
* preparing a few draft prototypes that yet remain to be completed,
* minor updates to the web site,
* manual testing on less common OSes as required, and
* sysadmin chores (mostly reconfigurations, upgrades and churn in the
  virtual infrastructure).
----------------------------------------------------------------------

Cheers.

-- 
    Denis Ovsienko
_______________________________________________
tcpdump-workers mailing list -- tcpdump-workers@lists.tcpdump.org
To unsubscribe send an email to tcpdump-workers-le...@lists.tcpdump.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to