[Integrity review] Bind POP3 duplicate identity to stable maildrop #24

Closed
opened 2026-09-08 10:24:51 +02:00 by zemion · 2 comments
Owner

I4: tenant/profile/server/UIDL duplicate key omits mailbox identity and can skip another account's bytes. Scope preview/import/unique constraints to stable effective maildrop identity across password rotations; detect UIDL/content conflict. Add non-destructive, audited legacy reconciliation with fresh evidence; never guess or delete/resend messages.

Tracking: GovOPlaN/govoplan-core#298

User authorized implementation on 2026-09-08. Work is local until explicitly published; keep this issue open until verification and publication state are recorded. Preserve tenant isolation, current authorization, immutable history, audit evidence, deterministic ordering, retry safety and existing API compatibility. Add focused regressions and owning EN/DE documentation. No live mail/provider side effects or historical data rewrites.

I4: tenant/profile/server/UIDL duplicate key omits mailbox identity and can skip another account's bytes. Scope preview/import/unique constraints to stable effective maildrop identity across password rotations; detect UIDL/content conflict. Add non-destructive, audited legacy reconciliation with fresh evidence; never guess or delete/resend messages. Tracking: https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/298 User authorized implementation on 2026-09-08. Work is local until explicitly published; keep this issue open until verification and publication state are recorded. Preserve tenant isolation, current authorization, immutable history, audit evidence, deterministic ordering, retry safety and existing API compatibility. Add focused regressions and owning EN/DE documentation. No live mail/provider side effects or historical data rewrites.
zemion added the
type
bug
priority
p1
status
in-progress
labels 2026-09-08 10:24:51 +02:00
Author
Owner

Local implementation receipt — 2026-09-08

POP3 duplicate identity now includes stable validated host/port/exact username within tenant/profile/server, preserving same-account secret rotation. Preview revision evidence is identity-bound; content/UIDL conflict is prevalidated for the entire batch. Additive migration leaves old identity NULL; explicit headless bind-maildrop API requires all three scopes, current transport revision, confirmation and exact retained/downloaded bytes, and audits without deleting or rewriting content. Tests cover scopes, races, conflicts, rollback and migration preservation. Owning unittest suite and 250 focused pytest tests+67 subtests pass (one imported product helper excluded from pytest collection, not a skipped product regression). EN/DE operator workflow documented. No live POP3 or destructive provider operation performed.

Verification: tools/checks/check-focused.sh completed successfully,72/72 manifest architecture checks passed, and changed-source Ruff F plus git diff --check passed across 16 repositories. Tests use isolated databases/mock providers; no live data/provider mutation, commit, push, tag, deployment or release was performed. Changes remain local and unpublished: keep this issue OPEN until publication/rollout state is recorded. Before rollout, back up and test coordinated Mail/Files/Connectors/Datasources migrations on a database copy. PostgreSQL concurrency, real provider races and representative load testing remain operational verification, not a claimed certification.

## Local implementation receipt — 2026-09-08 POP3 duplicate identity now includes stable validated host/port/exact username within tenant/profile/server, preserving same-account secret rotation. Preview revision evidence is identity-bound; content/UIDL conflict is prevalidated for the entire batch. Additive migration leaves old identity NULL; explicit headless bind-maildrop API requires all three scopes, current transport revision, confirmation and exact retained/downloaded bytes, and audits without deleting or rewriting content. Tests cover scopes, races, conflicts, rollback and migration preservation. Owning unittest suite and 250 focused pytest tests+67 subtests pass (one imported product helper excluded from pytest collection, not a skipped product regression). EN/DE operator workflow documented. No live POP3 or destructive provider operation performed. Verification: tools/checks/check-focused.sh completed successfully,72/72 manifest architecture checks passed, and changed-source Ruff F plus git diff --check passed across 16 repositories. Tests use isolated databases/mock providers; no live data/provider mutation, commit, push, tag, deployment or release was performed. Changes remain local and unpublished: keep this issue OPEN until publication/rollout state is recorded. Before rollout, back up and test coordinated Mail/Files/Connectors/Datasources migrations on a database copy. PostgreSQL concurrency, real provider races and representative load testing remain operational verification, not a claimed certification.
Author
Owner

