|
Lines 373-378
ssh_userauth2(struct ssh *ssh, const char *local_user,
Link Here
|
| 373 |
{ |
373 |
{ |
| 374 |
Authctxt authctxt; |
374 |
Authctxt authctxt; |
| 375 |
int r; |
375 |
int r; |
|
|
376 |
#if GSSAPI |
| 377 |
int ms; |
| 378 |
#endif |
| 376 |
|
379 |
|
| 377 |
if (options.challenge_response_authentication) |
380 |
if (options.challenge_response_authentication) |
| 378 |
options.kbd_interactive_authentication = 1; |
381 |
options.kbd_interactive_authentication = 1; |
|
Lines 420-425
ssh_userauth2(struct ssh *ssh, const char *local_user,
Link Here
|
| 420 |
|
423 |
|
| 421 |
ssh_dispatch_range(ssh, SSH2_MSG_USERAUTH_MIN, SSH2_MSG_USERAUTH_MAX, NULL); |
424 |
ssh_dispatch_range(ssh, SSH2_MSG_USERAUTH_MIN, SSH2_MSG_USERAUTH_MAX, NULL); |
| 422 |
|
425 |
|
|
|
426 |
#if GSSAPI |
| 427 |
gss_release_oid_set(&ms, &authctxt.gss_supported_mechs); |
| 428 |
authctxt.gss_supported_mechs = NULL; |
| 429 |
#endif |
| 430 |
|
| 423 |
if (!authctxt.success) |
431 |
if (!authctxt.success) |
| 424 |
fatal("Authentication failed."); |
432 |
fatal("Authentication failed."); |
| 425 |
debug("Authentication succeeded (%s).", authctxt.method->name); |
433 |
debug("Authentication succeeded (%s).", authctxt.method->name); |
|
Lines 754-762
userauth_gssapi_cleanup(struct ssh *ssh)
Link Here
|
| 754 |
|
762 |
|
| 755 |
ssh_gssapi_delete_ctx(&gssctxt); |
763 |
ssh_gssapi_delete_ctx(&gssctxt); |
| 756 |
authctxt->methoddata = NULL; |
764 |
authctxt->methoddata = NULL; |
| 757 |
|
|
|
| 758 |
free(authctxt->gss_supported_mechs); |
| 759 |
authctxt->gss_supported_mechs = NULL; |
| 760 |
} |
765 |
} |
| 761 |
|
766 |
|
| 762 |
static OM_uint32 |
767 |
static OM_uint32 |