]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
ftpserver.pl: Moved specifying the test number from the RCPT address
authorSteve Holme <steve_holme@hotmail.com>
Sun, 29 Sep 2013 08:53:49 +0000 (09:53 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 29 Sep 2013 09:02:00 +0000 (10:02 +0100)
...to the client address as this frees the RCPT strings to contain
just an email address and by passing the test number into curl as the
client address remains consistent with POP3 and IMAP tests as they are
specified in the URL.

23 files changed:
tests/data/test1320
tests/data/test1406
tests/data/test1507
tests/data/test900
tests/data/test901
tests/data/test902
tests/data/test903
tests/data/test904
tests/data/test905
tests/data/test906
tests/data/test907
tests/data/test908
tests/data/test909
tests/data/test910
tests/data/test911
tests/data/test912
tests/data/test913
tests/data/test914
tests/data/test915
tests/data/test916
tests/data/test917
tests/data/test918
tests/ftpserver.pl

index 7fbefc9d005d60e1de95131426cbbb5740b74f03..4d6c8ea85c05883fb5c24bf9e7e21b5f007746b1 100644 (file)
@@ -35,7 +35,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://smtp.1320:%SMTPPORT/user --mail-rcpt 1320@example.com --mail-from 1320@example.com -T - -p -x %HOSTIP:%PROXYPORT
+smtp://smtp.1320:%SMTPPORT/1320 --mail-rcpt 1320@example.com --mail-from 1320@example.com -T - -p -x %HOSTIP:%PROXYPORT
 </command>
 </client>
 
@@ -46,7 +46,7 @@ smtp://smtp.1320:%SMTPPORT/user --mail-rcpt 1320@example.com --mail-from 1320@ex
 ^User-Agent: curl/.*
 </strip>
 <protocol>
-EHLO user\r
+EHLO 1320\r
 MAIL FROM:<1320@example.com>\r
 RCPT TO:<1320@example.com>\r
 DATA\r
index b330691fa237375010e361e4f69d8627fbcb5050..819e44313cb9b9258e039e8f235c8071eed63041 100644 (file)
@@ -32,7 +32,7 @@ To: another
 body\r
 </file>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 1406@example.com --mail-rcpt 1406@foobar.example.com --mail-from 1406@example.com -T log/test1406.eml --libcurl log/test1406.c
+smtp://%HOSTIP:%SMTPPORT/1406 --mail-rcpt 1406@example.com --mail-rcpt 1406@foobar.example.com --mail-from 1406@example.com -T log/test1406.eml --libcurl log/test1406.c
 </command>
 </client>
 
@@ -40,7 +40,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 1406@example.com --mail-rcpt 1406@foob
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 1406\r
 MAIL FROM:<1406@example.com> SIZE=38\r
 RCPT TO:<1406@example.com>\r
 RCPT TO:<1406@foobar.example.com>\r
@@ -73,7 +73,7 @@ int main(int argc, char *argv[])
 
   hnd = curl_easy_init();
   curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)38);
-  curl_easy_setopt(hnd, CURLOPT_URL, "smtp://%HOSTIP:%SMTPPORT/user");
+  curl_easy_setopt(hnd, CURLOPT_URL, "smtp://%HOSTIP:%SMTPPORT/1406");
   curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
   curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L);
   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
index 76ec5320dce61c25f33006b699340d436f2a8a65..ab7b47eb31b54b61f438c0105db1b05810b50283 100644 (file)
@@ -32,7 +32,7 @@ To: another
 body
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user
+smtp://%HOSTIP:%SMTPPORT/1507
 </command>
 </client>
 
@@ -40,7 +40,7 @@ smtp://%HOSTIP:%SMTPPORT/user
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 1507\r
 MAIL FROM:<1507-realuser@example.com>\r
 RCPT TO:<1507-recipient@example.com>\r
 DATA\r
index 5c30ec6206bfbc7ae912a60bb66e63215c745275..36f063388ff72dc8666f22f7870b0ea2bb84bdeb 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 900@example.com --mail-from 900@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/900 --mail-rcpt 900@example.com --mail-from 900@example.com -T -
 </command>
 </client>
 
@@ -34,7 +34,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 900@example.com --mail-from 900@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 900\r
 MAIL FROM:<900@example.com>\r
 RCPT TO:<900@example.com>\r
 DATA\r
index 7d660868ff24c45fc1501f533d247e2a23b48302..7836dcfb3dd60cd0b58c946c811a13a042305b1d 100644 (file)
@@ -32,7 +32,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 901@example.com --mail-from 901@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/901 --mail-rcpt 901@example.com --mail-from 901@example.com -T -
 </command>
 </client>
 
@@ -40,7 +40,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 901@example.com --mail-from 901@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 901\r
 MAIL FROM:<901@example.com>\r
 RCPT TO:<901@example.com>\r
 DATA\r
