ftpserver.pl: Added support for POP3 UIDL command
authorSteve Holme <steve_holme@hotmail.com>
Sun, 8 Sep 2013 21:30:10 +0000 (22:30 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Mon, 9 Sep 2013 16:10:38 +0000 (17:10 +0100)
tests/ftpserver.pl

index 0b4e1a6..0b495c6 100755 (executable)
@@ -564,6 +564,7 @@ sub protocolsetup {
             'QUIT' => \&QUIT_pop3,
             'RETR' => \&RETR_pop3,
             'STAT' => \&STAT_pop3,
+            'UIDL' => \&UIDL_pop3,
         );
         %displaytext = (
             'USER' => '+OK We are happy you popped in!',
@@ -1377,6 +1378,28 @@ sub NOOP_pop3 {
     return 0;
 }
 
+sub UIDL_pop3 {
+    # This is a built-in fake-message UID list
+    my @data = (
+        "1 1\r\n",
+        "2 2\r\n",
+        "3 4\r\n", # Note that UID 3 is a simulated "deleted" message
+    );
+
+    logmsg "retrieve a message UID list\n";
+
+    sendcontrol "+OK Listing starts\r\n";
+
+    for my $d (@data) {
+        sendcontrol $d;
+    }
+
+    # End with the magic 3-byte end of listing marker
+    sendcontrol ".\r\n";
+
+    return 0;
+}
+
 sub QUIT_pop3 {
     sendcontrol "+OK byebye\r\n";