diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index 36e47571a..588f98d5d 100755 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -758,6 +758,37 @@ sub EHLO_smtp { return 0; } +sub HELO_smtp { + my ($client) = @_; + + if($client eq "verifiedserver") { + # This is the secret command that verifies that this actually is + # the curl test server + sendcontrol "554 WE ROOLZ: $$\r\n"; + + if($verbose) { + print STDERR "FTPD: We returned proof we are the test server\n"; + } + + logmsg "return proof we are we\n"; + } + else { + # TODO: Get the IP address of the client connection to use in the HELO + # response when the client doesn't specify one but for now use 127.0.0.1 + if (!$client) { + $client = "[127.0.0.1]"; + } + + # Set the server type to SMTP + $smtp_type = "SMTP"; + + # Send the HELO response + sendcontrol "250 $smtp_type pingpong test server Hello $client\r\n"; + } + + return 0; +} + sub MAIL_smtp { my ($args) = @_; @@ -895,24 +926,6 @@ sub DATA_smtp { } -sub HELO_smtp { - my ($client) = @_; - - # TODO: Get the IP address of the client connection to use in the HELO - # response when the client doesn't specify one but for now use 127.0.0.1 - if (!$client) { - $client = "[127.0.0.1]"; - } - - # Set the server type to SMTP - $smtp_type = "SMTP"; - - # Send the HELO response - sendcontrol "250 $smtp_type pingpong test server Hello $client\r\n"; - - return 0; -} - sub QUIT_smtp { sendcontrol "221 cURL $smtp_type server signing off\r\n";