index e1855013923caa01e1e9b0006931f23e53bc005a..2994eeff3f0ec531b1685e8ef03a016e5f610ee8 100644 (file)
@@ -31,7 +31,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 902@example.com --mail-from 902@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/902 --mail-rcpt 902@example.com --mail-from 902@example.com -T -
 </command>
 </client>
 
@@ -39,8 +39,8 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 902@example.com --mail-from 902@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
-HELO user\r
+EHLO 902\r
+HELO 902\r
 MAIL FROM:<902@example.com>\r
 RCPT TO:<902@example.com>\r
 DATA\r
index 56ab36ebb4d1152f26ff210520cf5556b020f386..1b4530dc1118b9f70c1d386d6eb6119e0ab09eef 100644 (file)
@@ -31,7 +31,7 @@ SMTP plain authentication
 mail body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 903@example.com --mail-from 903@example.com -u test:1234 -T -
+smtp://%HOSTIP:%SMTPPORT/903 --mail-rcpt 903@example.com --mail-from 903@example.com -u test:1234 -T -
 </command>
 </client>
 
@@ -39,7 +39,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 903@example.com --mail-from 903@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 903\r
 AUTH PLAIN\r
 dGVzdAB0ZXN0ADEyMzQ=\r
 MAIL FROM:<903@example.com>\r
index a1d47ba5e82378d9584491b42f04c30e42aac27e..cb4014a5eda5d25596a28487ed698a3d73c0969f 100644 (file)
@@ -31,7 +31,7 @@ SMTP login authentication
 mail body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 904@example.com --mail-from 904@example.com -u test:1234 -T -
+smtp://%HOSTIP:%SMTPPORT/904 --mail-rcpt 904@example.com --mail-from 904@example.com -u test:1234 -T -
 </command>
 </client>
 
@@ -39,7 +39,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 904@example.com --mail-from 904@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 904\r
 AUTH LOGIN\r
 dGVzdA==\r
 MTIzNA==\r
index e6c4864eab18d78e7fe43abcf36f53481c15e4bc..214bc1822c991596d78437cbefece9f02ad52270 100644 (file)
@@ -34,7 +34,7 @@ SMTP CRAM-MD5 authentication
 mail body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 905@example.com --mail-from 905@example.com -u tim:tanstaaftanstaaf -T -
+smtp://%HOSTIP:%SMTPPORT/905 --mail-rcpt 905@example.com --mail-from 905@example.com -u tim:tanstaaftanstaaf -T -
 </command>
 </client>
 
@@ -42,7 +42,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 905@example.com --mail-from 905@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 905\r
 AUTH CRAM-MD5\r
 dGltIGI5MTNhNjAyYzdlZGE3YTQ5NWI0ZTZlNzMzNGQzODkw\r
 MAIL FROM:<905@example.com>\r
index d87f70e577debf6c308c1d724785be5dc2f6f17e..f60cec3f7ceabbc44c03cf673832e436561dd1a8 100644 (file)
@@ -39,7 +39,7 @@ LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
 mail body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 906@example.com --mail-from 906@example.com -u testuser:testpass -T -
+smtp://%HOSTIP:%SMTPPORT/906 --mail-rcpt 906@example.com --mail-from 906@example.com -u testuser:testpass -T -
 </command>
 </client>
 
@@ -47,7 +47,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 906@example.com --mail-from 906@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 906\r
 AUTH NTLM\r
 TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoKBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyY3VybGhvc3Q=\r
index 0265f2605aae02bda6ba9f22c7d79df26c0ce1fe..7bdde410ec7709b0b4a5682f6e2936f488c38a05 100644 (file)
@@ -30,7 +30,7 @@ SMTP plain authentication with initial response
 mail body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 907@example.com --mail-from 907@example.com -u test:1234 --sasl-ir -T -
+smtp://%HOSTIP:%SMTPPORT/907 --mail-rcpt 907@example.com --mail-from 907@example.com -u test:1234 --sasl-ir -T -
 </command>
 </client>
 
@@ -38,7 +38,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 907@example.com --mail-from 907@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 907\r
 AUTH PLAIN dGVzdAB0ZXN0ADEyMzQ=\r
 MAIL FROM:<907@example.com>\r
 RCPT TO:<907@example.com>\r
index f77a61a78609fa8b043dc22d837dbd40ff109d32..0c1667a3b594608ea7aec03f828273c76dad89e1 100644 (file)
@@ -30,7 +30,7 @@ SMTP login authentication with initial response
 mail body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 908@example.com --mail-from 908@example.com -u test:1234 --sasl-ir -T -
+smtp://%HOSTIP:%SMTPPORT/908 --mail-rcpt 908@example.com --mail-from 908@example.com -u test:1234 --sasl-ir -T -
 </command>
 </client>
 
