From 494b8664dabf5abd0d1f0eb3995e92736f351dee Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Sun, 6 Jan 2013 23:06:29 +0000 Subject: [PATCH] pop3.c: Fixed default authentication detection Fixed an issue where a server may positively respond to the CAPA command but not list clear text as a valid authentication type. --- lib/pop3.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pop3.c b/lib/pop3.c index df199b00c..1f6126c11 100644 --- a/lib/pop3.c +++ b/lib/pop3.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2012, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2013, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -588,9 +588,7 @@ static CURLcode pop3_state_capa_resp(struct connectdata *conn, (void)instate; /* no use for this yet */ - if(pop3code != '+') - result = pop3_state_user(conn); - else { + if(pop3code == '+' && conn->proto.pop3c.authtypes) { /* Check supported authentication types by decreasing order of security */ if(conn->proto.pop3c.authtypes & POP3_TYPE_SASL) result = pop3_authenticate(conn); @@ -605,6 +603,8 @@ static CURLcode pop3_state_capa_resp(struct connectdata *conn, result = CURLE_LOGIN_DENIED; /* Other types not supported */ } } + else + result = pop3_state_user(conn); return result; }