tests: Added POP3 APOP authentication test

This commit is contained in:
Steve Holme 2013-10-19 12:20:00 +01:00
Родитель 4be0af7f74
Коммит 1034aa6680
3 изменённых файлов: 58 добавлений и 2 удалений

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

@ -67,7 +67,7 @@ test800 test801 test802 test803 test804 test805 test806 test807 test808 \
test809 test810 test811 test812 test813 test814 \
\
test850 test851 test852 test853 test854 test855 test856 test857 test858 \
test859 test860 test861 test862 test863 \
test859 test860 test861 test862 test863 test864 \
\
test900 test901 test902 test903 test904 test905 test906 test907 test908 \
test909 test910 test911 test912 test913 test914 test915 test916 test917 \

53
tests/data/test864 Normal file
Просмотреть файл

@ -0,0 +1,53 @@
<testcase>
<info>
<keywords>
POP3
POP3 APOP
</keywords>
</info>
#
# Server-side
<reply>
<servercmd>
CAPA APOP
</servercmd>
<data>
From: me@somewhere
To: fake@nowhere
body
--
yours sincerely
</data>
</reply>
#
# Client-side
<client>
<server>
pop3
</server>
<features>
crypto
</features>
<name>
POP3 APOP authentication
</name>
<command>
pop3://%HOSTIP:%POP3PORT/864 -u user:secret
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
CAPA
APOP user 7501b4cdc224d469940e65e7b5e4d6eb
RETR 864
QUIT
</protocol>
</verify>
</testcase>

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

@ -1640,7 +1640,10 @@ sub APOP_pop3 {
my ($args) = @_;
my ($user, $secret) = split(/ /, $args, 2);
if (($user eq "") || ($secret eq "")) {
if (!grep /^APOP$/, @capabilities) {
sendcontrol "-ERR Unrecognized command\r\n";
}
elsif (($user eq "") || ($secret eq "")) {
sendcontrol "-ERR Protocol error\r\n";
}
else {