@@ -38,7 +38,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 908@example.com --mail-from 908@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 908\r
 AUTH LOGIN dGVzdA==\r
 MTIzNA==\r
 MAIL FROM:<908@example.com>\r
index b92a872dd08646305e8ce881e2ac0a4500dc090a..ffe42ba428466cf0235344da6e5558ed7be63e3e 100644 (file)
@@ -30,7 +30,7 @@ To: another
 body\r
 </file>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 909@example.com --mail-from 909@example.com -T log/test909.eml
+smtp://%HOSTIP:%SMTPPORT/909 --mail-rcpt 909@example.com --mail-from 909@example.com -T log/test909.eml
 </command>
 </client>
 
@@ -38,7 +38,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 909@example.com --mail-from 909@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 909\r
 MAIL FROM:<909@example.com>\r
 RCPT TO:<909@example.com>\r
 DATA\r
index ecf7557e518fc1c1f642c7cf36fd28a2219059d0..a3bf480bd33513c0c67584688570223f852241bb 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 910@example.com --mail-from 910@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/910 --mail-rcpt 910@example.com --mail-from 910@example.com -T -
 </command>
 </client>
 
@@ -34,7 +34,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 910@example.com --mail-from 910@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 910\r
 MAIL FROM:<910@example.com>\r
 RCPT TO:<910@example.com>\r
 DATA\r
index 18a8fc62a81ed1223a6e1b0f670ab4fb9fbc6721..206f8afe066ebaad41d0c5c88b89a25029631b89 100644 (file)
@@ -25,7 +25,7 @@ SMTP with no mail data
 </stdin>
 
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 911@example.com --mail-from 911@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/911 --mail-rcpt 911@example.com --mail-from 911@example.com -T -
 </command>
 </client>
 
@@ -33,7 +33,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 911@example.com --mail-from 911@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 911\r
 MAIL FROM:<911@example.com>\r
 RCPT TO:<911@example.com>\r
 DATA\r
index 5e3718400e4769eaf2a3c62e93c7f19d15b1dfea..04abfd79a0e88aae32b8bd68f9fa9b52d93d1305 100644 (file)
@@ -30,7 +30,7 @@ To: another
 body\r
 </file>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 912@example.com --mail-from 912@example.com -T log/test912.eml
+smtp://%HOSTIP:%SMTPPORT/912 --mail-rcpt 912@example.com --mail-from 912@example.com -T log/test912.eml
 </command>
 </client>
 
@@ -38,7 +38,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 912@example.com --mail-from 912@exampl
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 912\r
 MAIL FROM:<912@example.com> SIZE=38\r
 RCPT TO:<912@example.com>\r
 DATA\r
index ceabe1182b1fcb1fe06b89fb6ac11275769c95ff..8c016e930e4b07e90620cc348bd4ca2c08a387a2 100644 (file)
@@ -30,7 +30,7 @@ To: another
 body\r
 </file>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 913@example.com --mail-from 913@example.com -T log/test913.eml
+smtp://%HOSTIP:%SMTPPORT/913 --mail-rcpt 913@example.com --mail-from 913@example.com -T log/test913.eml
 </command>
 </client>
 
@@ -41,7 +41,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 913@example.com --mail-from 913@exampl
 55
 </errorcode>
 <protocol>
-EHLO user\r
+EHLO 913\r
 MAIL FROM:<913@example.com> SIZE=38\r
 QUIT\r
 </protocol>
index c2599f64a6137cc6f5f25cdf2bb24cac9f85f949..cc97bdd9fc3a154fe0bd5f37b42dadaf8cb85f4e 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body\r
 </file>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 914@example.com --mail-from invalid -T log/test914.eml
+smtp://%HOSTIP:%SMTPPORT/914 --mail-rcpt 914@example.com --mail-from invalid -T log/test914.eml
 </command>
 </client>
 
@@ -37,7 +37,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 914@example.com --mail-from invalid -T
 55
 </errorcode>
 <protocol>
-EHLO user\r
+EHLO 914\r
 MAIL FROM:<invalid>\r
 QUIT\r
 </protocol>
index da851c34c6aa25d5bae5b162044333a91e970efd..3b5b62e16770504ec62c5d53bd2af9c24fd46e99 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 915@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/915 --mail-rcpt 915@example.com -T -
 </command>
 </client>
 
@@ -34,7 +34,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 915@example.com -T -
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 915\r
 MAIL FROM:<>\r
 RCPT TO:<915@example.com>\r
 DATA\r
index 3a9ccea187456f45fcdfb8d9f7e93367c3253214..f2e0aedd066423620d6790550660efb0579219ee 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt invalid --mail-from 916@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/916 --mail-rcpt invalid --mail-from 916@example.com -T -
 </command>
 </client>
 
