diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2018-04-14 20:43:54 +0200 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2018-04-14 20:43:54 +0200 |
commit | 2c7c51a966fc7f31b66d1b980daea7302e7621d6 (patch) | |
tree | d75c45cf3832bd55afaa97bb58325c58fc3d6660 /gssapi.c | |
parent | 9ad747acc03b6184bfa1387caad0044e5296439e (diff) | |
download | fetchmail-2c7c51a966fc7f31b66d1b980daea7302e7621d6.tar.gz fetchmail-2c7c51a966fc7f31b66d1b980daea7302e7621d6.tar.bz2 fetchmail-2c7c51a966fc7f31b66d1b980daea7302e7621d6.zip |
Abort GSSAPI authentication properly in more situations.
Diffstat (limited to 'gssapi.c')
-rw-r--r-- | gssapi.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -241,7 +241,7 @@ cancelfail: decode_status("gss_unwrap", maj_stat, min_stat, stderr); report(stderr, GT_("Couldn't unwrap security level data\n")); gss_release_buffer(&min_stat, &send_token); - return PS_AUTHFAIL; + goto cancelfail; } if (outlevel >= O_DEBUG) report(stdout, GT_("Credential exchange complete\n")); @@ -250,7 +250,7 @@ cancelfail: if ( !(((char *)send_token.value)[0] & GSSAUTH_P_NONE) ) { report(stderr, GT_("Server requires integrity and/or privacy\n")); gss_release_buffer(&min_stat, &send_token); - return PS_AUTHFAIL; + goto cancelfail; } ((char *)send_token.value)[0] = 0; buf_size = ntohl(*((long *)send_token.value)); @@ -280,7 +280,7 @@ cancelfail: &cflags, &send_token); if (maj_stat != GSS_S_COMPLETE) { report(stderr, GT_("Error creating security level request\n")); - return PS_AUTHFAIL; + goto cancelfail; } if ((send_token.length + 3) * 4/3 >= sizeof(buf1) - 1) { report(stderr, GT_("GSSAPI send_token too large (%llu) while sending username.\n"), (unsigned long long)send_token.length); |