happyDeliver/pkg/analyzer
Pierre-Olivier Mercier 809bca02e4 dmarc: implement DMARCbis DNS Tree Walk and new tag support
Replace RFC 7489 PSL-based org-domain lookup and RFC 9091 PSD DMARC
fallback with the DMARCbis DNS Tree Walk algorithm (max 8 queries,
8-label shortcut, TLD records require psd=y). Add parsing for the new
t= (test mode), psd= (y/n/u), and deprecated tag detection (pct, rf,
ri). Update validateDMARC to accept p=-absent records with rua= per
DMARCbis §4.7. Score t=y by downgrading effective policy one level.

Surface user-facing advisories in DmarcRecordDisplay: deprecation
warnings for pct=/rf=/ri=, test mode explanation with per-policy
impact, and PSD/org-domain boundary notices.
2026-05-18 20:57:31 +08:00
..
analyzer.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication.go analyzer: correct auth scoring weights, x-aligned-from penalty, and RBL divide-by-zero 2026-05-18 20:57:31 +08:00
authentication_arc.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_arc_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_bimi.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_bimi_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_dkim.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_dkim_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_dmarc.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_dmarc_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_iprev.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_iprev_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_spf.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_spf_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_test.go analyzer: correct auth scoring weights, x-aligned-from penalty, and RBL divide-by-zero 2026-05-18 20:57:31 +08:00
authentication_x_aligned_from.go analyzer: correct auth scoring weights, x-aligned-from penalty, and RBL divide-by-zero 2026-05-18 20:57:31 +08:00
authentication_x_aligned_from_test.go analyzer: correct auth scoring weights, x-aligned-from penalty, and RBL divide-by-zero 2026-05-18 20:57:31 +08:00
authentication_x_google_dkim.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
authentication_x_google_dkim_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
content.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
content_test.go Add multilingual unsubscribe keywords for link detection 2026-02-23 00:15:17 +07:00
dns.go dkim: expose algorithm, hash list, and key size in DKIM record analysis 2026-05-18 20:57:31 +08:00
dns_bimi.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
dns_bimi_test.go Split dns.go in one file per check 2025-10-25 03:31:29 +07:00
dns_dkim.go dkim: expose algorithm, hash list, and key size in DKIM record analysis 2026-05-18 20:57:31 +08:00
dns_dkim_test.go dkim: expose algorithm, hash list, and key size in DKIM record analysis 2026-05-18 20:57:31 +08:00
dns_dmarc.go dmarc: implement DMARCbis DNS Tree Walk and new tag support 2026-05-18 20:57:31 +08:00
dns_dmarc_test.go dmarc: implement DMARCbis DNS Tree Walk and new tag support 2026-05-18 20:57:31 +08:00
dns_fcr.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
dns_mx.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
dns_resolver.go Refactor DNS resolution: create an interface to have multiple implementations 2025-11-17 10:15:55 +07:00
dns_spf.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
dns_spf_test.go Handle RFC6652 2025-11-07 14:09:05 +07:00
dns_test.go Split dns.go in one file per check 2025-10-25 03:31:29 +07:00
headers.go dmarc: implement RFC 7489 org-domain fallback and RFC 9091 PSD DMARC 2026-05-18 17:03:58 +08:00
headers_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
parser.go Make receiver hostname configurable via --receiver-hostname flag 2026-03-25 12:12:08 +07:00
parser_test.go Make receiver hostname configurable via --receiver-hostname flag 2026-03-25 12:12:08 +07:00
rbl.go analyzer: correct auth scoring weights, x-aligned-from penalty, and RBL divide-by-zero 2026-05-18 20:57:31 +08:00
rbl_test.go dmarc: implement RFC 7489 org-domain fallback and RFC 9091 PSD DMARC 2026-05-18 17:03:58 +08:00
report.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
report_test.go Add rspamd symbol descriptions from embedded/API lookup 2026-03-26 09:51:45 +07:00
rspamd-symbols-README.md Add rspamd symbol descriptions from embedded/API lookup 2026-03-26 09:51:45 +07:00
rspamd-symbols.json Add rspamd symbol descriptions from embedded/API lookup 2026-03-26 09:51:45 +07:00
rspamd.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
rspamd_symbols.go Add rspamd symbol descriptions from embedded/API lookup 2026-03-26 09:51:45 +07:00
rspamd_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
scoring.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
spamassassin.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00
spamassassin_test.go Extract OpenAPI schemas to separate file and move models to internal/model package 2026-04-09 18:36:27 +07:00