Document live IMAP mailbox lifecycle
This commit is contained in:
@@ -171,8 +171,8 @@ review does not mark an open live test as passed.
|
||||
| IMAP-02 | Port 143 STARTTLS, pre-TLS `LOGINDISABLED`, tagged `NO` for plaintext LOGIN, repeated STARTTLS rejection | [PASS](test-evidence/0.7-r1.md#imap-01020304) | | |
|
||||
| IMAP-03 | Port 993 TLS, LOGIN, SASL PLAIN, and SASL LOGIN | [PASS](test-evidence/0.7-r1.md#imap-01020304) | | |
|
||||
| IMAP-04 | CAPABILITY, NOOP, LOGOUT, ID, and NAMESPACE | [PASS](test-evidence/0.7-r1.md#imap-01020304) | | |
|
||||
| IMAP-05 | LIST, LSUB, extended LIST, LIST-STATUS, hierarchy quoting | | | |
|
||||
| IMAP-06 | CREATE, DELETE, RENAME, SUBSCRIBE, UNSUBSCRIBE | | | |
|
||||
| IMAP-05 | LIST, LSUB, extended LIST, LIST-STATUS, hierarchy quoting | [PASS](test-evidence/0.7-r1.md#imap-0506) | | |
|
||||
| IMAP-06 | CREATE, DELETE, RENAME, SUBSCRIBE, UNSUBSCRIBE | [PASS](test-evidence/0.7-r1.md#imap-0506) | | |
|
||||
| IMAP-07 | SELECT, EXAMINE, STATUS/SIZE, CHECK, CLOSE, UNSELECT | | | |
|
||||
| IMAP-08 | APPEND, LITERAL+, APPENDLIMIT, flags/date, oversized literals | | | |
|
||||
| IMAP-09 | FETCH/UID FETCH body, headers, partials, flags, envelope, binary | | | |
|
||||
|
||||
@@ -3460,3 +3460,41 @@ IMAP-01/02/03/04 PASS host=127.0.0.1 starttls=143/TLSv1.3 imaps=993/TLSv1.3 prot
|
||||
|
||||
The test only authenticates and logs out. It does not create, alter, or
|
||||
delete any mailbox or message and leaves the service configuration unchanged.
|
||||
|
||||
## IMAP-05/06
|
||||
|
||||
Result: **PASS**
|
||||
|
||||
The installed `9bb5eb8e` GCC 15.3.0 debug build was exercised on 2026-07-29
|
||||
with the reusable `imap-mailbox-check.py`. The test used disposable mailbox
|
||||
names containing spaces and multiple hierarchy levels. It verified the
|
||||
reported hierarchy delimiter, LIST with both `%` and `*`, exact and recursive
|
||||
LSUB, LIST-EXTENDED selection options and CHILDREN information, and
|
||||
LIST-STATUS responses.
|
||||
|
||||
CREATE left new mailboxes unsubscribed until an explicit SUBSCRIBE. RENAME
|
||||
moved the complete hierarchy without changing any child or grandchild suffix.
|
||||
UNSUBSCRIBE removed only the subscription. DELETE removed an empty leaf, and
|
||||
deleting a parent with inferiors retained its children while converting the
|
||||
parent into a `\NoSelect` hierarchy placeholder. The test then removed all
|
||||
disposable objects depth-first and verified that none remained.
|
||||
|
||||
The live pass exposed and fixed three issues before succeeding: CREATE had
|
||||
implicitly subscribed folders, recursive Store rename truncated hierarchy
|
||||
suffixes, and Store commands did not quote paths containing spaces when
|
||||
converting a deleted parent to hierarchy-only state. Focused native coverage
|
||||
now exercises SPECIAL-USE creation, LIST-EXTENDED parsing, and the exact SQL
|
||||
rename boundary for children, grandchildren, and similarly prefixed
|
||||
mailboxes.
|
||||
|
||||
The behavior was also compared directly with current Cyrus IMAP source:
|
||||
subscription is independent of mailbox creation, hierarchy rename preserves
|
||||
descendants, and deleting a mailbox with inferiors leaves the hierarchy
|
||||
available for those descendants.
|
||||
|
||||
```text
|
||||
IMAP-05/06 PASS host=127.0.0.1:993 delimiter=/ hierarchy=quoted list=percent/star lsub=subscribed-only extended=subscribed/children/list-status lifecycle=create/rename/sub/unsub/delete delete-with-inferiors=noselect/preserved cleanup=yes
|
||||
```
|
||||
|
||||
The test creates only uniquely named disposable mailboxes for `test1`, removes
|
||||
them before exit, and does not alter service configuration or existing mail.
|
||||
|
||||
Reference in New Issue
Block a user