aboutsummaryrefslogtreecommitdiffstats
path: root/pop3.c
diff options
context:
space:
mode:
Diffstat (limited to 'pop3.c')
-rw-r--r--pop3.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pop3.c b/pop3.c
index 3acc5923..f979e838 100644
--- a/pop3.c
+++ b/pop3.c
@@ -612,7 +612,11 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
/* check if we are actually allowed to send the password */
if (ctl->server.authenticate == A_ANY
- || ctl->server.authenticate == A_PASSWORD) {
+ || ctl->server.authenticate == A_PASSWORD
+ || ((ctl->server.authenticate == A_KERBEROS_V4
+ || ctl->server.authenticate == A_KERBEROS_V5)
+ && ctl->server.service
+ && strcmp(ctl->server.service, KPOP_PORT) == 0)) {
strlcpy(shroud, ctl->password, sizeof(shroud));
ok = gen_transact(sock, "PASS %s", ctl->password);
} else {