Merge/upstream v0.16.23 #18

Merged
jcoffey-dev merged 4 commits from merge/upstream-v0.16.23 into main 2026-09-23 00:48:23 +00:00
Owner

Summary

Related issues

Upstream files

Clean room

Testing

<!-- Thanks for contributing to INBUXA. CONTRIBUTING.md has the full guide; this is the short version. Delete any section that does not apply. --> ## Summary <!-- What changes, and why. The why is the part that is hard to recover later. --> ## Related issues <!-- e.g. Closes #123. Leave blank if there are none. --> ## Upstream files <!-- Does this touch files that came from Stalwart? If so: is the change as small as it can be, and is it marked with an `inbuxa:` comment saying which requirement it serves? Every edit to an upstream file is a conflict waiting at the next import, so it should be worth one. --> ## Clean room <!-- Only for changes to the rebuilt features in `crates/features`, or to the hooks that serve them. Confirm one: - [ ] I have not read Stalwart's Enterprise-licensed source, and worked from the specification in `docs/spec/features/`. - [ ] I have read it. (Say so -- the change will be reviewed with that in mind, or declined for the parts it touches. The project's claim of independent creation is a record, and the record has to be true.) --> ## Testing <!-- What you ran. `cargo test -p tests` covers what needs nothing but a store; say so if you ran any of the `#[ignore]`d suites from docs/spec/container-tests.md, and which. -->
jcoffey-dev added 4 commits 2026-09-23 00:10:38 +00:00
Import upstream v0.16.23, stripped
trivy / Check (pull_request) Waiting to run
3a272096c0
Upstream commit: 9d1c75ab68435e4417337f768291e5f947686203
Enterprise-only files removed or emptied: 63
Enterprise-only snippets removed: 118 in 50 files
Dangling module declarations removed: 5
Edits turning enterprise off: 25
Third-party code: 14 files, 0 not in THIRD-PARTY.md
Verification: clean

One snippet more than v0.16.22, in crates/common/src/auth/authentication.rs
(3, was 2).
Five conflicts, resolved:

- crates/common/src/auth/authentication.rs: upstream's get_directory_for_token
  and JwtClaims replace extract_jwt_domain; the per-domain directory code
  (DIR-1, DIR-5 to DIR-7) is kept, and the token lookup routes through it.
  The release's one new Enterprise snippet was the body of
  get_directory_for_issuer, which stays returning None: a token naming no
  address gets the server default, as DIR-2 specifies and as v0.16.22 did.
- crates/common/src/manager/application.rs: upstream's rewrite of the tests,
  with the temp directory names renamed again, and the 5(a) notice the
  name-purge change should have added.
- crates/common/src/network/mta.rs: both sides' imports.
- crates/main/Cargo.toml: the AGPL-only license kept, version 0.16.23.
- Cargo.lock: upstream's, with the fork's crates added by Cargo.
These upstream files were changed after the fork marked the files it had
modified, and never got the notice: six by the listener and schema-cache
work on 2026-09-20, two by the name check. Found by diffing against the
upstream snapshot branch, as before.
Drop upstream's issuer-routing test and an import it left unused
ci / name-check (pull_request) Successful in 52s
ci / build (pull_request) Successful in 21m31s
c240946248
tests/src/directory/issuer.rs, new in v0.16.23, tests routing a bearer token
to a directory by its issuer. That routing is Enterprise-only upstream (the
body of get_directory_for_issuer), and the fork doesn't build it: a token
naming no address gets the server default (DIR-2). The test also calls a
helper from upstream's Enterprise-only OIDC test, so it can't compile here.

mta.rs imported types::id::Id for code inside an Enterprise snippet; the
stripped tree leaves it unused, upstream's as well as ours.
jcoffey-dev merged commit c5bf67f1bf into main 2026-09-23 00:48:23 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inbuxa/inbuxa-server#18