imap: support PREAUTH

It is a defined possible greeting at server startup that means the
connection is already authenticated. See
https://tools.ietf.org/html/rfc3501#section-7.1.4

Test 846 added to verify.

Fixes #1818
Closes #1820
This commit is contained in:
Daniel Stenberg 2017-08-23 00:08:18 +02:00
parent 00da16ca5b
commit befaa7b14f
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
4 changed files with 69 additions and 13 deletions

View file

@ -87,7 +87,7 @@ test809 test810 test811 test812 test813 test814 test815 test816 test817 \
test818 test819 test820 test821 test822 test823 test824 test825 test826 \
test827 test828 test829 test830 test831 test832 test833 test834 test835 \
test836 test837 test838 test839 test840 test841 test842 test843 test844 \
test845 \
test845 test846 \
\
test850 test851 test852 test853 test854 test855 test856 test857 test858 \
test859 test860 test861 test862 test863 test864 test865 test866 test867 \

50
tests/data/test846 Normal file
View file

@ -0,0 +1,50 @@
<testcase>
<info>
<keywords>
IMAP
</keywords>
</info>
#
# Server-side
<reply>
<servercmd>
REPLY welcome * PREAUTH ready to serve already!
REPLY CAPABILITY * CAPABILITY IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED\r\nA001 OK CAPABILITY completed
</servercmd>
<data>
From: me@somewhere
To: fake@nowhere
body
--
yours sincerely
</data>
</reply>
#
# Client-side
<client>
<server>
imap
</server>
<name>
IMAP PREAUTH response
</name>
<command>
'imap://%HOSTIP:%IMAPPORT/846/;UID=1' -u notused:still-provided
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
A001 CAPABILITY
A002 SELECT 846
A003 FETCH 1 BODY[]
A004 LOGOUT
</protocol>
</verify>
</testcase>