aboutsummaryrefslogtreecommitdiffstats
path: root/pop3.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2004-01-13 07:02:39 +0000
committerEric S. Raymond <esr@thyrsus.com>2004-01-13 07:02:39 +0000
commitcbd3a0b35222d2f720da82df0504469da064ff68 (patch)
tree522ddd45a011e0684890cff7130b90ba34d1f248 /pop3.c
parent908792f78a5233c5f6ec7ac02b5f6addddc5a486 (diff)
downloadfetchmail-cbd3a0b35222d2f720da82df0504469da064ff68.tar.gz
fetchmail-cbd3a0b35222d2f720da82df0504469da064ff68.tar.bz2
fetchmail-cbd3a0b35222d2f720da82df0504469da064ff68.zip
POP3 strong authentication fixes.
svn path=/trunk/; revision=3873
Diffstat (limited to 'pop3.c')
-rw-r--r--pop3.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/pop3.c b/pop3.c
index 8e356f18..a3d2d63f 100644
--- a/pop3.c
+++ b/pop3.c
@@ -365,7 +365,12 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
* These authentication methods are blessed by RFC1734,
* describing the POP3 AUTHentication command.
*/
- if (ctl->server.authenticate == A_ANY)
+ if ((ctl->use_ssl != FLAG_FALSE) ||
+ (ctl->server.authenticate == A_ANY) ||
+ (ctl->server.authenticate == A_GSSAPI) ||
+ (ctl->server.authenticate == A_KERBEROS_V4) ||
+ (ctl->server.authenticate == A_OTP) ||
+ (ctl->server.authenticate == A_CRAM_MD5))
{
if ((ok = capa_probe(sock)) != PS_SUCCESS)
/* we are in STAGE_GETAUTH! */
@@ -455,7 +460,7 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
(ctl->server.authenticate == A_GSSAPI ||
ctl->server.authenticate == A_ANY))
{
- ok = do_gssauth(sock,"AUTH",ctl->server.truename,ctl->remotename);
+ ok = do_gssauth(sock,"AUTH","pop",ctl->server.truename,ctl->remotename);
if (ok == PS_SUCCESS || ctl->server.authenticate != A_ANY)
break;
}