ftpserver.pl: Corrected POP3 LIST as message numbers should be contiguous
authorSteve Holme <steve_holme@hotmail.com>
Sun, 8 Sep 2013 19:16:49 +0000 (20:16 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 8 Sep 2013 19:19:20 +0000 (20:19 +0100)
The message numbers given in the LIST response are an index into the
list, which are only valid for the current session, rather than being a
unique message identifier. An index would only be missing from the LIST
response if a DELE command had been issued within the same session and
had not been committed by the end of session QUIT command. Once
committed the POP3 server will regenerate the message numbers in the
next session to be contiguous again. As such our LIST response should
list message numbers contiguously until we support a DELE command in the
same session.

Should a POP3 user require the unique message ID for any or all
messages then they should use the extended UIDL command. This command
will be supported by the test ftpserver in an upcoming commit.

tests/data/test853
tests/ftpserver.pl

index 934837f..3d2a671 100644 (file)
@@ -19,7 +19,7 @@ SLOWDOWN
 <datacheck>
 1 100\r
 2 4294967400\r
-4 200\r
+3 200\r
 </datacheck>
 </reply>
 
index 7fac030..9029267 100755 (executable)
@@ -1280,7 +1280,7 @@ sub LIST_pop3 {
     my @data = (
         "1 100\r\n",
         "2 4294967400\r\n",    # > 4 GB
-        "4 200\r\n", # Note that message 3 is a simulated "deleted" message
+        "3 200\r\n",
     );
 
     logmsg "retrieve a message list\n";