diff --git a/tests/data/test902 b/tests/data/test902 index 4da1b9912..c61ab9353 100644 --- a/tests/data/test902 +++ b/tests/data/test902 @@ -12,7 +12,6 @@ RFC821 REPLY EHLO 500 Command unrecognized -REPLY HELO 250 Already old but still servicing... diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl index c1df82408..15d00f08f 100755 --- a/tests/ftpserver.pl +++ b/tests/ftpserver.pl @@ -623,6 +623,7 @@ sub protocolsetup { elsif($proto eq 'smtp') { %commandfunc = ( 'DATA' => \&DATA_smtp, + 'HELO' => \&HELO_smtp, 'RCPT' => \&RCPT_smtp, ); %displaytext = ( @@ -772,6 +773,20 @@ sub RCPT_smtp { $smtp_rcpt = $args; } +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]"; + } + + sendcontrol "250 SMTP pingpong test server Hello $client\r\n"; + + return 0; +} + # What was deleted by IMAP STORE / POP3 DELE commands my @deleted;