Source publication and database verification — 2026-09-08

Remote main branches and annotated tags were verified against the exact coordinated commits. The implementation-specific tests and EN/DE documentation recorded above remain the acceptance evidence. Cross-module focused checks, manifest shapes, 63 WebUI build configurations and 230 browser tests passed. This records source publication, not a package-registry release, runtime image, website deployment or production rollout.

Database correction to the previous local-only note: the already-running development server had automatically applied Files a2b3c4d5e701, Mail b5d6e7f8091a, Connectors d2a4c6e8f0b1 and Datasources e2b8d4a0f6c3 during reloads. Their heads and expected schema/indexes were verified in the local development PostgreSQL database. A current-state backup was captured and restored into a private, isolated PostgreSQL 16 cluster; this was not a pre-upgrade backup. The supported no-op migration preserved all 281 tables and 142,287 rows by per-row SHA-256 comparison, and retained the same migration heads. Files source identity recomputation matched all 7,385 rows (2 non-null identities, zero mismatches). Both Datasources PostgreSQL concurrency tests, previously skipped without a dedicated database, passed against that isolated cluster. The test cluster was stopped. No real mail delivery, POP3 retrieval/deletion, legacy mailbox reconciliation or external connector import was initiated.

Representative production load/deadline testing and real-provider race/compatibility verification remain separate operational rollout checks; this is not security certification. Operational follow-up: GovOPlaN/govoplan-core#299.

Closing this implementation issue: its code, regression, documentation and source-publication criteria are satisfied. Operational checks above are not claimed complete.

## Source publication and database verification — 2026-09-08 - govoplan-mail: [v0.1.28](https://git.add-ideas.de/GovOPlaN/govoplan-mail/src/tag/v0.1.28) · [d9262982147f](https://git.add-ideas.de/GovOPlaN/govoplan-mail/commit/d9262982147ff70b4edbc8990d0bf8ccb5f190a8) - govoplan-core: [v0.1.46](https://git.add-ideas.de/GovOPlaN/govoplan-core/src/tag/v0.1.46) · [6591aaa3fdaf](https://git.add-ideas.de/GovOPlaN/govoplan-core/commit/6591aaa3fdaf19d1900ccff326c56a0b0969d9fa) Remote main branches and annotated tags were verified against the exact coordinated commits. The implementation-specific tests and EN/DE documentation recorded above remain the acceptance evidence. Cross-module focused checks, manifest shapes, 63 WebUI build configurations and 230 browser tests passed. This records source publication, not a package-registry release, runtime image, website deployment or production rollout. Database correction to the previous local-only note: the already-running development server had automatically applied Files a2b3c4d5e701, Mail b5d6e7f8091a, Connectors d2a4c6e8f0b1 and Datasources e2b8d4a0f6c3 during reloads. Their heads and expected schema/indexes were verified in the local development PostgreSQL database. A current-state backup was captured and restored into a private, isolated PostgreSQL 16 cluster; this was not a pre-upgrade backup. The supported no-op migration preserved all 281 tables and 142,287 rows by per-row SHA-256 comparison, and retained the same migration heads. Files source identity recomputation matched all 7,385 rows (2 non-null identities, zero mismatches). Both Datasources PostgreSQL concurrency tests, previously skipped without a dedicated database, passed against that isolated cluster. The test cluster was stopped. No real mail delivery, POP3 retrieval/deletion, legacy mailbox reconciliation or external connector import was initiated. Representative production load/deadline testing and real-provider race/compatibility verification remain separate operational rollout checks; this is not security certification. Operational follow-up: https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/299. Closing this implementation issue: its code, regression, documentation and source-publication criteria are satisfied. Operational checks above are not claimed complete. <!-- govoplan-integrity-publication-20260908 -->
zemion removed the
status
in-progress
label 2026-09-08 12:57:24 +02:00
Sign in to join this conversation.
No labels
priority
p1
type
bug
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-mail#24