version 1.171, 2009/03/05 07:18:19 |
version 1.172, 2009/10/23 01:57:11 |
|
|
}; |
}; |
|
|
void input_userauth_success(int, u_int32_t, void *); |
void input_userauth_success(int, u_int32_t, void *); |
|
void input_userauth_success_unexpected(int, u_int32_t, void *); |
void input_userauth_failure(int, u_int32_t, void *); |
void input_userauth_failure(int, u_int32_t, void *); |
void input_userauth_banner(int, u_int32_t, void *); |
void input_userauth_banner(int, u_int32_t, void *); |
void input_userauth_error(int, u_int32_t, void *); |
void input_userauth_error(int, u_int32_t, void *); |
|
|
input_userauth_success(int type, u_int32_t seq, void *ctxt) |
input_userauth_success(int type, u_int32_t seq, void *ctxt) |
{ |
{ |
Authctxt *authctxt = ctxt; |
Authctxt *authctxt = ctxt; |
|
|
if (authctxt == NULL) |
if (authctxt == NULL) |
fatal("input_userauth_success: no authentication context"); |
fatal("input_userauth_success: no authentication context"); |
if (authctxt->authlist) { |
if (authctxt->authlist) { |
xfree(authctxt->authlist); |
xfree(authctxt->authlist); |
authctxt->authlist = NULL; |
authctxt->authlist = NULL; |
} |
} |
|
if (authctxt->method != NULL && authctxt->method->cleanup != NULL) |
|
authctxt->method->cleanup(authctxt); |
if (authctxt->methoddata) { |
if (authctxt->methoddata) { |
xfree(authctxt->methoddata); |
xfree(authctxt->methoddata); |
authctxt->methoddata = NULL; |
authctxt->methoddata = NULL; |
|
|
authctxt->success = 1; /* break out */ |
authctxt->success = 1; /* break out */ |
} |
} |
|
|
|
void |
|
input_userauth_success_unexpected(int type, u_int32_t seq, void *ctxt) |
|
{ |
|
Authctxt *authctxt = ctxt; |
|
|
|
if (authctxt == NULL) |
|
fatal("%s: no authentication context", __func__); |
|
|
|
fatal("Unexpected authentication success during %s.", |
|
authctxt->method->name); |
|
} |
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
void |
void |
input_userauth_failure(int type, u_int32_t seq, void *ctxt) |
input_userauth_failure(int type, u_int32_t seq, void *ctxt) |
|
|
/* Expect step 1 packet from peer */ |
/* Expect step 1 packet from peer */ |
dispatch_set(SSH2_MSG_USERAUTH_JPAKE_SERVER_STEP1, |
dispatch_set(SSH2_MSG_USERAUTH_JPAKE_SERVER_STEP1, |
input_userauth_jpake_server_step1); |
input_userauth_jpake_server_step1); |
|
dispatch_set(SSH2_MSG_USERAUTH_SUCCESS, |
|
&input_userauth_success_unexpected); |
|
|
return 1; |
return 1; |
} |
} |
|
|
jpake_free(authctxt->methoddata); |
jpake_free(authctxt->methoddata); |
authctxt->methoddata = NULL; |
authctxt->methoddata = NULL; |
} |
} |
|
dispatch_set(SSH2_MSG_USERAUTH_SUCCESS, &input_userauth_success); |
} |
} |
#endif /* JPAKE */ |
#endif /* JPAKE */ |
|
|