mirror of
https://github.com/curl/curl.git
synced 2026-07-23 02:27:16 +03:00
imap: Provide method to disable SASL if it is advertised
- Implement AUTH=+LOGIN for CURLOPT_LOGIN_OPTIONS to prefer plaintext LOGIN over SASL auth. Prior to this change there was no method to be able to fall back to LOGIN if an IMAP server advertises SASL capabilities. However, this may be desirable for e.g. a misconfigured server. Per: https://www.ietf.org/rfc/rfc5092.html#section-3.2 ";AUTH=<enc-auth-type>" looks to be the correct way to specify what authenication method to use, regardless of SASL or not. Closes https://github.com/curl/curl/pull/10041
This commit is contained in:
parent
2b6222a64c
commit
64aefea3d9
5 changed files with 92 additions and 12 deletions
|
|
@ -102,6 +102,7 @@ test700 test701 test702 test703 test704 test705 test706 test707 test708 \
|
|||
test709 test710 test711 test712 test713 test714 test715 test716 test717 \
|
||||
test718 test719 test720 test721 \
|
||||
\
|
||||
test799 \
|
||||
test800 test801 test802 test803 test804 test805 test806 test807 test808 \
|
||||
test809 test810 test811 test812 test813 test814 test815 test816 test817 \
|
||||
test818 test819 test820 test821 test822 test823 test824 test825 test826 \
|
||||
|
|
|
|||
53
tests/data/test799
Normal file
53
tests/data/test799
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<testcase>
|
||||
<info>
|
||||
<keywords>
|
||||
IMAP
|
||||
Clear Text
|
||||
SASL AUTH +LOGIN
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<servercmd>
|
||||
AUTH PLAIN
|
||||
REPLY LOGIN A002 OK LOGIN completed
|
||||
</servercmd>
|
||||
<data>
|
||||
From: me@somewhere
|
||||
To: fake@nowhere
|
||||
|
||||
body
|
||||
|
||||
--
|
||||
yours sincerely
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<server>
|
||||
imap
|
||||
</server>
|
||||
<name>
|
||||
IMAP with --login-options 'AUTH=+LOGIN'
|
||||
</name>
|
||||
<command>
|
||||
'imap://%HOSTIP:%IMAPPORT/%TESTNUMBER/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<protocol>
|
||||
A001 CAPABILITY
|
||||
A002 LOGIN user secret
|
||||
A003 SELECT %TESTNUMBER
|
||||
A004 FETCH 1 BODY[]
|
||||
A005 LOGOUT
|
||||
</protocol>
|
||||
</verify>
|
||||
</testcase>
|
||||
Loading…
Add table
Add a link
Reference in a new issue