@@ -37,7 +37,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt invalid --mail-from 916@example.com -T
 55
 </errorcode>
 <protocol>
-EHLO user\r
+EHLO 916\r
 MAIL FROM:<916@example.com>\r
 RCPT TO:<invalid>\r
 QUIT\r
index d5dc4f8efaaab93a4ee84e65bef4005b0d473726..23a05ecb10bfb250b82050153d49dbbce76646b7 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 917@example.com --mail-rcpt 917@foo.example.com --mail-rcpt 917@bar.example.com --mail-rcpt 917@foobar.example.com --mail-rcpt 917@another.example.com --mail-from 917@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/917 --mail-rcpt 917@example.com --mail-rcpt 917@foo.example.com --mail-rcpt 917@bar.example.com --mail-rcpt 917@foobar.example.com --mail-rcpt 917@another.example.com --mail-from 917@example.com -T -
 </command>
 </client>
 
@@ -34,7 +34,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 917@example.com --mail-rcpt 917@foo.ex
 # Verify data after the test has been "shot"
 <verify>
 <protocol>
-EHLO user\r
+EHLO 917\r
 MAIL FROM:<917@example.com>\r
 RCPT TO:<917@example.com>\r
 RCPT TO:<917@foo.example.com>\r
index be9ec853f378085dfaf221aeb0d01a5c67291b37..4817e281478f02e9717dfe9daf46bb6733938b2c 100644 (file)
@@ -26,7 +26,7 @@ To: another
 body\r
 </stdin>
  <command>
-smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 918@example.com --mail-rcpt invalid --mail-rcpt 918@bar.example.com --mail-rcpt sTrAnGe --mail-rcpt 918@another.example.com --mail-from 918@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/918 --mail-rcpt 918@example.com --mail-rcpt invalid --mail-rcpt 918@bar.example.com --mail-rcpt sTrAnGe --mail-rcpt 918@another.example.com --mail-from 918@example.com -T -
 </command>
 </client>
 
@@ -37,7 +37,7 @@ smtp://%HOSTIP:%SMTPPORT/user --mail-rcpt 918@example.com --mail-rcpt invalid --
 55\r
 </errorcode>\r
 <protocol>
-EHLO user\r
+EHLO 918\r
 MAIL FROM:<918@example.com>\r
 RCPT TO:<918@example.com>\r
 RCPT TO:<invalid>\r
index 838d849a0fedc6aabd321ae8f600f5d82ab21f4a..907846ab9b4315d55df54aab1cd2e8d5245f3fe0 100755 (executable)
@@ -685,12 +685,12 @@ sub close_dataconn {
 ################ SMTP commands
 ################
 
-# what set by "RCPT"
-my $smtp_rcpt;
-
 # The type of server (SMTP or ESMTP)
 my $smtp_type;
 
+# The client (which normally contains the test number)
+my $smtp_client;
+
 sub EHLO_smtp {
     my ($client) = @_;
 
@@ -753,6 +753,9 @@ sub EHLO_smtp {
                 sendcontrol "250 $d\r\n";
             }
         }
+
+        # Store the client (as it may contain the test number)
+        $smtp_client = $client;
     }
 
     return 0;
@@ -784,6 +787,9 @@ sub HELO_smtp {
 
         # Send the HELO response
         sendcontrol "250 $smtp_type pingpong test server Hello $client\r\n";
+
+        # Store the client (as it may contain the test number)
+        $smtp_client = $client;
     }
 
     return 0;
@@ -854,11 +860,11 @@ sub RCPT_smtp {
         sendcontrol "501 Unrecognized parameter\r\n";
     }
     else {
-        $smtp_rcpt = $1;
+        my $to = $1;
 
         # Validate the to address (only a valid email address inside <> is
         # allowed, such as <user@example.com>)
-        if ($smtp_rcpt !~
+        if ($to !~
             /^<([a-zA-Z0-9._%+-]+)\@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})>$/) {
             sendcontrol "501 Invalid address\r\n";
         }
@@ -872,17 +878,17 @@ sub RCPT_smtp {
 
 sub DATA_smtp {
     my ($args) = @_;
-    my $testno = $smtp_rcpt;
 
     if ($args) {
         sendcontrol "501 Unrecognized parameter\r\n";
     }
+    elsif ($smtp_client !~ /^(\d*)$/)
+        sendcontrol "501 Invalid arguments\r\n";
+    }
     else {
-        $testno =~ s/^([^0-9]*)([0-9]+).*/$2/;
         sendcontrol "354 Show me the mail\r\n";
 
-        logmsg "===> rcpt $testno was $smtp_rcpt\n";
-
+        my $testno = $smtp_client;
         my $filename = "log/upload.$testno";
 
         logmsg "Store test number $testno in $filename\n";