This commit is contained in:
Daniel Stenberg 2009-12-25 22:20:37 +00:00
Родитель 1af64730e0
Коммит 77625f8560
1 изменённых файлов: 40 добавлений и 3 удалений

Просмотреть файл

@ -25,8 +25,10 @@
# This is a server designed for the curl test suite. # This is a server designed for the curl test suite.
# #
# In December 2009 we started remaking the server to support more protocols # In December 2009 we started remaking the server to support more protocols
# that are similar in spirit. Like POP3, IMAP and SMTP in addition to the # that are similar in spirit. Like POP3, IMAP and SMTP in addition to the FTP
# FTP it already supported since a long time. # it already supported since a long time. Note that it still only supports one
# protocol per invoke. You need to start mulitple servers to support multiple
# protocols simultaneously.
# #
# It is meant to exercise curl, it is not meant to be a fully working # It is meant to exercise curl, it is not meant to be a fully working
# or even very standard compliant server. # or even very standard compliant server.
@ -408,11 +410,13 @@ elsif($proto eq "imap") {
} }
elsif($proto eq "smtp") { elsif($proto eq "smtp") {
%commandfunc = ('DATA' => \&DATA_smtp,
'RCPT' => \&RCPT_smtp,
);
%displaytext = ('EHLO' => '230 We are happy you popped in!', %displaytext = ('EHLO' => '230 We are happy you popped in!',
'MAIL' => '200 Note taken', 'MAIL' => '200 Note taken',
'RCPT' => '200 Receivers accepted', 'RCPT' => '200 Receivers accepted',
'QUIT' => '200 byebye', 'QUIT' => '200 byebye',
'DATA' => '200 hit me',
); );
} }
@ -437,6 +441,39 @@ sub close_dataconn {
$slavepid=0; $slavepid=0;
} }
################
################ SMTP commands
################
# what set by "RCPT"
my $smtp_rcpt;
sub DATA_smtp {
my $testno;
if($smtp_rcpt =~ /^TO:(.*)/) {
$testno = $1;
}
else {
return; # failure
}
if($testno eq "verifiedserver") {
sendcontrol "554 WE ROOLZ: $$\r\n";
}
else {
sendcontrol "354 Show me the mail\r\n";
}
logmsg "===> rcpt $testno was $smtp_rcpt\n";
}
sub RCPT_smtp {
my ($args) = @_;
$smtp_rcpt = $args;
}
################ ################
################ IMAP commands ################ IMAP commands
################ ################