Vacation and notify are meant to stay silent for mail with an Auto-Submitted header other than no (RFC 3834; RFC 5230 section 4.6). The vendored sieve-rs looked for that header as HeaderName::Other, but mail-parser 0.11 parses it as HeaderName::AutoSubmitted, so the check never matched. An out-of-office reply (a JMAP VacationResponse compiles to the same vacation action) or a Sieve notify answered other programs' mail, including other autoresponders. The per-sender duplicate check kept a loop with another responder to one reply per period.
Both now match HeaderName::AutoSubmitted. Precedence and X-Auto-Response-Suppress have no named variant in mail-parser, so they still arrive as Other and were never affected.
Found while checking an OPPORTUNITIES item: upstream 0.7.3 fails its own svtests "No reply to auto-submitted mail" and "Notifying on automated messages" for this reason.
Tested:
sieve-rs from vendor/sieve-rs with upstream's svtests restored in full: 10 passed (it failed on main with "notified of auto-submitted message").
sieve_auto_submitted_mail_gets_no_reply in crates/common (vacation and notify, with no header, no, auto-replied, lower-case auto-generated): passes, and fails without the fix.
cargo fmt --all --check is clean, clippy adds nothing new, and the fork checks are clean.
Not a security fix: a forged sender gets the same one reply per period without the header.
Vacation and notify are meant to stay silent for mail with an `Auto-Submitted` header other than `no` (RFC 3834; RFC 5230 section 4.6). The vendored sieve-rs looked for that header as `HeaderName::Other`, but mail-parser 0.11 parses it as `HeaderName::AutoSubmitted`, so the check never matched. An out-of-office reply (a JMAP VacationResponse compiles to the same `vacation` action) or a Sieve `notify` answered other programs' mail, including other autoresponders. The per-sender duplicate check kept a loop with another responder to one reply per period.
Both now match `HeaderName::AutoSubmitted`. Precedence and X-Auto-Response-Suppress have no named variant in mail-parser, so they still arrive as `Other` and were never affected.
Found while checking an OPPORTUNITIES item: upstream 0.7.3 fails its own svtests "No reply to auto-submitted mail" and "Notifying on automated messages" for this reason.
Tested:
- sieve-rs from `vendor/sieve-rs` with upstream's svtests restored in full: 10 passed (it failed on main with "notified of auto-submitted message").
- `sieve_auto_submitted_mail_gets_no_reply` in crates/common (vacation and notify, with no header, `no`, `auto-replied`, lower-case `auto-generated`): passes, and fails without the fix.
- `cargo fmt --all --check` is clean, clippy adds nothing new, and the fork checks are clean.
Not a security fix: a forged sender gets the same one reply per period without the header.
Vacation and notify are meant to stay silent for mail with an
Auto-Submitted header other than "no" (RFC 3834, RFC 5230 section 4.6).
The vendored sieve-rs looked for that header as HeaderName::Other, but
mail-parser 0.11 parses it as HeaderName::AutoSubmitted, so the check
never matched: an out-of-office reply (a JMAP VacationResponse compiles
to the same vacation action) or a Sieve notify answered other programs'
mail, other autoresponders included. The per-sender duplicate check kept
a loop with another responder to one reply per period.
Both now match HeaderName::AutoSubmitted. Upstream 0.7.3 fails its own
svtests "No reply to auto-submitted mail" and "Notifying on automated
messages" for this reason; with the fix both pass, with the rest of the
crate's tests. sieve_auto_submitted_mail_gets_no_reply in crates/common
covers vacation and notify, and fails without the fix.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Vacation and notify are meant to stay silent for mail with an
Auto-Submittedheader other thanno(RFC 3834; RFC 5230 section 4.6). The vendored sieve-rs looked for that header asHeaderName::Other, but mail-parser 0.11 parses it asHeaderName::AutoSubmitted, so the check never matched. An out-of-office reply (a JMAP VacationResponse compiles to the samevacationaction) or a Sievenotifyanswered other programs' mail, including other autoresponders. The per-sender duplicate check kept a loop with another responder to one reply per period.Both now match
HeaderName::AutoSubmitted. Precedence and X-Auto-Response-Suppress have no named variant in mail-parser, so they still arrive asOtherand were never affected.Found while checking an OPPORTUNITIES item: upstream 0.7.3 fails its own svtests "No reply to auto-submitted mail" and "Notifying on automated messages" for this reason.
Tested:
vendor/sieve-rswith upstream's svtests restored in full: 10 passed (it failed on main with "notified of auto-submitted message").sieve_auto_submitted_mail_gets_no_replyin crates/common (vacation and notify, with no header,no,auto-replied, lower-caseauto-generated): passes, and fails without the fix.cargo fmt --all --checkis clean, clippy adds nothing new, and the fork checks are clean.Not a security fix: a forged sender gets the same one reply per period without the header.