version 1.147, 2015/04/27 01:52:30 |
version 1.148, 2015/05/01 03:23:51 |
|
|
Key *key; |
Key *key; |
char *cuser, *chost; |
char *cuser, *chost; |
u_char *blob; |
u_char *blob; |
u_int bloblen; |
u_int bloblen, pubkey_auth_attempt; |
enum mm_keytype type = 0; |
enum mm_keytype type = 0; |
int allowed = 0; |
int allowed = 0; |
|
|
|
|
cuser = buffer_get_string(m, NULL); |
cuser = buffer_get_string(m, NULL); |
chost = buffer_get_string(m, NULL); |
chost = buffer_get_string(m, NULL); |
blob = buffer_get_string(m, &bloblen); |
blob = buffer_get_string(m, &bloblen); |
|
pubkey_auth_attempt = buffer_get_int(m); |
|
|
key = key_from_blob(blob, bloblen); |
key = key_from_blob(blob, bloblen); |
|
|
|
|
match_pattern_list(sshkey_ssh_name(key), |
match_pattern_list(sshkey_ssh_name(key), |
options.pubkey_key_types, |
options.pubkey_key_types, |
strlen(options.pubkey_key_types), 0) == 1 && |
strlen(options.pubkey_key_types), 0) == 1 && |
user_key_allowed(authctxt->pw, key); |
user_key_allowed(authctxt->pw, key, |
|
pubkey_auth_attempt); |
pubkey_auth_info(authctxt, key, NULL); |
pubkey_auth_info(authctxt, key, NULL); |
auth_method = "publickey"; |
auth_method = "publickey"; |
if (options.pubkey_authentication && allowed != 1) |
if (options.pubkey_authentication && |
|
(!pubkey_auth_attempt || allowed != 1)) |
auth_clear_options(); |
auth_clear_options(); |
break; |
break; |
case MM_HOSTKEY: |
case MM_HOSTKEY: |