Sieve: accept the pre-rename vnd.stalwart.* extension names #212

Merged
jcoffey-dev merged 1 commits from fix/sieve-legacy-extension-names into main 2026-10-27 06:56:40 +00:00
Owner

Found while testing Stalwart stores on INBUXA.

A Sieve script written for upstream that requires vnd.stalwart.expressions or vnd.stalwart.while:

  • keeps running after a move to INBUXA, because scripts are stored compiled. Checked live: mail was still filed by the script;
  • can't be saved again once the user edits it. The old name parses as an unknown extension, so let or eval fails with Undeclared capability 'vnd.inbuxa.expressions'. Checked live with SieveScript/validate.

The fix makes both spellings parse to the same capability. Only the vnd.inbuxa.* names are advertised. Two tests are in legacy_extension_names, the three new literals are allowlisted under a new reason, and VENDORED.md is updated.

Checked locally: name-check, notice-check, fork unit tests, the vendored crate's tests, and cargo build -p inbuxa --locked.

The v1.0.0 import will need the same alias in the in-tree crates/sieve.

Found while testing Stalwart stores on INBUXA. A Sieve script written for upstream that `require`s `vnd.stalwart.expressions` or `vnd.stalwart.while`: - **keeps running** after a move to INBUXA, because scripts are stored compiled. Checked live: mail was still filed by the script; - **can't be saved again** once the user edits it. The old name parses as an unknown extension, so `let` or `eval` fails with `Undeclared capability 'vnd.inbuxa.expressions'`. Checked live with `SieveScript/validate`. The fix makes both spellings parse to the same capability. Only the `vnd.inbuxa.*` names are advertised. Two tests are in `legacy_extension_names`, the three new literals are allowlisted under a new reason, and VENDORED.md is updated. Checked locally: name-check, notice-check, fork unit tests, the vendored crate's tests, and `cargo build -p inbuxa --locked`. The v1.0.0 import will need the same alias in the in-tree `crates/sieve`.
jcoffey-dev added 1 commit 2026-10-27 06:08:58 +00:00
Sieve: accept the pre-rename vnd.stalwart.* extension names
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 8m27s
bac77cf1c7
A script written for upstream that requires vnd.stalwart.expressions or
vnd.stalwart.while keeps running after a move to INBUXA, since scripts are
stored compiled. But it can't be saved again once edited: the old name
parses as an unknown extension, and let or eval then fails with
"Undeclared capability 'vnd.inbuxa.expressions'". Both spellings now
parse to the same capability. Only the INBUXA names are advertised.
jcoffey-dev merged commit 7753266731 into main 2026-10-27 06:56:40 +00:00
jcoffey-dev deleted branch fix/sieve-legacy-extension-names 2026-10-27 06:56:41 +00:00
Sign in to join this conversation.