Commit Graph

129 Commits

Author SHA1 Message Date
Mario Fetka 3b133a825e Add SIEVE-06 Cassandane comparison test and full-block evidence
Verify Bongo deduplicates "keep; keep;" and "keep; fileinto \"INBOX\";"
to a single delivered copy, matching Cyrus Cassandane's
test_dup_keep_keep/test_dup_keep_fileinto regression tests, while two
genuinely distinct fileinto targets still each receive their own copy.
Documents the duplicate-delivery fix found via this comparison, and
synthesizes the Pigeonhole cross-references and all six real bugs
found and fixed across the whole SIEVE-01..06 block.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 09:56:12 +02:00
Mario Fetka ae56c525cd Add SIEVE-05 ManageSieve safety test and evidence
Verify invalid-syntax rejection, script size/quota boundaries,
duplicate-name overwrite semantics, script-name traversal/control-char
rejection (with ".." correctly accepted, since Bongo's SQL-backed
store has no filesystem traversal risk), cross-user isolation, and
pre-authentication command safety. Documents the ConnReadLine/
ConnReadAnswer NUL-byte hang fix and the ConnReadLine overlong-line
nul-termination fix, both found and fixed earlier in this block.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-01 08:05:49 +02:00
Mario Fetka 8dbc0719fb Add SIEVE-04 live Sieve execution test and evidence
Verify fileinto (variables-interpolated target, implicit-keep
suppression) and vacation (auto-reply delivery, dedup interval) end
to end through real SMTP delivery, and that envelope/body are rejected
cleanly at upload. Documents the fileinto/MOVE queue-parsing fix, the
vacation/reject bare-recipient address qualification fix, and the
envelope/body Sieve-engine limitation, all found and fixed earlier in
this block.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 21:02:19 +02:00
Mario Fetka 8e86f3745d Add SIEVE-03 ManageSieve lifecycle test and evidence
Verify SETACTIVE atomicity/idempotence, RENAMESCRIPT active-flag
preservation and collision handling, the DELETESCRIPT NONEXISTENT/ACTIVE
fix under a live session, LOGOUT pre-auth behavior, and activation
persistence across reconnects, cross-checked against Dovecot
Pigeonhole's managesieve command handlers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 16:17:52 +02:00
Mario Fetka 961d43b8a2 Add SIEVE-02 ManageSieve script-management test and evidence
Verify HAVESPACE/CHECKSCRIPT/PUTSCRIPT/LISTSCRIPTS/GETSCRIPT against
the live port 4190 listener, confirming the HAVESPACE and DELETESCRIPT
RFC 5804 fixes and comparing against Dovecot Pigeonhole's managesieve
command handlers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 16:13:47 +02:00
Mario Fetka 0a6cfea7ed Add SIEVE-01 ManageSieve auth test and evidence
Verify greeting/STARTTLS/pipeline-discard/SASL PLAIN+LOGIN behavior
against the live port 4190 listener, matching Dovecot Pigeonhole's
managesieve command set.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 15:49:20 +02:00
Mario Fetka 389e990e3d Renumber duplicate SCAN-03/SCAN-04 matrix rows to SCAN-08/SCAN-09
The scanner-outage-policy and update-channel rows duplicated the IDs
already used for the collector-scan-path and runtime-EICAR/GTUBE
rows. No evidence entries referenced the duplicated IDs yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 15:31:47 +02:00
Mario Fetka 49838c0d12 Add SMTP-34 Postfix smtp-source/smtp-sink interop live test
Verifies concurrent SMTP/LMTP load, soft-reject and disconnect
failure injection, and Queue retry/recovery using upstream Postfix's
own test tools, built locally since installing mail-mta/postfix
would remove mail-mta/bongo.

