Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/auth.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5042 by yutakapon, Tue Oct 16 12:43:13 2012 UTC revision 5056 by maya, Fri Nov 2 13:24:06 2012 UTC
# Line 377  static int get_key_file_name(HWND parent Line 377  static int get_key_file_name(HWND parent
377          // フィルタの追加 (2004.12.19 yutaka)          // フィルタの追加 (2004.12.19 yutaka)
378          // 3ファイルフィルタの追加 (2005.4.26 yutaka)          // 3ファイルフィルタの追加 (2005.4.26 yutaka)
379          UTIL_get_lang_msg("FILEDLG_OPEN_PRIVATEKEY_FILTER", pvar,          UTIL_get_lang_msg("FILEDLG_OPEN_PRIVATEKEY_FILTER", pvar,
380                            "identity files\\0identity;id_rsa;id_dsa;id_ecdsa\\0identity(RSA1)\\0identity\\0id_rsa(SSH2)\\0id_rsa\\0id_dsa(SSH2)\\0id_dsa\\0id_ecdsa(SSH2)\\0id_ecdsa\\0all(*.*)\\0*.*\\0\\0");                            "identity files\\0identity;id_rsa;id_dsa;id_ecdsa;*.ppk\\0identity(RSA1)\\0identity\\0id_rsa(SSH2)\\0id_rsa\\0id_dsa(SSH2)\\0id_dsa\\0id_ecdsa(SSH2)\\0id_ecdsa\\0PuTTY(*.ppk)\\0*.ppk\\0all(*.*)\\0*.*\\0\\0");
 //                        "identity files\\0identity;id_rsa;id_dsa;id_ecdsa\\0identity(RSA1)\\0identity\\0id_rsa(SSH2)\\0id_rsa\\0id_dsa(SSH2)\\0id_dsa\\0id_ecdsa(SSH2)\\0id_ecdsa\\0PuTTY(*.ppk)\\0*.ppk\\0all(*.*)\\0*.*\\0\\0");  
381          memcpy(filter, pvar->ts->UIMsg, sizeof(filter));          memcpy(filter, pvar->ts->UIMsg, sizeof(filter));
382          params.lpstrFilter = filter;          params.lpstrFilter = filter;
383          params.lpstrCustomFilter = NULL;          params.lpstrCustomFilter = NULL;
# Line 481  static BOOL end_auth_dlg(PTInstVar pvar, Line 480  static BOOL end_auth_dlg(PTInstVar pvar,
480                  } else { // SSH2(yutaka)                  } else { // SSH2(yutaka)
481                          BOOL invalid_passphrase = FALSE;                          BOOL invalid_passphrase = FALSE;
482                          char errmsg[256];                          char errmsg[256];
483                            FILE *fp = NULL;
484                            ssh2_keyfile_type keyfile_type;
485    
486                          memset(errmsg, 0, sizeof(errmsg));                          memset(errmsg, 0, sizeof(errmsg));
                         //GetCurrentDirectory(sizeof(errmsg), errmsg);  
487    
488                          key_pair = read_SSH2_private_key(pvar, buf, password,                          keyfile_type = get_ssh2_keytype(buf, &fp, errmsg, sizeof(errmsg));
489                                                           &invalid_passphrase,                          switch (keyfile_type) {
490                                                           FALSE,                                  case SSH2_KEYFILE_TYPE_OPENSSH:
491                                                           errmsg,                                  {
492                                                           sizeof(errmsg)                                          key_pair = read_SSH2_private_key(pvar, fp, password,
493                                                          );                                                                           &invalid_passphrase,
494                                                                             FALSE,
495                                                                             errmsg,
496                                                                             sizeof(errmsg)
497                                                                            );
498                                            break;
499                                    }
500                                    case SSH2_KEYFILE_TYPE_PUTTY:
501                                    {
502                                            key_pair = read_SSH2_PuTTY_private_key(pvar, fp, password,
503                                                                                   &invalid_passphrase,
504                                                                                   FALSE,
505                                                                                   errmsg,
506                                                                                   sizeof(errmsg)
507                                                                                  );
508                                            break;
509                                    }
510                                    case SSH2_KEYFILE_TYPE_SECSH:
511                                    {
512                                            key_pair = read_SSH2_SECSH_private_key(pvar, fp, password,
513                                                                                   &invalid_passphrase,
514                                                                                   FALSE,
515                                                                                   errmsg,
516                                                                                   sizeof(errmsg)
517                                                                                  );
518                                            break;
519                                    }
520                                    default:
521                                    {
522                                            char buf[1024];
523                                            UTIL_get_lang_msg("MSG_READKEY_ERROR", pvar,
524                                                              "read error SSH2 private key file\r\n%s");
525                                            _snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, errmsg);
526                                            notify_nonfatal_error(pvar, buf);
527                                            // ここに来たということは SSH2 秘密鍵が開けない、あるいはファイル形式がおかしいので
528                                            // 鍵ファイルの選択ボタンにフォーカスを移す
529                                            SetFocus(GetDlgItem(dlg, IDC_CHOOSERSAFILE));
530                                            destroy_malloced_string(&password);
531                                            return FALSE;
532                                    }
533                            }
534    
535                          if (key_pair == NULL) { // read error                          if (key_pair == NULL) { // read error
536                                  char buf[1024];                                  char buf[1024];

Legend:
Removed from v.5042  
changed lines
  Added in v.5056

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26