Keep the spam rules on v3.0.2 and maintain them here #225

Merged
jcoffey-dev merged 1 commits from rules/own-spam-rules into main 2026-10-28 21:55:04 +00:00
Owner

The bundled spam rules stay on spam-filter v3.0.2 and become ours from here.

spam-filter v3.0.3 (#208) follows upstream's 1.0 server, which this one isn't:

  • The AI classifier's LLM_* tags become AI_*. This server emits LLM_*, so a new install would score the classifier's verdicts at 0.
  • HTTP lookups' refresh becomes refreshInterval. This server reads refresh and ignores unknown fields, so every list would quietly fall back to the 12-hour default.
  • Its other new tags (MIME_LIMIT_EXCEEDED, URL_REDIRECTOR_INSECURE, the BCC and reply-to renames) are ones this server doesn't emit, or score 0.

The one useful part is scores for the DKIM2 result tags, which this server already emits (crates/spam-filter/src/analysis/dmarc.rs) but v3.0.2 doesn't score. This adds them, with v3.0.3's values: DKIM2_ALLOW −0.2, DKIM2_REJECT 1.0, and DKIM2_NA, DKIM2_PERMFAIL, DKIM2_TEMPFAIL 0.0.

  • resources/spam-filter/spam-filter-rules.json.gz: v3.0.2 plus those five tags, nothing else changed (the JSON round-trips byte for byte; compressed with gzip -n -9, so it's reproducible).
  • BUNDLED_SPAM_RULES_VERSION is 3.0.2-inbuxa.1, so existing servers load the new tags once on their next start. Loading only adds missing tags, so an admin's own scores stay.
  • resources/spam-filter/README.md says the rules are maintained here, lists the change, and says how to make the next one. THIRD-PARTY.md no longer says "unmodified".
  • spam-rules-watch.yml is removed. Watching spam-filter was all it did, and every release from now on would be another #208.

#208 is closed as not planned, pointing here.

Checked locally: fork checks and their unit tests, cargo test -p common --lib spam_rules, and the antispam suite (its messages only produce DKIM2_NA, which still scores 0, so no expectations changed).

The bundled spam rules stay on spam-filter v3.0.2 and become ours from here. spam-filter v3.0.3 (#208) follows upstream's 1.0 server, which this one isn't: - The AI classifier's `LLM_*` tags become `AI_*`. This server emits `LLM_*`, so a new install would score the classifier's verdicts at 0. - HTTP lookups' `refresh` becomes `refreshInterval`. This server reads `refresh` and ignores unknown fields, so every list would quietly fall back to the 12-hour default. - Its other new tags (`MIME_LIMIT_EXCEEDED`, `URL_REDIRECTOR_INSECURE`, the BCC and reply-to renames) are ones this server doesn't emit, or score 0. The one useful part is scores for the DKIM2 result tags, which this server already emits (`crates/spam-filter/src/analysis/dmarc.rs`) but v3.0.2 doesn't score. This adds them, with v3.0.3's values: `DKIM2_ALLOW` −0.2, `DKIM2_REJECT` 1.0, and `DKIM2_NA`, `DKIM2_PERMFAIL`, `DKIM2_TEMPFAIL` 0.0. - `resources/spam-filter/spam-filter-rules.json.gz`: v3.0.2 plus those five tags, nothing else changed (the JSON round-trips byte for byte; compressed with `gzip -n -9`, so it's reproducible). - `BUNDLED_SPAM_RULES_VERSION` is `3.0.2-inbuxa.1`, so existing servers load the new tags once on their next start. Loading only adds missing tags, so an admin's own scores stay. - `resources/spam-filter/README.md` says the rules are maintained here, lists the change, and says how to make the next one. `THIRD-PARTY.md` no longer says "unmodified". - `spam-rules-watch.yml` is removed. Watching spam-filter was all it did, and every release from now on would be another #208. #208 is closed as not planned, pointing here. Checked locally: fork checks and their unit tests, `cargo test -p common --lib spam_rules`, and the antispam suite (its messages only produce `DKIM2_NA`, which still scores 0, so no expectations changed).
jcoffey-dev added 1 commit 2026-10-28 21:46:49 +00:00
Keep the spam rules on v3.0.2 and maintain them here
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 7m46s
e4a3878532
spam-filter v3.0.3 follows upstream's 1.0 server: it renames the AI
classifier's LLM_* tags to AI_* and the lookups' refresh setting to
refreshInterval, neither of which this server uses. Taken in, it would
score the classifier's verdicts at 0 on new installs and quietly reset
every lookup's refresh interval.

The rules stay on v3.0.2 and are maintained here from now on, versioned
3.0.2-inbuxa.N. The first change adds scores for the DKIM2 result tags
the server already emits, with v3.0.3's values: DKIM2_ALLOW -0.2,
DKIM2_REJECT 1.0, the others 0.

spam-rules-watch only watched spam-filter, so it goes too.
jcoffey-dev merged commit f17b094589 into main 2026-10-28 21:55:04 +00:00
jcoffey-dev deleted branch rules/own-spam-rules 2026-10-28 21:55:04 +00:00
Sign in to join this conversation.