LMD 2.0.1 release candidate 3. Rolls up comment normalization, --json-report scaling fix, and ignore_inotify defaults refresh on top of rc2.
Changes since rc2
issue #480 — ignore_inotify defaults refresh + union model
- [Fix] Shipped
ignore_inotifydefaults were dead code since March_monitor_escape_erechange: ERE metachars escaped to literals, matched nothing - [New]
files/internals/ignore_inotify.defaults— LMD-managed curated defaults, overwritten on upgrade - [Fix]
files/ignore_inotifyshrunk to user template; 11 dead regex entries removed - [Fix]
monitor_init()unions both files via new_monitor_load_ignore_inotify_unionhelper (skips blanks and#comments, dedupes) - [New] Coverage for systemd-private tmpdirs (RHEL 9+, AlmaLinux 10, Debian 12), MariaDB
sql-temptable-*.MAI/.MAD, PostgreSQL, Redis, Memcached, ClamAV runtime, systemd journal, backup agents - [New] Packaging: RPM spec, DEB rules (
override_dh_fixpermspreserves 640), DEB links, symlink-manifest, pkg install test - [New] 16 BATS cases (
tests/47-ignore-inotify-defaults.bats) including sentinel guards for user-file false positives - [Change] Docs:
README.md§5/§7,maldet.1MONITOR MODE
issue #482 — --json-report scaling + field parity
- [Fix]
pathfield missing fromreports[],active[],stopped[]in--json-report list - [Fix] Unified
_json_escape_stringhelper inlmd.lib.sh+_json_escape_varout-param variant for hot loops - [Fix] O(N²) → O(N) list rendering: 20,000-report corpus 82s → 1.7s via
local -A _seen_idsdedup - [New] 4 BATS cases for path-field parity and dedup
Comment discipline — 28 files
- [Change] T1: strip banner separators and file-header catalogues
- [Change] T2: collapse signature-restatement blocks in function headers
- [Change] T3: inline prose rehousing +
files/maldetaudit - Net: 15.0% → 12.0% comment density, 115 banners removed, -514 lines. Zero functional change. 8964/0 on 9-OS CI.
Verification
- 1016/1016 BATS on Debian 12 at
984c0b1(rc2 996 + 20 new cases) - Tarball:
maldet-2.0.1.tar.gz, 261,635 bytes,git archivewith.gitattributesexport-ignore honored (1,816 bytes smaller than rc2) - Packaging:
ignore_inotify.defaultsat 640 under/usr/lib/maldet/internals/, not a DEB conffile, not RPM%config, refreshes on upgrade - Upgrade path: user
ignore_inotifypreserved viaimportconfglob; curated defaults refreshed unconditionally
Install
wget https://github.com/rfxn/linux-malware-detect/releases/download/v2.0.1-rc3/maldet-2.0.1.tar.gz
tar xzf maldet-2.0.1.tar.gz
cd maldet-2.0.1
./install.sh