aboutsummaryrefslogtreecommitdiff
path: root/lib/imap.c
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2013-04-28 12:57:42 +0100
committerSteve Holme <steve_holme@hotmail.com>2013-04-28 12:57:42 +0100
commit9ea51459520d5d8a397908b4a3fc6cc3b2d45974 (patch)
tree750645eda5920ee4f61ee8b2e2b7b3a5a99932c0 /lib/imap.c
parent1d7c38e1f06710338db5f29e67d6dff668747aca (diff)
email: Tidy up of *_perform_authenticate()
Removed the hard returns from imap and pop3 by using the same style for sending the authentication string as smtp. Moved the "Other mechanisms not supported" check in smtp to match that of imap and pop3 to provide consistency between the three email protocols.
Diffstat (limited to 'lib/imap.c')
-rw-r--r--lib/imap.c43
1 files changed, 21 insertions, 22 deletions
diff --git a/lib/imap.c b/lib/imap.c
index 6bdd5c1ae..b13bd3da7 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -596,33 +596,32 @@ static CURLcode imap_perform_authenticate(struct connectdata *conn)
conn->passwd, &initresp, &len);
}
- if(result)
- return result;
+ if(!result) {
+ if(mech) {
+ /* Perform SASL based authentication */
+ if(initresp) {
+ result = imap_sendf(conn, "AUTHENTICATE %s %s", mech, initresp);
- if(mech) {
- /* Perform SASL based authentication */
- if(initresp) {
- result = imap_sendf(conn, "AUTHENTICATE %s %s", mech, initresp);
+ if(!result)
+ state(conn, state2);
+ }
+ else {
+ result = imap_sendf(conn, "AUTHENTICATE %s", mech);
- if(!result)
- state(conn, state2);
+ if(!result)
+ state(conn, state1);
+ }
+
+ Curl_safefree(initresp);
}
+ else if(!imapc->login_disabled)
+ /* Perform clear text authentication */
+ result = imap_perform_login(conn);
else {
- result = imap_sendf(conn, "AUTHENTICATE %s", mech);
-
- if(!result)
- state(conn, state1);
+ /* Other mechanisms not supported */
+ infof(conn->data, "No known authentication mechanisms supported!\n");
+ result = CURLE_LOGIN_DENIED;
}
-
- Curl_safefree(initresp);
- }
- else if(!imapc->login_disabled)
- /* Perform clear text authentication */
- result = imap_perform_login(conn);
- else {
- /* Other mechanisms not supported */
- infof(conn->data, "No known authentication mechanisms supported!\n");
- result = CURLE_LOGIN_DENIED;
}
return result;