POP3 DELE marks are wiped by STAT/LIST/UIDL #2
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
POP3Session._refresh_mailbox (proxy_server.py:225) calls self.deleted.clear(), and handle_stat, handle_list and handle_uidl all invoke _refresh_mailbox() on every call.
A normal client sequence (DELE 1; STAT; QUIT) loses the pending deletion: STAT clears the deleted set, so handle_quit expunges nothing.
RFC 1939 also requires the maildrop to be locked and static for the duration of the session; re-listing mid-session shifts message numbers under the client.
Fix:
Acceptance: