version 1.102, 2003/08/26 09:58:43 |
version 1.102.2.1, 2004/02/28 03:51:32 |
|
|
extern u_char *session_id2; |
extern u_char *session_id2; |
extern u_int session_id2_len; |
extern u_int session_id2_len; |
|
|
Authctxt *x_authctxt = NULL; |
|
|
|
/* methods */ |
/* methods */ |
|
|
extern Authmethod method_none; |
extern Authmethod method_none; |
|
|
static Authmethod *authmethod_lookup(const char *); |
static Authmethod *authmethod_lookup(const char *); |
static char *authmethods_get(void); |
static char *authmethods_get(void); |
int user_key_allowed(struct passwd *, Key *); |
int user_key_allowed(struct passwd *, Key *); |
int hostbased_key_allowed(struct passwd *, const char *, char *, Key *); |
|
|
|
/* |
/* |
* loop until authctxt->success == TRUE |
* loop until authctxt->success == TRUE |
*/ |
*/ |
|
|
Authctxt * |
void |
do_authentication2(void) |
do_authentication2(Authctxt *authctxt) |
{ |
{ |
Authctxt *authctxt = authctxt_new(); |
|
|
|
x_authctxt = authctxt; /*XXX*/ |
|
|
|
/* challenge-response is implemented via keyboard interactive */ |
/* challenge-response is implemented via keyboard interactive */ |
if (options.challenge_response_authentication) |
if (options.challenge_response_authentication) |
options.kbd_interactive_authentication = 1; |
options.kbd_interactive_authentication = 1; |
|
|
dispatch_init(&dispatch_protocol_error); |
dispatch_init(&dispatch_protocol_error); |
dispatch_set(SSH2_MSG_SERVICE_REQUEST, &input_service_request); |
dispatch_set(SSH2_MSG_SERVICE_REQUEST, &input_service_request); |
dispatch_run(DISPATCH_BLOCK, &authctxt->success, authctxt); |
dispatch_run(DISPATCH_BLOCK, &authctxt->success, authctxt); |
|
|
return (authctxt); |
|
} |
} |
|
|
static void |
static void |
|
|
packet_write_wait(); |
packet_write_wait(); |
xfree(methods); |
xfree(methods); |
} |
} |
} |
|
|
|
/* get current user */ |
|
|
|
struct passwd* |
|
auth_get_user(void) |
|
{ |
|
return (x_authctxt != NULL && x_authctxt->valid) ? x_authctxt->pw : NULL; |
|
} |
} |
|
|
#define DELIM "," |
#define DELIM "," |