Skip to content

fix: support sticky mail spools and pending recovery - #30

Merged
xxvcc merged 2 commits into
mainfrom
fix/sticky-mail-spool-preflight
Jul 31, 2026
Merged

fix: support sticky mail spools and pending recovery#30
xxvcc merged 2 commits into
mainfrom
fix/sticky-mail-spool-preflight

Conversation

@xxvcc

@xxvcc xxvcc commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • accept root-owned sticky world-writable mail pools such as Debian root:mail 3777 and Arch root:root 1777, while retaining fail-closed checks for unsafe roots and mailbox artifacts
  • validate mail roots before useradd, return a captured identity for post-create failures, and make invite rollback/recovery durable
  • add strictly interactive recovery for legacy pending rows and strengthen deletion/NSS/mail durability checks
  • update Chinese and English operator, installation, security, release, README, and changelog contracts for v2.9.2

Validation

  • go test -mod=readonly -count=1 -race ./...
  • go vet -mod=readonly -printf.funcs=printf,errorf,warnf ./...
  • staticcheck ./... with ordinary and integration tags
  • govulncheck ./... (0 reachable vulnerabilities)
  • go mod verify and go mod tidy -diff
  • ShellCheck, shell syntax, actionlint, mirror receiver policy tests
  • static amd64 and arm64 builds reporting version 2.9.2
  • isolated Debian 13 root integration race suite
  • Debian 13 root:mail 3777 invite/SSH/sudo/systemd/revoke canary
  • Ubuntu 24.04 root:mail 2775 canary and unsafe 2777 pre-useradd refusal canary

@xxvcc
xxvcc merged commit 3312251 into main Jul 31, 2026
8 checks passed
@xxvcc
xxvcc deleted the fix/sticky-mail-spool-preflight branch July 31, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant