<testcase>
<info>
<keywords>
IMAP
SASL
SASL AUTH NTLM
SASL CANCELLATION
</keywords>
</info>

#
# Server-side
<reply>
<servercmd>
AUTH NTLM
CAPA LOGINDISABLED
REPLY AUTHENTICATE +
REPLY TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= + Rubbish
REPLY * A002 NO AUTH exchange cancelled by client
</servercmd>
</reply>

#
# Client-side
<client>
<server>
imap
</server>
<features>
NTLM
!SSPI
</features>
 <name>
IMAP NTLM graceful cancellation
 </name>
 <setenv>
# we force our own host name, in order to make the test machine independent
CURL_GETHOSTNAME=curlhost
# we try to use the LD_PRELOAD hack, if not a debug build
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
 </setenv>
 <command>
'imap://%HOSTIP:%IMAPPORT/831/;UID=1' -u testuser:testpass
</command>
<precheck>
chkhostname curlhost
</precheck>
</client>

#
# Verify data after the test has been "shot"
<verify>
# 67 - CURLE_LOGIN_DENIED
<errorcode>
67
</errorcode>
#
# The multi interface considers a broken "CONNECT" as a prematurely broken
# transfer and such a connection will not get a "LOGOUT"
<protocol>
A001 CAPABILITY
A002 AUTHENTICATE NTLM
TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
*
</protocol>
</verify>
</testcase>
