tests: Added empty response support to custom replies
authorSteve Holme <steve_holme@hotmail.com>
Wed, 23 Oct 2013 21:05:22 +0000 (22:05 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Wed, 23 Oct 2013 21:05:22 +0000 (22:05 +0100)
...and fixed up test869 as DIGEST-MD transcript is as follows:

S: Challenge
C: Authentication String
S: Continue Response
C: Empty String

tests/data/test869
tests/ftpserver.pl

index 71e5234..61dbc20 100644 (file)
@@ -15,7 +15,8 @@ RFC5034
 <servercmd>
 AUTH DIGEST-MD5
 REPLY AUTH + cmVhbG09ImN1cmwiLG5vbmNlPSI1MzAwZDE3YTFkNjk1YmQ0MTFlNGNkZjk2Zjk1NDhjMjNjZWQ2MTc1IixhbGdvcml0aG09bWQ1LXNlc3MscW9wPSJhdXRoIg==
-REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIxMjM0NTY3OCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJwb3AvY3VybCIscmVzcG9uc2U9YTA2OTE1YTA1ODA3ZDc0MTg0YTkxYjM2NjE2ZTZiOGM= +OK Login successful
+REPLY dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIxMjM0NTY3OCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJwb3AvY3VybCIscmVzcG9uc2U9YTA2OTE1YTA1ODA3ZDc0MTg0YTkxYjM2NjE2ZTZiOGM= +
+REPLY  +OK Login successful
 </servercmd>
 <data>
 From: me@somewhere\r
@@ -53,6 +54,7 @@ pop3://%HOSTIP:%POP3PORT/869 -u user:secret
 CAPA\r
 AUTH DIGEST-MD5\r
 dXNlcm5hbWU9InVzZXIiLHJlYWxtPSJjdXJsIixub25jZT0iNTMwMGQxN2ExZDY5NWJkNDExZTRjZGY5NmY5NTQ4YzIzY2VkNjE3NSIsY25vbmNlPSIxMjM0NTY3OCIsbmM9IjAwMDAwMDAxIixkaWdlc3QtdXJpPSJwb3AvY3VybCIscmVzcG9uc2U9YTA2OTE1YTA1ODA3ZDc0MTg0YTkxYjM2NjE2ZTZiOGM=\r
+\r
 RETR 869\r
 QUIT\r
 </protocol>
index 7e61c20..803273d 100755 (executable)
@@ -2729,9 +2729,14 @@ sub customize {
     logmsg "FTPD: Getting commands from log/ftpserver.cmd\n";
 
     while(<CUSTOM>) {
-        if($_ =~ /REPLY ([A-Za-z0-9+\/=]+) (.*)/) {
+        if($_ =~ /REPLY ([A-Za-z0-9+\/=]*) (.*)/) {
             $customreply{$1}=eval "qq{$2}";
-            logmsg "FTPD: set custom reply for $1\n";
+            if($1 eq "") {
+                logmsg "FTPD: set custom reply for empty response\n";
+            }
+            else {
+                logmsg "FTPD: set custom reply for $1\n";
+            }
         }
         elsif($_ =~ /COUNT ([A-Z]+) (.*)/) {
             # we blank the customreply for this command when having