The investigation initially suspected a real concurrent-LMTP message
loss bug in Bongo; extensive isolated reproduction (see the evidence
entry) traced it entirely to two bugs in this test script: a
doubled sudo prefix that silently broke every Queue state query, and
a capture check that compared dump-file counts before bongosmtpc had
finished flushing the last LMTP session. No Bongo source change
resulted. Passed twice consecutively end to end.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 15:10:06 +02:00
Mario Fetka f3dfad01ba Add POP-06 shared Store quota reservation live test
Verifies DELE alone, and an abrupt disconnect right after DELE, leave
the account's quota Used bytes unchanged; DELE+RSET+QUIT also leaves
it unchanged; and only DELE+QUIT durably frees the space. Completes
the POP-01..07 block. No source change required.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 08:12:30 +02:00
Mario Fetka cbf5b80465 Add POP-05 UTF8/STLS-gating/PIPELINING/malformed-input live test
Verifies UTF8 mode (including a corrected idempotent-repeat
assumption), STLS rejection after UTF8, byte-correct UTF-8 RETR vs.
the ASCII-only gate without UTF8 mode, pipelined command ordering,
RFC 2449 response codes, oversized-line/unknown-command handling, and
documents the 900s idle timeout from source (no fast-test config knob
exists for it, unlike SMTP-25). No source change required.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 08:08:44 +02:00
Mario Fetka 9d73e71f12 Add POP-04 DELE/RSET/NOOP/QUIT commit and rollback live test
Verifies pre-login bad-state rejection, that DELE without a following
QUIT never reaches the durable Store DELETE path (confirmed via a
fresh IMAP check after an abrupt disconnect), RSET restoring deleted
flags, QUIT's durable commit, and DELE error handling. No source
change required.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 07:59:15 +02:00
Mario Fetka 69a11b5d20 Add POP-03 STAT/LIST/UIDL/RETR/TOP and dot-transparency live test
Seeds IMAP-appended fixtures covering plain, dot-stuffed, and bare-LF
bodies, then verifies STAT/LIST/UIDL consistency and byte-correct
RETR/TOP output against the live server, with UIDL/RETR semantics
cross-checked against Dovecot's pop3-commands.c. No source change
required.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 07:53:22 +02:00
Mario Fetka 3b92a6e859 Add POP-02 TLS USER/PASS and shared SASL authentication live test
Verifies port 995 TLS, USER/PASS login, malformed-argument and
bad-password handling, and PLAIN/LOGIN SASL mechanisms shared with
SMTP/IMAP. Cross-checked the repeated-USER-before-PASS semantics
against Dovecot's pop3-login and fixed a wrong test assumption rather
than the server, which already matches Dovecot's behavior.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 07:49:56 +02:00
Mario Fetka 097592191e Add POP-01 CAPA/STLS credential-gating live test
Verifies the cleartext CAPA advertisement, USER/AUTH/PASS rejection
before STLS, RFC 2595 pipelined-plaintext discard, and post-STLS
capability/state transitions, with a live Cyrus fixture reference for
the CAPA shape. No source defect found; documents the existing
STARTTLS-gated behavior against the matrix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 07:47:00 +02:00
Mario Fetka 1164b32183 Record POP-07 evidence for the fixed live POP3/Store path
Documents the Dovecot ImapTest POP3 profile run against the rebuilt
live service, including the SIGABRT this exact path previously hit
before the FlushOutStreamEx fix and the live SEARCH HEADER
reproduction against the crash fixture.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 07:36:29 +02:00
Mario Fetka ac7e3cf640 Complete upstream IMAP validation and bound header search
Debian Trixie package bundle / packages (push) Failing after 11m25s
2026-07-30 22:38:12 +02:00
Mario Fetka a1163d5ed7 Document IMAP over-quota verification 2026-07-30 08:13:48 +02:00
Mario Fetka 56cfee5e44 Verify RFC 9208 IMAP quota queries 2026-07-30 02:41:04 +02:00
Mario Fetka b88ce2a634 Verify IMAP restart consistency 2026-07-30 02:31:21 +02:00
Mario Fetka 6e17eff2f3 Document IMAP robustness verification 2026-07-30 02:14:23 +02:00
Mario Fetka 1f026e5bd1 Document legacy IMAP4 compatibility tests 2026-07-30 01:57:29 +02:00
Mario Fetka e4d3560180 Document completed IMAP special-use tests 2026-07-29 23:45:30 +02:00
Mario Fetka 579ce8e097 Document completed IMAP UTF-8 tests 2026-07-29 23:23:50 +02:00
Mario Fetka 212f0b803b Document completed IMAP IDLE tests 2026-07-29 23:01:20 +02:00
Mario Fetka cf0a7d9be8 Document completed IMAP extended search tests 2026-07-29 22:37:23 +02:00
Mario Fetka f7ffc3317b Document completed IMAP search coverage 2026-07-29 18:53:41 +02:00
Mario Fetka d0a838365b Document IMAP expunge release coverage 2026-07-29 14:41:11 +02:00
Mario Fetka 9b410c8e60 Document IMAP 01 through 11 ImapTest coverage 2026-07-29 14:06:35 +02:00
Mario Fetka 26b6a4b757 Record IMAP FETCH and STORE release coverage 2026-07-29 12:17:45 +02:00
Mario Fetka 6770651877 Add upstream protocol test adapters
Debian Trixie package bundle / packages (push) Successful in 22m26s
2026-07-29 10:11:44 +02:00
Mario Fetka 9fc7fc6f80 Document current-server IMAP source audit 2026-07-29 09:44:54 +02:00
Mario Fetka 03a0226808 Document live IMAP selected state 2026-07-29 08:17:07 +02:00
Mario Fetka cb6782d11f Document live IMAP mailbox lifecycle 2026-07-29 07:55:16 +02:00
Mario Fetka 15c86d49b8 Cover basic live IMAP commands 2026-07-29 07:38:34 +02:00
Mario Fetka a5fbb83b3b Validate live IMAP authentication and TLS 2026-07-29 07:36:55 +02:00
Mario Fetka 461a65b668 Record Store and TLSRPT aggregation coverage 2026-07-28 20:18:01 +02:00
Mario Fetka 64139157ef Document historical Bongo database boundaries 2026-07-28 16:57:23 +02:00
Mario Fetka 139572dd34 docs: record SMTP command safety evidence 2026-07-28 15:10:45 +02:00
Mario Fetka d90af092cd docs: record SMTP-24 live evidence 2026-07-28 14:48:53 +02:00
Mario Fetka 0f2fb72229 docs: record SMTP-23 live evidence 2026-07-28 14:14:46 +02:00
Mario Fetka 41f05c77f6 docs: record SMTP-22 live evidence 2026-07-28 14:01:09 +02:00
Mario Fetka bc675e75ba docs: record SMTP-21 live evidence 2026-07-28 12:12:31 +02:00
Mario Fetka b05123944e docs: record SMTP-19 live evidence 2026-07-28 10:09:19 +02:00
Mario Fetka 36173260a5 tests: complete SMTP recipient matrix 2026-07-28 08:32:12 +02:00
Mario Fetka 2b78d16791 tests: record SMTP IDNA live pass 2026-07-27 21:44:47 +02:00
Mario Fetka 0bae0e06cb tests: record SMTPUTF8 live validation 2026-07-27 20:39:57 +02:00
Mario Fetka 6cf7528d3b tests: verify BINARYMIME remains unavailable 2026-07-27 19:56:16 +02:00
Mario Fetka b241ec0508 docs: record Postfix-aligned BDAT live test 2026-07-27 19:48:23 +02:00
Mario Fetka bcb6f99c61 docs: record SMTP DSN release evidence 2026-07-27 19:24:00 +02:00
Mario Fetka 3046e5431d docs: compare SMTP matrix with Postfix 3.11.1
Debian Trixie package bundle / packages (push) Successful in 21m52s
2026-07-27 18:48:07 +02:00