diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2010-10-09 13:14:51 +0200 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2010-10-09 13:16:21 +0200 |
commit | edf9ce362c087be35409de72b4143ea3a6d475d1 (patch) | |
tree | 478727ba257a293161c204f0170b22a3a06b25a1 | |
parent | 4995b4a7eebe3b9cd620b094cba5fbdc02c2f042 (diff) | |
download | fetchmail-edf9ce362c087be35409de72b4143ea3a6d475d1.tar.gz fetchmail-edf9ce362c087be35409de72b4143ea3a6d475d1.tar.bz2 fetchmail-edf9ce362c087be35409de72b4143ea3a6d475d1.zip |
GSSAPI: Be more tolerant about server's SASL challenge.
-rw-r--r-- | gssapi.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -153,10 +153,11 @@ int do_gssauth(int sock, const char *command, const char *service, if (result) return result; - if (strcmp(buf1, "+ ")) { + if (buf1[0] != '+' || strspn(buf1 + 1, " \t") < strlen(buf1 + 1)) { if (outlevel >= O_VERBOSE) { - report(stdout, GT_("Warning: received malformed challenge to \"%s GSSAPI\"!\n"), command); + report(stdout, GT_("Received malformed challenge to \"%s GSSAPI\"!\n"), command); } + goto cancelfail; } @@ -187,6 +188,7 @@ int do_gssauth(int sock, const char *command, const char *service, decode_status("gss_init_sec_context", maj_stat, min_stat); (void)gss_release_name(&min_stat, &target_name); +cancelfail: /* wake up server and cancel authentication */ suppress_tags = TRUE; gen_send(sock, "*"); |