Skip to content

Commit d58bbfa

Browse files
committed
CHANGES: document ARC/ARC-Seal crash fixes (trusteddomainproject#296)
1 parent 43e72d7 commit d58bbfa

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

CHANGES-develop.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ CREATE TABLE IF NOT EXISTS suppressions (
118118
- **ADMD-less `Authentication-Results` headers**: Some MTAs (notably Office 365) generate AR headers that omit the authserv-id entirely. The parser now recovers gracefully rather than discarding the result. (#329, issue #73)
119119
- **AR header with no-result rejected as invalid**: RFC 8601 §2.2 permits `Authentication-Results: example.com; none` as a valid header indicating no methods were evaluated. The parser treated this as a syntax error. (#267)
120120
- **ARC-Authentication-Results parser rewritten using shared state machine**: The bespoke `strsep`-based AAR parser was replaced with the unified `authres_parse()` function that handles both AR and AAR headers. The old parser was fragile against whitespace and quoting variations and could not correctly extract client-IP from `remote-ip` properties. `struct arcares` now carries a `struct authres payload` rather than individual string fields. `MAXARESULTS` doubled to 32. (#355, issue #305)
121+
- **Multiple ARC/ARC-Seal parser crashes**: Fixed SIGSEGV (large RSA signatures exceeding the 512-byte token limit), SIGABRT (malformed tokens with no `=` sign hitting `assert()` in `strip_whitespace`), memory leaks, and NULL pointer dereferences in ARC header parsing. Also fixed a memory leak where `as_hdr_new` was allocated but not freed on the invalid-header path. Unknown auth methods in AAR headers (e.g. `dara=` from Gmail) are now skipped rather than rejecting the entire header. CRLF line folding in AAR headers is now handled correctly. Adds `test_arcares` unit tests covering all these cases. (#296, issues #183, #186, #222, #236, #238, #241, #242)
121122

122123
**Open question**: The `dmarc=` and `spf=` results are currently emitted as separate `Authentication-Results` headers, which is what most downstream consumers (Rspamd, SpamAssassin, etc.) expect. RFC 8601 permits combining them into a single header, and a future `CombinedAuthservHeader` option could allow operators to opt in once they have verified their downstream software handles it. Worth coordinating with those projects before implementing.
123124

0 commit comments

Comments
 (0)