| 1488 |
case SSH_AUTH_PASSWORD: |
case SSH_AUTH_PASSWORD: |
| 1489 |
return "password"; |
return "password"; |
| 1490 |
case SSH_AUTH_RSA: |
case SSH_AUTH_RSA: |
| 1491 |
return "RSA"; |
return "publickey"; |
| 1492 |
case SSH_AUTH_PAGEANT: |
case SSH_AUTH_PAGEANT: |
| 1493 |
return "RSA (with Pageant)"; |
return "publickey"; |
| 1494 |
case SSH_AUTH_RHOSTS: |
case SSH_AUTH_RHOSTS: |
| 1495 |
return "rhosts"; |
return "rhosts"; |
| 1496 |
case SSH_AUTH_RHOSTS_RSA: |
case SSH_AUTH_RHOSTS_RSA: |
| 1512 |
} else if (pvar->auth_state.cur_cred.method != SSH_AUTH_NONE) { |
} else if (pvar->auth_state.cur_cred.method != SSH_AUTH_NONE) { |
| 1513 |
if (SSHv1(pvar)) { |
if (SSHv1(pvar)) { |
| 1514 |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
| 1515 |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, pvar->auth_state.user, |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, |
| 1516 |
|
pvar->auth_state.user, |
| 1517 |
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
| 1518 |
|
|
| 1519 |
|
if (pvar->auth_state.cur_cred.method == SSH_AUTH_RSA) { |
| 1520 |
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO2", pvar, " with %s key"); |
| 1521 |
|
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, |
| 1522 |
|
"RSA"); |
| 1523 |
|
strncat_s(dest, len, buf, _TRUNCATE); |
| 1524 |
|
} |
| 1525 |
|
else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PAGEANT) { |
| 1526 |
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO3", pvar, " with %s key from Pageant"); |
| 1527 |
|
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, |
| 1528 |
|
"RSA"); |
| 1529 |
|
strncat_s(dest, len, buf, _TRUNCATE); |
| 1530 |
|
} |
| 1531 |
} else { |
} else { |
| 1532 |
// SSH2:認証メソッドの判別 (2004.12.23 yutaka) |
// SSH2:認証メソッドの判別 (2004.12.23 yutaka) |
| 1533 |
// keyboard-interactiveメソッドを追加 (2005.3.12 yutaka) |
// keyboard-interactiveメソッドを追加 (2005.3.12 yutaka) |
| 1540 |
method = get_auth_method_name(pvar->auth_state.cur_cred.method); |
method = get_auth_method_name(pvar->auth_state.cur_cred.method); |
| 1541 |
} |
} |
| 1542 |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
| 1543 |
_snprintf_s(dest, len, _TRUNCATE, |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, |
| 1544 |
pvar->ts->UIMsg, pvar->auth_state.user, method); |
pvar->auth_state.user, method); |
| 1545 |
|
} |
| 1546 |
} else { |
else if (pvar->auth_state.cur_cred.method == SSH_AUTH_RSA) { |
| 1547 |
if (pvar->auth_state.cur_cred.method == SSH_AUTH_RSA) { |
method = get_auth_method_name(pvar->auth_state.cur_cred.method); |
|
Key *k = pvar->auth_state.cur_cred.key_pair; |
|
|
method = ssh_key_type(k); |
|
|
if (k->bcrypt_kdf) { |
|
|
_snprintf_s(buf, sizeof(buf), _TRUNCATE, "%s(bcrypt KDF)", method); |
|
|
method = buf; |
|
|
} |
|
|
|
|
|
} |
|
|
else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PAGEANT) { |
|
|
int len = get_uint32_MSBfirst(pvar->pageant_curkey + 4); |
|
|
char *s = (char *)malloc(len+1); |
|
|
ssh_keytype keytype; |
|
|
|
|
|
memcpy(s, pvar->pageant_curkey+4+4, len); |
|
|
s[len] = '\0'; |
|
|
keytype = get_keytype_from_name(s); |
|
|
if (keytype == KEY_RSA) { |
|
|
method = "RSA with Pageant"; |
|
|
} else if (keytype == KEY_DSA) { |
|
|
method = "DSA with Pageant"; |
|
|
} |
|
|
free(s); |
|
|
} |
|
| 1548 |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
| 1549 |
_snprintf_s(dest, len, _TRUNCATE, |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, |
| 1550 |
pvar->ts->UIMsg, pvar->auth_state.user, method); |
pvar->auth_state.user, |
| 1551 |
|
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
| 1552 |
|
|
| 1553 |
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO2", pvar, " with %s key"); |
| 1554 |
|
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, |
| 1555 |
|
ssh_key_type(pvar->auth_state.cur_cred.key_pair->type)); |
| 1556 |
|
strncat_s(dest, len, buf, _TRUNCATE); |
| 1557 |
} |
} |
| 1558 |
|
else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PAGEANT) { |
| 1559 |
|
int key_len = get_uint32_MSBfirst(pvar->pageant_curkey + 4); |
| 1560 |
|
char *s = (char *)malloc(key_len+1); |
| 1561 |
|
|
| 1562 |
|
method = get_auth_method_name(pvar->auth_state.cur_cred.method); |
| 1563 |
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
| 1564 |
|
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, |
| 1565 |
|
pvar->auth_state.user, |
| 1566 |
|
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
| 1567 |
|
|
| 1568 |
|
memcpy(s, pvar->pageant_curkey+4+4, key_len); |
| 1569 |
|
s[key_len] = '\0'; |
| 1570 |
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO3", pvar, " with %s key from Pageant"); |
| 1571 |
|
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, |
| 1572 |
|
ssh_key_type(get_keytype_from_name(s))); |
| 1573 |
|
strncat_s(dest, len, buf, _TRUNCATE); |
| 1574 |
|
|
| 1575 |
|
free(s); |
| 1576 |
|
} |
| 1577 |
} |
} |
| 1578 |
|
|
| 1579 |
} else { |
} else { |