| 42 |
|
|
| 43 |
#define MAX_AUTH_CONTROL IDC_SSHUSETIS |
#define MAX_AUTH_CONTROL IDC_SSHUSETIS |
| 44 |
|
|
|
#ifndef NO_I18N |
|
| 45 |
static HFONT DlgAuthFont; |
static HFONT DlgAuthFont; |
| 46 |
static HFONT DlgTisFont; |
static HFONT DlgTisFont; |
| 47 |
static HFONT DlgAuthSetupFont; |
static HFONT DlgAuthSetupFont; |
|
#endif |
|
| 48 |
|
|
| 49 |
void destroy_malloced_string(char FAR * FAR * str) |
void destroy_malloced_string(char FAR * FAR * str) |
| 50 |
{ |
{ |
| 112 |
|
|
| 113 |
static void init_auth_machine_banner(PTInstVar pvar, HWND dlg) |
static void init_auth_machine_banner(PTInstVar pvar, HWND dlg) |
| 114 |
{ |
{ |
| 115 |
char buf[1024] = "Logging in to "; |
char buf[1024], buf2[1024]; |
| 116 |
#ifndef NO_I18N |
|
|
char buf2[1024]; |
|
| 117 |
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, buf2, sizeof(buf2)); |
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, buf2, sizeof(buf2)); |
| 118 |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, buf2, SSH_get_host_name(pvar)); |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, buf2, SSH_get_host_name(pvar)); |
|
#else |
|
|
if (strlen(buf) + strlen(SSH_get_host_name(pvar)) < sizeof(buf) - 2) { |
|
|
strcat(buf, SSH_get_host_name(pvar)); |
|
|
} |
|
|
#endif |
|
| 119 |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, buf); |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, buf); |
| 120 |
} |
} |
| 121 |
|
|
| 173 |
static void init_auth_dlg(PTInstVar pvar, HWND dlg) |
static void init_auth_dlg(PTInstVar pvar, HWND dlg) |
| 174 |
{ |
{ |
| 175 |
int default_method = pvar->session_settings.DefaultAuthMethod; |
int default_method = pvar->session_settings.DefaultAuthMethod; |
| 176 |
|
char uimsg[MAX_UIMSG]; |
| 177 |
|
|
| 178 |
#ifndef NO_I18N |
GetWindowText(dlg, uimsg, sizeof(uimsg)); |
| 179 |
GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_TITLE", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_TITLE", pvar); |
|
| 180 |
SetWindowText(dlg, pvar->ts->UIMsg); |
SetWindowText(dlg, pvar->ts->UIMsg); |
| 181 |
|
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, uimsg, sizeof(uimsg)); |
| 182 |
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_BANNER", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_BANNER", pvar); |
|
| 183 |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg); |
| 184 |
|
GetDlgItemText(dlg, IDC_SSHAUTHBANNER2, uimsg, sizeof(uimsg)); |
| 185 |
GetDlgItemText(dlg, IDC_SSHAUTHBANNER2, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_BANNER2", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_BANNER2", pvar); |
|
| 186 |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER2, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER2, pvar->ts->UIMsg); |
| 187 |
|
GetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, uimsg, sizeof(uimsg)); |
| 188 |
GetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_USERNAME", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_USERNAME", pvar); |
|
| 189 |
SetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg); |
| 190 |
|
GetDlgItemText(dlg, IDC_SSHPASSWORDCAPTION, uimsg, sizeof(uimsg)); |
| 191 |
GetDlgItemText(dlg, IDC_SSHPASSWORDCAPTION, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_PASSWORD", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_PASSWORD", pvar); |
|
| 192 |
SetDlgItemText(dlg, IDC_SSHPASSWORDCAPTION, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHPASSWORDCAPTION, pvar->ts->UIMsg); |
| 193 |
|
GetDlgItemText(dlg, IDC_REMEMBER_PASSWORD, uimsg, sizeof(uimsg)); |
| 194 |
GetDlgItemText(dlg, IDC_REMEMBER_PASSWORD, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_REMEMBER_PASSWORD", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_REMEMBER_PASSWORD", pvar); |
|
| 195 |
SetDlgItemText(dlg, IDC_REMEMBER_PASSWORD, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_REMEMBER_PASSWORD, pvar->ts->UIMsg); |
| 196 |
|
GetDlgItemText(dlg, IDC_SSHUSEPASSWORD, uimsg, sizeof(uimsg)); |
| 197 |
GetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_METHOD_PASSWORD", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_METHOD_PASSWORD", pvar); |
|
| 198 |
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg); |
| 199 |
|
GetDlgItemText(dlg, IDC_SSHUSERSA, uimsg, sizeof(uimsg)); |
| 200 |
GetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_METHOD_RSA", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_METHOD_RSA", pvar); |
|
| 201 |
SetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg); |
| 202 |
|
GetDlgItemText(dlg, IDC_SSHUSERHOSTS, uimsg, sizeof(uimsg)); |
| 203 |
GetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_METHOD_RHOST", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_METHOD_RHOST", pvar); |
|
| 204 |
SetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg); |
| 205 |
|
GetDlgItemText(dlg, IDC_CHOOSERSAFILE, uimsg, sizeof(uimsg)); |
| 206 |
GetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_PRIVATEKEY", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_PRIVATEKEY", pvar); |
|
| 207 |
SetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg); |
| 208 |
|
GetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, uimsg, sizeof(uimsg)); |
| 209 |
GetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_LOCALUSER", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_LOCALUSER", pvar); |
|
| 210 |
SetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg); |
| 211 |
|
GetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, uimsg, sizeof(uimsg)); |
| 212 |
GetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_HOST_PRIVATEKEY", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_HOST_PRIVATEKEY", pvar); |
|
| 213 |
SetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg); |
| 214 |
|
GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg)); |
| 215 |
GetDlgItemText(dlg, IDOK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("BTN_OK", pvar, uimsg); |
|
UTIL_get_lang_msg("BTN_OK", pvar); |
|
| 216 |
SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg); |
| 217 |
|
GetDlgItemText(dlg, IDCANCEL, uimsg, sizeof(uimsg)); |
| 218 |
GetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("BTN_DISCONNECT", pvar, uimsg); |
|
UTIL_get_lang_msg("BTN_DISCONNECT", pvar); |
|
| 219 |
SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg); |
|
#endif |
|
| 220 |
|
|
| 221 |
init_auth_machine_banner(pvar, dlg); |
init_auth_machine_banner(pvar, dlg); |
| 222 |
init_password_control(dlg); |
init_password_control(dlg); |
| 223 |
|
|
| 224 |
if (pvar->auth_state.failed_method != SSH_AUTH_NONE) { |
if (pvar->auth_state.failed_method != SSH_AUTH_NONE) { |
| 225 |
/* must be retrying a failed attempt */ |
/* must be retrying a failed attempt */ |
| 226 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_AUTH_BANNER2_FAILED", pvar, "Authentication failed. Please retry."); |
| 227 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Authentication failed. Please retry.", _TRUNCATE); |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER2, pvar->ts->UIMsg); |
| 228 |
UTIL_get_lang_msg("DLG_AUTH_BANNER2_FAILED", pvar); |
UTIL_get_lang_msg("DLG_AUTH_TITLE_FAILED", pvar, "Retrying SSH Authentication"); |
|
SetDlgItemText(dlg, IDC_SSHAUTHBANNER2, "Retrying SSH Authentication"); |
|
|
|
|
|
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Retrying SSH Authentication", _TRUNCATE); |
|
|
UTIL_get_lang_msg("DLG_AUTH_TITLE_FAILED", pvar); |
|
| 229 |
SetWindowText(dlg, pvar->ts->UIMsg); |
SetWindowText(dlg, pvar->ts->UIMsg); |
|
#else |
|
|
SetDlgItemText(dlg, IDC_SSHAUTHBANNER2, |
|
|
"Authentication failed. Please retry."); |
|
|
SetWindowText(dlg, "Retrying SSH Authentication"); |
|
|
#endif |
|
| 230 |
default_method = pvar->auth_state.failed_method; |
default_method = pvar->auth_state.failed_method; |
| 231 |
} |
} |
| 232 |
|
|
| 316 |
// パスワード認証を試す前に、keyboard-interactiveメソッドを試す場合は、ラベル名を |
// パスワード認証を試す前に、keyboard-interactiveメソッドを試す場合は、ラベル名を |
| 317 |
// 変更する。(2005.3.12 yutaka) |
// 変更する。(2005.3.12 yutaka) |
| 318 |
if (pvar->settings.ssh2_keyboard_interactive == 1) { |
if (pvar->settings.ssh2_keyboard_interactive == 1) { |
| 319 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_AUTH_METHOD_PASSWORD_KBDINT", pvar, |
| 320 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Use p&lain password to log in (with keyboard-interactive)", _TRUNCATE); |
"Use p&lain password to log in (with keyboard-interactive)"); |
|
UTIL_get_lang_msg("DLG_AUTH_METHOD_PASSWORD_KBDINT", pvar); |
|
| 321 |
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg); |
|
#else |
|
|
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, "Use p&lain password to log in (with keyboard-interactive)"); |
|
|
#endif |
|
| 322 |
} |
} |
| 323 |
|
|
| 324 |
if (pvar->settings.ssh_protocol_version == 1) { |
if (pvar->settings.ssh_protocol_version == 1) { |
| 325 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_AUTH_METHOD_CHALLENGE1", pvar, |
| 326 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Use challenge/response to log in(&TIS)", _TRUNCATE); |
"Use challenge/response to log in(&TIS)"); |
|
UTIL_get_lang_msg("DLG_AUTH_METHOD_CHALLENGE1", pvar); |
|
| 327 |
SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg); |
|
#else |
|
|
SetDlgItemText(dlg, IDC_SSHUSETIS, "Use challenge/response to log in(&TIS)"); |
|
|
#endif |
|
| 328 |
} else { |
} else { |
| 329 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_AUTH_METHOD_CHALLENGE2", pvar, |
| 330 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Use &challenge/response to log in(keyboard-interactive)", _TRUNCATE); |
"Use &challenge/response to log in(keyboard-interactive)"); |
|
UTIL_get_lang_msg("DLG_AUTH_METHOD_CHALLENGE2", pvar); |
|
| 331 |
SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg); |
|
#else |
|
|
SetDlgItemText(dlg, IDC_SSHUSETIS, "Use challenge/response to log in(&keyboard-interactive)"); |
|
|
#endif |
|
| 332 |
} |
} |
| 333 |
#endif |
#endif |
| 334 |
|
|
| 354 |
return result; |
return result; |
| 355 |
} |
} |
| 356 |
|
|
|
#ifndef NO_I18N |
|
| 357 |
static int get_key_file_name(HWND parent, char FAR * buf, int bufsize, PTInstVar pvar) |
static int get_key_file_name(HWND parent, char FAR * buf, int bufsize, PTInstVar pvar) |
|
#else |
|
|
static int get_key_file_name(HWND parent, char FAR * buf, int bufsize) |
|
|
#endif |
|
| 358 |
{ |
{ |
| 359 |
#ifdef TERATERM32 |
#ifdef TERATERM32 |
| 360 |
OPENFILENAME params; |
OPENFILENAME params; |
| 361 |
char fullname_buf[2048] = "identity"; |
char fullname_buf[2048] = "identity"; |
|
#ifndef NO_I18N |
|
| 362 |
char filter[MAX_UIMSG]; |
char filter[MAX_UIMSG]; |
|
#endif |
|
| 363 |
|
|
| 364 |
ZeroMemory(¶ms, sizeof(params)); |
ZeroMemory(¶ms, sizeof(params)); |
| 365 |
params.lStructSize = sizeof(OPENFILENAME); |
params.lStructSize = sizeof(OPENFILENAME); |
| 366 |
params.hwndOwner = parent; |
params.hwndOwner = parent; |
| 367 |
// フィルタの追加 (2004.12.19 yutaka) |
// フィルタの追加 (2004.12.19 yutaka) |
| 368 |
// 3ファイルフィルタの追加 (2005.4.26 yutaka) |
// 3ファイルフィルタの追加 (2005.4.26 yutaka) |
| 369 |
#ifndef NO_I18N |
UTIL_get_lang_msg("FILEDLG_OPEN_PRIVATEKEY_FILTER", pvar, |
| 370 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "identity files\\0identity;id_rsa;id_dsa\\0identity(RSA1)\\0identity\\0id_rsa(SSH2)\\0id_rsa\\0id_dsa(SSH2)\\0id_dsa\\0all(*.*)\\0*.*\\0\\0", _TRUNCATE); |
"identity files\\0identity;id_rsa;id_dsa\\0identity(RSA1)\\0identity\\0id_rsa(SSH2)\\0id_rsa\\0id_dsa(SSH2)\\0id_dsa\\0all(*.*)\\0*.*\\0\\0"); |
|
UTIL_get_lang_msg("FILEDLG_OPEN_PRIVATEKEY_FILTER", pvar); |
|
| 371 |
memcpy(filter, pvar->ts->UIMsg, sizeof(filter)); |
memcpy(filter, pvar->ts->UIMsg, sizeof(filter)); |
| 372 |
params.lpstrFilter = filter; |
params.lpstrFilter = filter; |
|
#else |
|
|
params.lpstrFilter = "identity files\0identity;id_rsa;id_dsa\0identity(RSA1)\0identity\0id_rsa(SSH2)\0id_rsa\0id_dsa(SSH2)\0id_dsa\0all(*.*)\0*.*\0\0"; |
|
|
#endif |
|
| 373 |
params.lpstrCustomFilter = NULL; |
params.lpstrCustomFilter = NULL; |
| 374 |
params.nFilterIndex = 0; |
params.nFilterIndex = 0; |
| 375 |
buf[0] = 0; |
buf[0] = 0; |
| 377 |
params.nMaxFile = sizeof(fullname_buf); |
params.nMaxFile = sizeof(fullname_buf); |
| 378 |
params.lpstrFileTitle = NULL; |
params.lpstrFileTitle = NULL; |
| 379 |
params.lpstrInitialDir = NULL; |
params.lpstrInitialDir = NULL; |
| 380 |
#ifndef NO_I18N |
UTIL_get_lang_msg("FILEDLG_OPEN_PRIVATEKEY_TITLE", pvar, |
| 381 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Choose a file with the RSA/DSA private key", _TRUNCATE); |
"Choose a file with the RSA/DSA private key"); |
|
UTIL_get_lang_msg("FILEDLG_OPEN_PRIVATEKEY_TITLE", pvar); |
|
| 382 |
params.lpstrTitle = pvar->ts->UIMsg; |
params.lpstrTitle = pvar->ts->UIMsg; |
|
#else |
|
|
params.lpstrTitle = "Choose a file with the RSA/DSA private key"; |
|
|
#endif |
|
| 383 |
params.Flags = |
params.Flags = |
| 384 |
OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY; |
OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY; |
| 385 |
params.lpstrDefExt = NULL; |
params.lpstrDefExt = NULL; |
| 395 |
#endif |
#endif |
| 396 |
} |
} |
| 397 |
|
|
|
#ifndef NO_I18N |
|
| 398 |
static void choose_RSA_key_file(HWND dlg, PTInstVar pvar) |
static void choose_RSA_key_file(HWND dlg, PTInstVar pvar) |
|
#else |
|
|
static void choose_RSA_key_file(HWND dlg) |
|
|
#endif |
|
| 399 |
{ |
{ |
| 400 |
char buf[1024]; |
char buf[1024]; |
| 401 |
|
|
|
#ifndef NO_I18N |
|
| 402 |
if (get_key_file_name(dlg, buf, sizeof(buf), pvar)) { |
if (get_key_file_name(dlg, buf, sizeof(buf), pvar)) { |
|
#else |
|
|
if (get_key_file_name(dlg, buf, sizeof(buf))) { |
|
|
#endif |
|
| 403 |
SetDlgItemText(dlg, IDC_RSAFILENAME, buf); |
SetDlgItemText(dlg, IDC_RSAFILENAME, buf); |
| 404 |
} |
} |
| 405 |
} |
} |
| 406 |
|
|
|
#ifndef NO_I18N |
|
| 407 |
static void choose_host_RSA_key_file(HWND dlg, PTInstVar pvar) |
static void choose_host_RSA_key_file(HWND dlg, PTInstVar pvar) |
|
#else |
|
|
static void choose_host_RSA_key_file(HWND dlg) |
|
|
#endif |
|
| 408 |
{ |
{ |
| 409 |
char buf[1024]; |
char buf[1024]; |
| 410 |
|
|
|
#ifndef NO_I18N |
|
| 411 |
if (get_key_file_name(dlg, buf, sizeof(buf), pvar)) { |
if (get_key_file_name(dlg, buf, sizeof(buf), pvar)) { |
|
#else |
|
|
if (get_key_file_name(dlg, buf, sizeof(buf))) { |
|
|
#endif |
|
| 412 |
SetDlgItemText(dlg, IDC_HOSTRSAFILENAME, buf); |
SetDlgItemText(dlg, IDC_HOSTRSAFILENAME, buf); |
| 413 |
} |
} |
| 414 |
} |
} |
| 440 |
buf[0] = 0; |
buf[0] = 0; |
| 441 |
GetDlgItemText(dlg, file_ctl_ID, buf, sizeof(buf)); |
GetDlgItemText(dlg, file_ctl_ID, buf, sizeof(buf)); |
| 442 |
if (buf[0] == 0) { |
if (buf[0] == 0) { |
| 443 |
#ifndef NO_I18N |
UTIL_get_lang_msg("MSG_KEYSPECIFY_ERROR", pvar, |
| 444 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "You must specify a file containing the RSA/DSA private key.", _TRUNCATE); |
"You must specify a file containing the RSA/DSA private key."); |
|
UTIL_get_lang_msg("MSG_KEYSPECIFY_ERROR", pvar); |
|
| 445 |
notify_nonfatal_error(pvar, pvar->ts->UIMsg); |
notify_nonfatal_error(pvar, pvar->ts->UIMsg); |
|
#else |
|
|
notify_nonfatal_error(pvar, |
|
|
"You must specify a file containing the RSA/DSA private key."); |
|
|
#endif |
|
| 446 |
SetFocus(GetDlgItem(dlg, file_ctl_ID)); |
SetFocus(GetDlgItem(dlg, file_ctl_ID)); |
| 447 |
destroy_malloced_string(&password); |
destroy_malloced_string(&password); |
| 448 |
return FALSE; |
return FALSE; |
| 484 |
|
|
| 485 |
if (key_pair == NULL) { // read error |
if (key_pair == NULL) { // read error |
| 486 |
char buf[1024]; |
char buf[1024]; |
| 487 |
#ifndef NO_I18N |
UTIL_get_lang_msg("MSG_READKEY_ERROR", pvar, |
| 488 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "read error SSH2 private key file\r\n%s", _TRUNCATE); |
"read error SSH2 private key file\r\n%s"); |
|
UTIL_get_lang_msg("MSG_READKEY_ERROR", pvar); |
|
| 489 |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, errmsg); |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, errmsg); |
|
#else |
|
|
_snprintf(buf, sizeof(buf), "read error SSH2 private key file\r\n%s", errmsg); |
|
|
#endif |
|
| 490 |
notify_nonfatal_error(pvar, buf); |
notify_nonfatal_error(pvar, buf); |
| 491 |
// パスフレーズが鍵と一致しなかった場合はIDC_SSHPASSWORDにフォーカスを移す (2006.10.29 yasuhide) |
// パスフレーズが鍵と一致しなかった場合はIDC_SSHPASSWORDにフォーカスを移す (2006.10.29 yasuhide) |
| 492 |
if (invalid_passphrase) { |
if (invalid_passphrase) { |
| 533 |
} |
} |
| 534 |
if (method == SSH_AUTH_RHOSTS || method == SSH_AUTH_RHOSTS_RSA) { |
if (method == SSH_AUTH_RHOSTS || method == SSH_AUTH_RHOSTS_RSA) { |
| 535 |
if (pvar->session_settings.DefaultAuthMethod != SSH_AUTH_RHOSTS) { |
if (pvar->session_settings.DefaultAuthMethod != SSH_AUTH_RHOSTS) { |
| 536 |
#ifndef NO_I18N |
UTIL_get_lang_msg("MSG_RHOSTS_NOTDEFAULT_ERROR", pvar, |
| 537 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), |
"Rhosts authentication will probably fail because it was not " |
| 538 |
"Rhosts authentication will probably fail because it was not " |
"the default authentication method.\n" |
| 539 |
"the default authentication method.\n" |
"To use Rhosts authentication " |
| 540 |
"To use Rhosts authentication " |
"in TTSSH, you need to set it to be the default by restarting\n" |
| 541 |
"in TTSSH, you need to set it to be the default by restarting\n" |
"TTSSH and selecting \"SSH Authentication...\" from the Setup menu" |
| 542 |
"TTSSH and selecting \"SSH Authentication...\" from the Setup menu" |
"before connecting."); |
|
"before connecting.", |
|
|
_TRUNCATE); |
|
|
UTIL_get_lang_msg("MSG_RHOSTS_NOTDEFAULT_ERROR", pvar); |
|
| 543 |
notify_nonfatal_error(pvar, pvar->ts->UIMsg); |
notify_nonfatal_error(pvar, pvar->ts->UIMsg); |
|
#else |
|
|
notify_nonfatal_error(pvar, |
|
|
"Rhosts authentication will probably fail because it was not " |
|
|
"the default authentication method.\n" |
|
|
"To use Rhosts authentication " |
|
|
"in TTSSH, you need to set it to be the default by restarting\n" |
|
|
"TTSSH and selecting \"SSH Authentication...\" from the Setup menu" |
|
|
"before connecting."); |
|
|
#endif |
|
| 544 |
} |
} |
| 545 |
|
|
| 546 |
pvar->auth_state.cur_cred.rhosts_client_user = |
pvar->auth_state.cur_cred.rhosts_client_user = |
| 570 |
} |
} |
| 571 |
|
|
| 572 |
EndDialog(dlg, 1); |
EndDialog(dlg, 1); |
|
#ifndef NO_I18N |
|
| 573 |
if (DlgAuthFont != NULL) { |
if (DlgAuthFont != NULL) { |
| 574 |
DeleteObject(DlgAuthFont); |
DeleteObject(DlgAuthFont); |
| 575 |
} |
} |
|
#endif |
|
| 576 |
|
|
| 577 |
return TRUE; |
return TRUE; |
| 578 |
} |
} |
| 583 |
const int IDC_TIMER1 = 300; |
const int IDC_TIMER1 = 300; |
| 584 |
const int autologin_timeout = 10; // ミリ秒 |
const int autologin_timeout = 10; // ミリ秒 |
| 585 |
PTInstVar pvar; |
PTInstVar pvar; |
|
#ifndef NO_I18N |
|
| 586 |
LOGFONT logfont; |
LOGFONT logfont; |
| 587 |
HFONT font; |
HFONT font; |
|
#endif |
|
| 588 |
|
|
| 589 |
switch (msg) { |
switch (msg) { |
| 590 |
case WM_INITDIALOG: |
case WM_INITDIALOG: |
| 594 |
|
|
| 595 |
init_auth_dlg(pvar, dlg); |
init_auth_dlg(pvar, dlg); |
| 596 |
|
|
|
#ifndef NO_I18N |
|
| 597 |
font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0); |
font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0); |
| 598 |
GetObject(font, sizeof(LOGFONT), &logfont); |
GetObject(font, sizeof(LOGFONT), &logfont); |
| 599 |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgAuthFont, pvar)) { |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgAuthFont, pvar)) { |
| 620 |
else { |
else { |
| 621 |
DlgAuthFont = NULL; |
DlgAuthFont = NULL; |
| 622 |
} |
} |
|
#endif |
|
| 623 |
|
|
| 624 |
// SSH2 autologinが有効の場合は、タイマを仕掛ける。 (2004.12.1 yutaka) |
// SSH2 autologinが有効の場合は、タイマを仕掛ける。 (2004.12.1 yutaka) |
| 625 |
if (pvar->ssh2_autologin == 1) { |
if (pvar->ssh2_autologin == 1) { |
| 653 |
notify_closed_connection(pvar); |
notify_closed_connection(pvar); |
| 654 |
EndDialog(dlg, 0); |
EndDialog(dlg, 0); |
| 655 |
|
|
|
#ifndef NO_I18N |
|
| 656 |
if (DlgAuthFont != NULL) { |
if (DlgAuthFont != NULL) { |
| 657 |
DeleteObject(DlgAuthFont); |
DeleteObject(DlgAuthFont); |
| 658 |
} |
} |
|
#endif |
|
| 659 |
|
|
| 660 |
return TRUE; |
return TRUE; |
| 661 |
|
|
| 667 |
return TRUE; |
return TRUE; |
| 668 |
|
|
| 669 |
case IDC_CHOOSERSAFILE: |
case IDC_CHOOSERSAFILE: |
|
#ifndef NO_I18N |
|
| 670 |
choose_RSA_key_file(dlg, pvar); |
choose_RSA_key_file(dlg, pvar); |
|
#else |
|
|
choose_RSA_key_file(dlg); |
|
|
#endif |
|
| 671 |
return TRUE; |
return TRUE; |
| 672 |
|
|
| 673 |
case IDC_CHOOSEHOSTRSAFILE: |
case IDC_CHOOSEHOSTRSAFILE: |
|
#ifndef NO_I18N |
|
| 674 |
choose_host_RSA_key_file(dlg, pvar); |
choose_host_RSA_key_file(dlg, pvar); |
|
#else |
|
|
choose_host_RSA_key_file(dlg); |
|
|
#endif |
|
| 675 |
return TRUE; |
return TRUE; |
| 676 |
|
|
| 677 |
default: |
default: |
| 714 |
pvar->auth_state.supported_types = types; |
pvar->auth_state.supported_types = types; |
| 715 |
|
|
| 716 |
if (types == 0) { |
if (types == 0) { |
| 717 |
#ifndef NO_I18N |
UTIL_get_lang_msg("MSG_NOAUTHMETHOD_ERROR", pvar, |
| 718 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), |
"Server does not support any of the authentication options\n" |
| 719 |
"Server does not support any of the authentication options\n" |
"provided by TTSSH. This connection will now close."); |
|
"provided by TTSSH. This connection will now close.", |
|
|
_TRUNCATE); |
|
|
UTIL_get_lang_msg("MSG_NOAUTHMETHOD_ERROR", pvar); |
|
| 720 |
notify_fatal_error(pvar, pvar->ts->UIMsg); |
notify_fatal_error(pvar, pvar->ts->UIMsg); |
|
#else |
|
|
notify_fatal_error(pvar, |
|
|
"Server does not support any of the authentication options\n" |
|
|
"provided by TTSSH. This connection will now close."); |
|
|
#endif |
|
| 721 |
return 0; |
return 0; |
| 722 |
} else { |
} else { |
| 723 |
if (pvar->auth_state.auth_dialog != NULL) { |
if (pvar->auth_state.auth_dialog != NULL) { |
| 835 |
|
|
| 836 |
static void init_TIS_dlg(PTInstVar pvar, HWND dlg) |
static void init_TIS_dlg(PTInstVar pvar, HWND dlg) |
| 837 |
{ |
{ |
| 838 |
#ifndef NO_I18N |
char uimsg[MAX_UIMSG]; |
|
GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
|
|
UTIL_get_lang_msg("DLG_TIS_TITLE", pvar); |
|
|
SetWindowText(dlg, pvar->ts->UIMsg); |
|
| 839 |
|
|
| 840 |
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
GetWindowText(dlg, uimsg, sizeof(uimsg)); |
| 841 |
UTIL_get_lang_msg("DLG_TIS_BANNER", pvar); |
UTIL_get_lang_msg("DLG_TIS_TITLE", pvar, uimsg); |
| 842 |
|
SetWindowText(dlg, pvar->ts->UIMsg); |
| 843 |
|
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, uimsg, sizeof(uimsg)); |
| 844 |
|
UTIL_get_lang_msg("DLG_TIS_BANNER", pvar, uimsg); |
| 845 |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg); |
| 846 |
|
GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg)); |
| 847 |
GetDlgItemText(dlg, IDOK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("BTN_OK", pvar, uimsg); |
|
UTIL_get_lang_msg("BTN_OK", pvar); |
|
| 848 |
SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg); |
| 849 |
|
GetDlgItemText(dlg, IDCANCEL, uimsg, sizeof(uimsg)); |
| 850 |
GetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("BTN_DISCONNECT", pvar, uimsg); |
|
UTIL_get_lang_msg("BTN_DISCONNECT", pvar); |
|
| 851 |
SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg); |
|
#endif |
|
| 852 |
|
|
| 853 |
init_auth_machine_banner(pvar, dlg); |
init_auth_machine_banner(pvar, dlg); |
| 854 |
init_password_control(dlg); |
init_password_control(dlg); |
| 888 |
LPARAM lParam) |
LPARAM lParam) |
| 889 |
{ |
{ |
| 890 |
PTInstVar pvar; |
PTInstVar pvar; |
|
#ifndef NO_I18N |
|
| 891 |
LOGFONT logfont; |
LOGFONT logfont; |
| 892 |
HFONT font; |
HFONT font; |
|
#endif |
|
| 893 |
|
|
| 894 |
switch (msg) { |
switch (msg) { |
| 895 |
case WM_INITDIALOG: |
case WM_INITDIALOG: |
| 899 |
|
|
| 900 |
init_TIS_dlg(pvar, dlg); |
init_TIS_dlg(pvar, dlg); |
| 901 |
|
|
|
#ifndef NO_I18N |
|
| 902 |
font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0); |
font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0); |
| 903 |
GetObject(font, sizeof(LOGFONT), &logfont); |
GetObject(font, sizeof(LOGFONT), &logfont); |
| 904 |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgTisFont, pvar)) { |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgTisFont, pvar)) { |
| 911 |
else { |
else { |
| 912 |
DlgTisFont = NULL; |
DlgTisFont = NULL; |
| 913 |
} |
} |
|
#endif |
|
| 914 |
|
|
| 915 |
return FALSE; /* because we set the focus */ |
return FALSE; /* because we set the focus */ |
| 916 |
|
|
| 919 |
|
|
| 920 |
switch (LOWORD(wParam)) { |
switch (LOWORD(wParam)) { |
| 921 |
case IDOK: |
case IDOK: |
|
#ifndef NO_I18N |
|
| 922 |
if (DlgTisFont != NULL) { |
if (DlgTisFont != NULL) { |
| 923 |
DeleteObject(DlgTisFont); |
DeleteObject(DlgTisFont); |
| 924 |
} |
} |
|
#endif |
|
| 925 |
|
|
| 926 |
return end_TIS_dlg(pvar, dlg); |
return end_TIS_dlg(pvar, dlg); |
| 927 |
|
|
| 930 |
notify_closed_connection(pvar); |
notify_closed_connection(pvar); |
| 931 |
EndDialog(dlg, 0); |
EndDialog(dlg, 0); |
| 932 |
|
|
|
#ifndef NO_I18N |
|
| 933 |
if (DlgTisFont != NULL) { |
if (DlgTisFont != NULL) { |
| 934 |
DeleteObject(DlgTisFont); |
DeleteObject(DlgTisFont); |
| 935 |
} |
} |
|
#endif |
|
| 936 |
|
|
| 937 |
return TRUE; |
return TRUE; |
| 938 |
|
|
| 967 |
cur_active != |
cur_active != |
| 968 |
NULL ? cur_active : pvar->NotificationWindow, |
NULL ? cur_active : pvar->NotificationWindow, |
| 969 |
dlg_proc, (LPARAM) pvar) == -1) { |
dlg_proc, (LPARAM) pvar) == -1) { |
| 970 |
#ifndef NO_I18N |
UTIL_get_lang_msg("MSG_CREATEWINDOW_AUTH_ERROR", pvar, |
| 971 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), |
"Unable to display authentication dialog box.\n" |
| 972 |
"Unable to display authentication dialog box.\n" |
"Connection terminated."); |
|
"Connection terminated.", |
|
|
_TRUNCATE); |
|
|
UTIL_get_lang_msg("MSG_CREATEWINDOW_AUTH_ERROR", pvar); |
|
| 973 |
notify_fatal_error(pvar, pvar->ts->UIMsg); |
notify_fatal_error(pvar, pvar->ts->UIMsg); |
|
#else |
|
|
notify_fatal_error(pvar, |
|
|
"Unable to display authentication dialog box.\n" |
|
|
"Connection terminated."); |
|
|
#endif |
|
| 974 |
} |
} |
| 975 |
} |
} |
| 976 |
} |
} |
| 977 |
|
|
| 978 |
static void init_default_auth_dlg(PTInstVar pvar, HWND dlg) |
static void init_default_auth_dlg(PTInstVar pvar, HWND dlg) |
| 979 |
{ |
{ |
| 980 |
#ifndef NO_I18N |
char uimsg[MAX_UIMSG]; |
|
GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
|
|
UTIL_get_lang_msg("DLG_AUTHSETUP_TITLE", pvar); |
|
|
SetWindowText(dlg, pvar->ts->UIMsg); |
|
| 981 |
|
|
| 982 |
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
GetWindowText(dlg, uimsg, sizeof(uimsg)); |
| 983 |
UTIL_get_lang_msg("DLG_AUTHSETUP_BANNER", pvar); |
UTIL_get_lang_msg("DLG_AUTHSETUP_TITLE", pvar, uimsg); |
| 984 |
|
SetWindowText(dlg, pvar->ts->UIMsg); |
| 985 |
|
GetDlgItemText(dlg, IDC_SSHAUTHBANNER, uimsg, sizeof(uimsg)); |
| 986 |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_BANNER", pvar, uimsg); |
| 987 |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg); |
| 988 |
|
GetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, uimsg, sizeof(uimsg)); |
| 989 |
GetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTHSETUP_USERNAME", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_USERNAME", pvar); |
|
| 990 |
SetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg); |
| 991 |
|
GetDlgItemText(dlg, IDC_SSHUSEPASSWORD, uimsg, sizeof(uimsg)); |
| 992 |
GetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_PASSWORD", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_PASSWORD", pvar); |
|
| 993 |
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg); |
| 994 |
|
GetDlgItemText(dlg, IDC_KEYBOARD_INTERACTIVE_CHECK, uimsg, sizeof(uimsg)); |
| 995 |
GetDlgItemText(dlg, IDC_KEYBOARD_INTERACTIVE_CHECK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_PASSWORD_KBDINT", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_PASSWORD_KBDINT", pvar); |
|
| 996 |
SetDlgItemText(dlg, IDC_KEYBOARD_INTERACTIVE_CHECK, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_KEYBOARD_INTERACTIVE_CHECK, pvar->ts->UIMsg); |
| 997 |
|
GetDlgItemText(dlg, IDC_SSHUSERSA, uimsg, sizeof(uimsg)); |
| 998 |
GetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_RSA", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_RSA", pvar); |
|
| 999 |
SetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg); |
| 1000 |
|
GetDlgItemText(dlg, IDC_SSHUSERHOSTS, uimsg, sizeof(uimsg)); |
| 1001 |
GetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_RHOST", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_RHOST", pvar); |
|
| 1002 |
SetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg); |
| 1003 |
|
GetDlgItemText(dlg, IDC_SSHUSETIS, uimsg, sizeof(uimsg)); |
| 1004 |
GetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_CHALLENGE", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_CHALLENGE", pvar); |
|
| 1005 |
SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg); |
| 1006 |
|
GetDlgItemText(dlg, IDC_CHOOSERSAFILE, uimsg, sizeof(uimsg)); |
| 1007 |
GetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_PRIVATEKEY", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_PRIVATEKEY", pvar); |
|
| 1008 |
SetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg); |
| 1009 |
|
GetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, uimsg, sizeof(uimsg)); |
| 1010 |
GetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_LOCALUSER", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_LOCALUSER", pvar); |
|
| 1011 |
SetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg); |
| 1012 |
|
GetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, uimsg, sizeof(uimsg)); |
| 1013 |
GetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("DLG_AUTH_HOST_PRIVATEKEY", pvar, uimsg); |
|
UTIL_get_lang_msg("DLG_AUTH_HOST_PRIVATEKEY", pvar); |
|
| 1014 |
SetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg); |
| 1015 |
|
GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg)); |
| 1016 |
GetDlgItemText(dlg, IDOK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("BTN_OK", pvar, uimsg); |
|
UTIL_get_lang_msg("BTN_OK", pvar); |
|
| 1017 |
SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg); |
| 1018 |
|
GetDlgItemText(dlg, IDCANCEL, uimsg, sizeof(uimsg)); |
| 1019 |
GetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg)); |
UTIL_get_lang_msg("BTN_CANCEL", pvar, uimsg); |
|
UTIL_get_lang_msg("BTN_CANCEL", pvar); |
|
| 1020 |
SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg); |
SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg); |
|
#endif |
|
| 1021 |
|
|
| 1022 |
switch (pvar->settings.DefaultAuthMethod) { |
switch (pvar->settings.DefaultAuthMethod) { |
| 1023 |
case SSH_AUTH_RSA: |
case SSH_AUTH_RSA: |
| 1101 |
WPARAM wParam, LPARAM lParam) |
WPARAM wParam, LPARAM lParam) |
| 1102 |
{ |
{ |
| 1103 |
PTInstVar pvar; |
PTInstVar pvar; |
|
#ifndef NO_I18N |
|
| 1104 |
LOGFONT logfont; |
LOGFONT logfont; |
| 1105 |
HFONT font; |
HFONT font; |
|
#endif |
|
| 1106 |
|
|
| 1107 |
switch (msg) { |
switch (msg) { |
| 1108 |
case WM_INITDIALOG: |
case WM_INITDIALOG: |
| 1111 |
|
|
| 1112 |
init_default_auth_dlg(pvar, dlg); |
init_default_auth_dlg(pvar, dlg); |
| 1113 |
|
|
|
#ifndef NO_I18N |
|
| 1114 |
font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0); |
font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0); |
| 1115 |
GetObject(font, sizeof(LOGFONT), &logfont); |
GetObject(font, sizeof(LOGFONT), &logfont); |
| 1116 |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgAuthSetupFont, pvar)) { |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgAuthSetupFont, pvar)) { |
| 1134 |
else { |
else { |
| 1135 |
DlgAuthSetupFont = NULL; |
DlgAuthSetupFont = NULL; |
| 1136 |
} |
} |
|
#endif |
|
| 1137 |
|
|
| 1138 |
return TRUE; /* because we do not set the focus */ |
return TRUE; /* because we do not set the focus */ |
| 1139 |
|
|
| 1143 |
switch (LOWORD(wParam)) { |
switch (LOWORD(wParam)) { |
| 1144 |
case IDOK: |
case IDOK: |
| 1145 |
|
|
|
#ifndef NO_I18N |
|
| 1146 |
if (DlgAuthSetupFont != NULL) { |
if (DlgAuthSetupFont != NULL) { |
| 1147 |
DeleteObject(DlgAuthSetupFont); |
DeleteObject(DlgAuthSetupFont); |
| 1148 |
} |
} |
|
#endif |
|
| 1149 |
|
|
| 1150 |
return end_default_auth_dlg(pvar, dlg); |
return end_default_auth_dlg(pvar, dlg); |
| 1151 |
|
|
| 1152 |
case IDCANCEL: |
case IDCANCEL: |
| 1153 |
EndDialog(dlg, 0); |
EndDialog(dlg, 0); |
| 1154 |
|
|
|
#ifndef NO_I18N |
|
| 1155 |
if (DlgAuthSetupFont != NULL) { |
if (DlgAuthSetupFont != NULL) { |
| 1156 |
DeleteObject(DlgAuthSetupFont); |
DeleteObject(DlgAuthSetupFont); |
| 1157 |
} |
} |
|
#endif |
|
| 1158 |
|
|
| 1159 |
return TRUE; |
return TRUE; |
| 1160 |
|
|
| 1161 |
case IDC_CHOOSERSAFILE: |
case IDC_CHOOSERSAFILE: |
|
#ifndef NO_I18N |
|
| 1162 |
choose_RSA_key_file(dlg, pvar); |
choose_RSA_key_file(dlg, pvar); |
|
#else |
|
|
choose_RSA_key_file(dlg); |
|
|
#endif |
|
| 1163 |
return TRUE; |
return TRUE; |
| 1164 |
|
|
| 1165 |
case IDC_CHOOSEHOSTRSAFILE: |
case IDC_CHOOSEHOSTRSAFILE: |
|
#ifndef NO_I18N |
|
| 1166 |
choose_host_RSA_key_file(dlg, pvar); |
choose_host_RSA_key_file(dlg, pvar); |
|
#else |
|
|
choose_host_RSA_key_file(dlg); |
|
|
#endif |
|
| 1167 |
return TRUE; |
return TRUE; |
| 1168 |
|
|
| 1169 |
default: |
default: |
| 1218 |
cur_active != |
cur_active != |
| 1219 |
NULL ? cur_active : pvar->NotificationWindow, |
NULL ? cur_active : pvar->NotificationWindow, |
| 1220 |
default_auth_dlg_proc, (LPARAM) pvar) == -1) { |
default_auth_dlg_proc, (LPARAM) pvar) == -1) { |
| 1221 |
#ifndef NO_I18N |
UTIL_get_lang_msg("MSG_CREATEWINDOW_AUTHSETUP_ERROR", pvar, |
| 1222 |
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "Unable to display authentication setup dialog box.", _TRUNCATE); |
"Unable to display authentication setup dialog box."); |
|
UTIL_get_lang_msg("MSG_CREATEWINDOW_AUTHSETUP_ERROR", pvar); |
|
| 1223 |
notify_nonfatal_error(pvar, pvar->ts->UIMsg); |
notify_nonfatal_error(pvar, pvar->ts->UIMsg); |
|
#else |
|
|
notify_nonfatal_error(pvar, |
|
|
"Unable to display authentication setup dialog box."); |
|
|
#endif |
|
| 1224 |
} |
} |
| 1225 |
} |
} |
| 1226 |
|
|
| 1260 |
strncpy_s(dest, len, "None", _TRUNCATE); |
strncpy_s(dest, len, "None", _TRUNCATE); |
| 1261 |
} else if (pvar->auth_state.cur_cred.method != SSH_AUTH_NONE) { |
} else if (pvar->auth_state.cur_cred.method != SSH_AUTH_NONE) { |
| 1262 |
if (SSHv1(pvar)) { |
if (SSHv1(pvar)) { |
| 1263 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
|
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "User '%s', using %s", _TRUNCATE); |
|
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar); |
|
| 1264 |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, pvar->auth_state.user, |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, pvar->auth_state.user, |
| 1265 |
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
|
#else |
|
|
_snprintf(dest, len, "User '%s', using %s", pvar->auth_state.user, |
|
|
get_auth_method_name(pvar->auth_state.cur_cred.method)); |
|
|
#endif |
|
| 1266 |
|
|
| 1267 |
} else { |
} else { |
| 1268 |
// SSH2:認証メソッドの判別 (2004.12.23 yutaka) |
// SSH2:認証メソッドの判別 (2004.12.23 yutaka) |
| 1276 |
} else { |
} else { |
| 1277 |
method = get_auth_method_name(pvar->auth_state.cur_cred.method); |
method = get_auth_method_name(pvar->auth_state.cur_cred.method); |
| 1278 |
} |
} |
| 1279 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
|
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "User '%s', using %s", _TRUNCATE); |
|
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar); |
|
| 1280 |
_snprintf_s(dest, len, _TRUNCATE, |
_snprintf_s(dest, len, _TRUNCATE, |
| 1281 |
pvar->ts->UIMsg, pvar->auth_state.user, method); |
pvar->ts->UIMsg, pvar->auth_state.user, method); |
|
#else |
|
|
_snprintf(dest, len, "User '%s', using %s", pvar->auth_state.user, method); |
|
|
#endif |
|
| 1282 |
|
|
| 1283 |
} else { |
} else { |
| 1284 |
if (pvar->auth_state.cur_cred.key_pair->RSA_key != NULL) { |
if (pvar->auth_state.cur_cred.key_pair->RSA_key != NULL) { |
| 1286 |
} else if (pvar->auth_state.cur_cred.key_pair->DSA_key != NULL) { |
} else if (pvar->auth_state.cur_cred.key_pair->DSA_key != NULL) { |
| 1287 |
method = "DSA"; |
method = "DSA"; |
| 1288 |
} |
} |
| 1289 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
|
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "User '%s', using %s", _TRUNCATE); |
|
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar); |
|
| 1290 |
_snprintf_s(dest, len, _TRUNCATE, |
_snprintf_s(dest, len, _TRUNCATE, |
| 1291 |
pvar->ts->UIMsg, pvar->auth_state.user, method); |
pvar->ts->UIMsg, pvar->auth_state.user, method); |
|
#else |
|
|
_snprintf(dest, len, "User '%s', using %s", pvar->auth_state.user, method); |
|
|
#endif |
|
| 1292 |
} |
} |
| 1293 |
|
|
| 1294 |
} |
} |
| 1295 |
|
|
| 1296 |
} else { |
} else { |
| 1297 |
#ifndef NO_I18N |
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar, "User '%s', using %s"); |
|
strncpy_s(pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg), "User '%s', using %s", _TRUNCATE); |
|
|
UTIL_get_lang_msg("DLG_ABOUT_AUTH_INFO", pvar); |
|
| 1298 |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, pvar->auth_state.user, |
_snprintf_s(dest, len, _TRUNCATE, pvar->ts->UIMsg, pvar->auth_state.user, |
| 1299 |
get_auth_method_name(pvar->auth_state.failed_method)); |
get_auth_method_name(pvar->auth_state.failed_method)); |
|
#else |
|
|
_snprintf(dest, len, "User '%s', using %s", pvar->auth_state.user, |
|
|
get_auth_method_name(pvar->auth_state.failed_method)); |
|
|
#endif |
|
| 1300 |
} |
} |
| 1301 |
|
|
| 1302 |
dest[len - 1] = 0; |
dest[len - 1] = 0; |
| 1321 |
|
|
| 1322 |
/* |
/* |
| 1323 |
* $Log: not supported by cvs2svn $ |
* $Log: not supported by cvs2svn $ |
| 1324 |
|
* Revision 1.34 2007/08/08 16:04:08 maya |
| 1325 |
|
* 安全な関数を使用するように変更した。 |
| 1326 |
|
* |
| 1327 |
* Revision 1.33 2007/06/06 14:10:12 maya |
* Revision 1.33 2007/06/06 14:10:12 maya |
| 1328 |
* プリプロセッサにより構造体が変わってしまうので、INET6 と I18N の #define を逆転させた。 |
* プリプロセッサにより構造体が変わってしまうので、INET6 と I18N の #define を逆転させた。 |
| 1329 |
* |
* |