Develop and Download Open Source Software

Browse Subversion Repository

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

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

revision 2930 by maya, Tue Nov 14 09:00:40 2006 UTC revision 2937 by maya, Thu Nov 23 02:19:30 2006 UTC
# Line 74  static char FAR *ProtocolFamilyList[] = Line 74  static char FAR *ProtocolFamilyList[] =
74  #include "buffer.h"  #include "buffer.h"
75  #include "cipher.h"  #include "cipher.h"
76    
77    
78  #define MATCH_STR(s, o) strncmp((s), (o), NUM_ELEM(o) - 1)  #define MATCH_STR(s, o) strncmp((s), (o), NUM_ELEM(o) - 1)
79  #define MATCH_STR_I(s, o) _strnicmp((s), (o), NUM_ELEM(o) - 1)  #define MATCH_STR_I(s, o) _strnicmp((s), (o), NUM_ELEM(o) - 1)
80    
# Line 86  static HICON SecureLargeIcon = NULL; Line 87  static HICON SecureLargeIcon = NULL;
87  static HICON SecureSmallIcon = NULL;  static HICON SecureSmallIcon = NULL;
88  #endif  #endif
89    
90    #ifdef I18N
91    static HFONT DlgAboutFont;
92    #endif
93    
94  static TInstVar FAR *pvar;  static TInstVar FAR *pvar;
95    
96  #ifdef TERATERM32  #ifdef TERATERM32
# Line 752  void notify_nonfatal_error(PTInstVar pva Line 757  void notify_nonfatal_error(PTInstVar pva
757                  // 未接続の状態では通知先ウィンドウがないので、デスクトップをオーナーとして                  // 未接続の状態では通知先ウィンドウがないので、デスクトップをオーナーとして
758                  // メッセージボックスを出現させる。(2006.6.11 yutaka)                  // メッセージボックスを出現させる。(2006.6.11 yutaka)
759                  if (pvar->NotificationWindow == NULL) {                  if (pvar->NotificationWindow == NULL) {
760    #ifdef I18N
761                            strcpy(pvar->ts->UIMsg, "Tera Term: not fatal error");
762                            UTIL_get_lang_msg("MSG_ERROR_NONFAITAL", pvar);
763                            MessageBox(NULL, msg, pvar->ts->UIMsg, MB_OK|MB_ICONINFORMATION);
764    #else
765                          MessageBox(NULL, msg, "Tera Term: not fatal error", MB_OK|MB_ICONINFORMATION);                          MessageBox(NULL, msg, "Tera Term: not fatal error", MB_OK|MB_ICONINFORMATION);
766    #endif
767                          msg[0] = '\0';                          msg[0] = '\0';
768    
769                  } else {                  } else {
# Line 894  static BOOL CALLBACK TTXHostDlg(HWND dlg Line 905  static BOOL CALLBACK TTXHostDlg(HWND dlg
905                  GetHNRec = (PGetHNRec) lParam;                  GetHNRec = (PGetHNRec) lParam;
906                  SetWindowLong(dlg, DWL_USER, lParam);                  SetWindowLong(dlg, DWL_USER, lParam);
907    
908    #ifdef I18N
909                    GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
910                    UTIL_get_lang_msg("DLG_HOST_TITLE", pvar);
911                    SetWindowText(dlg, pvar->ts->UIMsg);
912    
913                    GetDlgItemText(dlg, IDC_HOSTNAMELABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
914                    UTIL_get_lang_msg("DLG_HOST_TCPIP_HOST", pvar);
915                    SetDlgItemText(dlg, IDC_HOSTNAMELABEL, pvar->ts->UIMsg);
916    
917                    GetDlgItemText(dlg, IDC_HISTORY, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
918                    UTIL_get_lang_msg("DLG_HOST_TCPIP_HISTORY", pvar);
919                    SetDlgItemText(dlg, IDC_HISTORY, pvar->ts->UIMsg);
920    
921                    GetDlgItemText(dlg, IDC_SERVICELABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
922                    UTIL_get_lang_msg("DLG_HOST_TCPIP_SERVICE", pvar);
923                    SetDlgItemText(dlg, IDC_SERVICELABEL, pvar->ts->UIMsg);
924    
925                    GetDlgItemText(dlg, IDC_HOSTOTHER, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
926                    UTIL_get_lang_msg("IDC_HOSTOTHER", pvar);
927                    SetDlgItemText(dlg, IDC_HOSTOTHER, pvar->ts->UIMsg);
928    
929                    GetDlgItemText(dlg, IDC_HOSTTCPPORTLABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
930                    UTIL_get_lang_msg("DLG_HOST_TCPIP_PORT", pvar);
931                    SetDlgItemText(dlg, IDC_HOSTTCPPORTLABEL, pvar->ts->UIMsg);
932    
933                    GetDlgItemText(dlg, IDC_SSH_VERSION_LABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
934                    UTIL_get_lang_msg("DLG_HOST_TCPIP_SSHVERSION", pvar);
935                    SetDlgItemText(dlg, IDC_SSH_VERSION_LABEL, pvar->ts->UIMsg);
936    
937                    GetDlgItemText(dlg, IDC_HOSTTCPPROTOCOLLABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
938                    UTIL_get_lang_msg("DLG_HOST_TCPIP_PROTOCOL", pvar);
939                    SetDlgItemText(dlg, IDC_HOSTTCPPROTOCOLLABEL, pvar->ts->UIMsg);
940    
941                    GetDlgItemText(dlg, IDC_HOSTSERIAL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
942                    UTIL_get_lang_msg("DLG_HOST_SERIAL", pvar);
943                    SetDlgItemText(dlg, IDC_HOSTSERIAL, pvar->ts->UIMsg);
944    
945                    GetDlgItemText(dlg, IDC_HOSTCOMLABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
946                    UTIL_get_lang_msg("DLG_HOST_SERIAL_PORT", pvar);
947                    SetDlgItemText(dlg, IDC_HOSTCOMLABEL, pvar->ts->UIMsg);
948    
949                    GetDlgItemText(dlg, IDC_HOSTHELP, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
950                    UTIL_get_lang_msg("DLG_HOST_HELP", pvar);
951                    SetDlgItemText(dlg, IDC_HOSTHELP, pvar->ts->UIMsg);
952    
953                    GetDlgItemText(dlg, IDOK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
954                    UTIL_get_lang_msg("BTN_OK", pvar);
955                    SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
956    
957                    GetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
958                    UTIL_get_lang_msg("BTN_CANCEL", pvar);
959                    SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg);
960    #endif
961    
962                  // ホストヒストリのチェックボックスを追加 (2005.10.21 yutaka)                  // ホストヒストリのチェックボックスを追加 (2005.10.21 yutaka)
963                  if (pvar->ts->HistoryList > 0) {                  if (pvar->ts->HistoryList > 0) {
964                          SendMessage(GetDlgItem(dlg, IDC_HISTORY), BM_SETCHECK, BST_CHECKED, 0);                          SendMessage(GetDlgItem(dlg, IDC_HISTORY), BM_SETCHECK, BST_CHECKED, 0);
# Line 1028  static BOOL CALLBACK TTXHostDlg(HWND dlg Line 1093  static BOOL CALLBACK TTXHostDlg(HWND dlg
1093                                          if (Ok) {                                          if (Ok) {
1094                                                  GetHNRec->TCPPort = i;                                                  GetHNRec->TCPPort = i;
1095                                          } else {                                          } else {
1096    #ifdef I18N
1097                                                    strcpy(pvar->ts->UIMsg, "The TCP port must be a number.");
1098                                                    UTIL_get_lang_msg("MSG_TCPPORT_NAN_ERROR", pvar);
1099                                                    MessageBox(dlg, pvar->ts->UIMsg,
1100                                                                       "Teraterm", MB_OK | MB_ICONEXCLAMATION);
1101    #else
1102                                                  MessageBox(dlg, "The TCP port must be a number.",                                                  MessageBox(dlg, "The TCP port must be a number.",
1103                                                                     "Teraterm", MB_OK | MB_ICONEXCLAMATION);                                                                     "Teraterm", MB_OK | MB_ICONEXCLAMATION);
1104    #endif
1105                                                  return TRUE;                                                  return TRUE;
1106                                          }                                          }
1107  #ifdef INET6  #ifdef INET6
# Line 1265  static int parse_option(PTInstVar pvar, Line 1337  static int parse_option(PTInstVar pvar,
1337                          } else {                          } else {
1338                                  char buf[1024];                                  char buf[1024];
1339    
1340    #ifdef I18N
1341                                    strcpy(pvar->ts->UIMsg, "Unrecognized command-line option: %s");
1342                                    UTIL_get_lang_msg("MSG_UNKNOWN_OPTION_ERROR", pvar);
1343                                    _snprintf(buf, sizeof(buf), pvar->ts->UIMsg, option);
1344    #else
1345                                  _snprintf(buf, sizeof(buf),                                  _snprintf(buf, sizeof(buf),
1346                                                    "Unrecognized command-line option: %s", option);                                                    "Unrecognized command-line option: %s", option);
1347    #endif
1348                                  buf[sizeof(buf) - 1] = 0;                                  buf[sizeof(buf) - 1] = 0;
1349    
1350                                  MessageBox(NULL, buf, "TTSSH", MB_OK | MB_ICONEXCLAMATION);                                  MessageBox(NULL, buf, "TTSSH", MB_OK | MB_ICONEXCLAMATION);
# Line 1504  static void PASCAL FAR TTXModifyMenu(HME Line 1582  static void PASCAL FAR TTXModifyMenu(HME
1582          GET_VAR();          GET_VAR();
1583    
1584          /* inserts before ID_HELP_ABOUT */          /* inserts before ID_HELP_ABOUT */
1585    #ifdef I18N
1586            strcpy(pvar->ts->UIMsg, "About &TTSSH...");
1587            UTIL_get_lang_msg("MENU_ABOUT", pvar);
1588            insertMenuBeforeItem(menu, 50990, MF_ENABLED, ID_ABOUTMENU, pvar->ts->UIMsg);
1589    #else
1590          insertMenuBeforeItem(menu, 50990, MF_ENABLED, ID_ABOUTMENU,          insertMenuBeforeItem(menu, 50990, MF_ENABLED, ID_ABOUTMENU,
1591                                                   "About &TTSSH...");                                                   "About &TTSSH...");
1592    #endif
1593    
1594          /* inserts before ID_SETUP_TCPIP */          /* inserts before ID_SETUP_TCPIP */
1595    #ifdef I18N
1596            strcpy(pvar->ts->UIMsg, "SS&H...");
1597            UTIL_get_lang_msg("MENU_SSH", pvar);
1598            insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHSETUPMENU, pvar->ts->UIMsg);
1599    #else
1600          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHSETUPMENU,          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHSETUPMENU,
1601                                                   "SS&H...");                                                   "SS&H...");
1602    #endif
1603          /* inserts before ID_SETUP_TCPIP */          /* inserts before ID_SETUP_TCPIP */
1604    #ifdef I18N
1605            strcpy(pvar->ts->UIMsg, "SSH &Authentication...");
1606            UTIL_get_lang_msg("MENU_SSH_AUTH", pvar);
1607            insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHAUTHSETUPMENU, pvar->ts->UIMsg);
1608    #else
1609          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHAUTHSETUPMENU,          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHAUTHSETUPMENU,
1610                                                   "SSH &Authentication...");                                                   "SSH &Authentication...");
1611    #endif
1612          /* inserts before ID_SETUP_TCPIP */          /* inserts before ID_SETUP_TCPIP */
1613    #ifdef I18N
1614            strcpy(pvar->ts->UIMsg, "SSH F&orwarding...");
1615            UTIL_get_lang_msg("MENU_SSH_FORWARD", pvar);
1616            insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHFWDSETUPMENU, pvar->ts->UIMsg);
1617    #else
1618          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHFWDSETUPMENU,          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHFWDSETUPMENU,
1619                                                   "SSH F&orwarding...");                                                   "SSH F&orwarding...");
1620    #endif
1621    
1622    #ifdef I18N
1623            strcpy(pvar->ts->UIMsg, "SSH KeyGenerator...");
1624            UTIL_get_lang_msg("MENU_SSH_KEYGEN", pvar);
1625            insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHKEYGENMENU, pvar->ts->UIMsg);
1626    #else
1627          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHKEYGENMENU,          insertMenuBeforeItem(menu, 50360, MF_ENABLED, ID_SSHKEYGENMENU,
1628                                                   "SSH KeyGenerator...");                                                   "SSH KeyGenerator...");
1629    #endif
1630  }  }
1631    
1632  static void append_about_text(HWND dlg, char FAR * prefix, char FAR * msg)  static void append_about_text(HWND dlg, char FAR * prefix, char FAR * msg)
# Line 1593  static void init_about_dlg(PTInstVar pva Line 1701  static void init_about_dlg(PTInstVar pva
1701  {  {
1702          char buf[1024];          char buf[1024];
1703          int a, b, c, d;          int a, b, c, d;
1704            
1705    #ifdef I18N
1706            GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1707            UTIL_get_lang_msg("DLG_ABOUT_TITLE", pvar);
1708            SetWindowText(dlg, pvar->ts->UIMsg);
1709    
1710            GetDlgItemText(dlg, IDOK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1711            UTIL_get_lang_msg("BTN_OK", pvar);
1712            SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
1713    #endif
1714            
1715          // TTSSHのバージョンを設定する (2005.2.28 yutaka)          // TTSSHのバージョンを設定する (2005.2.28 yutaka)
1716          get_file_version("ttxssh.dll", &a, &b, &c, &d);          get_file_version("ttxssh.dll", &a, &b, &c, &d);
1717          _snprintf(buf, sizeof(buf), "TTSSH\r\nTeraterm Secure Shell extension, %d.%d", a, b);          _snprintf(buf, sizeof(buf), "TTSSH\r\nTeraterm Secure Shell extension, %d.%d", a, b);
# Line 1694  static void init_about_dlg(PTInstVar pva Line 1812  static void init_about_dlg(PTInstVar pva
1812  static BOOL CALLBACK TTXAboutDlg(HWND dlg, UINT msg, WPARAM wParam,  static BOOL CALLBACK TTXAboutDlg(HWND dlg, UINT msg, WPARAM wParam,
1813                                                                   LPARAM lParam)                                                                   LPARAM lParam)
1814  {  {
1815    #ifdef I18N
1816            LOGFONT logfont;
1817            HFONT font;
1818    #endif
1819          switch (msg) {          switch (msg) {
1820          case WM_INITDIALOG:          case WM_INITDIALOG:
1821    #ifdef I18N
1822                    font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0);
1823                    GetObject(font, sizeof(LOGFONT), &logfont);
1824                    if (UTIL_get_lang_font("DLG_ABOUT_FONT", dlg, &logfont, &DlgAboutFont, pvar)) {
1825                            SendDlgItemMessage(dlg, IDC_TTSSH_VERSION, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1826                            SendDlgItemMessage(dlg, IDC_SSHVERSIONS, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1827                            SendDlgItemMessage(dlg, IDC_INCLUDES, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1828                            SendDlgItemMessage(dlg, IDC_OPENSSL_VERSION, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1829                            SendDlgItemMessage(dlg, IDC_ZLIB_VERSION, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1830                            SendDlgItemMessage(dlg, IDC_WEBSITES, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1831                            SendDlgItemMessage(dlg, IDC_CRYPTOGRAPHY, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1832                            SendDlgItemMessage(dlg, IDC_CREDIT, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1833                            SendDlgItemMessage(dlg, IDC_ABOUTTEXT, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1834                            SendDlgItemMessage(dlg, IDOK, WM_SETFONT, (WPARAM)DlgAboutFont, MAKELPARAM(TRUE,0));
1835                    }
1836                    else {
1837                            DlgAboutFont = NULL;
1838                    }
1839    #endif
1840                  init_about_dlg((PTInstVar) lParam, dlg);                  init_about_dlg((PTInstVar) lParam, dlg);
1841                  return TRUE;                  return TRUE;
1842          case WM_COMMAND:          case WM_COMMAND:
1843                  switch (LOWORD(wParam)) {                  switch (LOWORD(wParam)) {
1844                  case IDOK:                  case IDOK:
1845                          EndDialog(dlg, 1);                          EndDialog(dlg, 1);
1846    #ifdef I18N
1847                            if (DlgAboutFont != NULL) {
1848                                    DeleteObject(DlgAboutFont);
1849                            }
1850    #endif
1851                          return TRUE;                          return TRUE;
1852                  case IDCANCEL:                  /* there isn't a cancel button, but other Windows                  case IDCANCEL:                  /* there isn't a cancel button, but other Windows
1853                                                                     UI things can send this message */                                                                     UI things can send this message */
1854                          EndDialog(dlg, 0);                          EndDialog(dlg, 0);
1855    #ifdef I18N
1856                            if (DlgAboutFont != NULL) {
1857                                    DeleteObject(DlgAboutFont);
1858                            }
1859    #endif
1860                          return TRUE;                          return TRUE;
1861                  }                  }
1862                  break;                  break;
# Line 1718  static char FAR *get_cipher_name(int cip Line 1869  static char FAR *get_cipher_name(int cip
1869  {  {
1870          switch (cipher) {          switch (cipher) {
1871          case SSH_CIPHER_NONE:          case SSH_CIPHER_NONE:
1872    #ifdef I18N
1873                    strcpy(pvar->ts->UIMsg, "<ciphers below this line are disabled>");
1874                    UTIL_get_lang_msg("DLG_SSHSETUP_CIPHER_BORDER", pvar);
1875                    return pvar->ts->UIMsg;
1876    #else
1877                  return "<ciphers below this line are disabled>";                  return "<ciphers below this line are disabled>";
1878    #endif
1879          case SSH_CIPHER_RC4:          case SSH_CIPHER_RC4:
1880                  return "RC4";                  return "RC4";
1881          case SSH_CIPHER_3DES:          case SSH_CIPHER_3DES:
# Line 1761  static void init_setup_dlg(PTInstVar pva Line 1918  static void init_setup_dlg(PTInstVar pva
1918          HWND cipherControl = GetDlgItem(dlg, IDC_SSHCIPHERPREFS);          HWND cipherControl = GetDlgItem(dlg, IDC_SSHCIPHERPREFS);
1919          int i;          int i;
1920          int ch;          int ch;
1921            
1922    #ifdef I18N
1923            GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1924            UTIL_get_lang_msg("DLG_SSHSETUP_TITLE", pvar);
1925            SetWindowText(dlg, pvar->ts->UIMsg);
1926    
1927            GetDlgItemText(dlg, IDC_COMPRESSLABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1928            UTIL_get_lang_msg("DLG_SSHSETUP_COMPRESS", pvar);
1929            SetDlgItemText(dlg, IDC_COMPRESSLABEL, pvar->ts->UIMsg);
1930    
1931            GetDlgItemText(dlg, IDC_COMPRESSNONE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1932            UTIL_get_lang_msg("DLG_SSHSETUP_COMPRESS_NONE", pvar);
1933            SetDlgItemText(dlg, IDC_COMPRESSNONE, pvar->ts->UIMsg);
1934    
1935            GetDlgItemText(dlg, IDC_COMPRESSHIGH, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1936            UTIL_get_lang_msg("DLG_SSHSETUP_COMPRESS_HIGHEST", pvar);
1937            SetDlgItemText(dlg, IDC_COMPRESSHIGH, pvar->ts->UIMsg);
1938    
1939            GetDlgItemText(dlg, IDC_CIPHERORDER, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1940            UTIL_get_lang_msg("DLG_SSHSETUP_CHIPER", pvar);
1941            SetDlgItemText(dlg, IDC_CIPHERORDER, pvar->ts->UIMsg);
1942    
1943            GetDlgItemText(dlg, IDC_SSHMOVECIPHERUP, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1944            UTIL_get_lang_msg("DLG_SSHSETUP_CHIPER_UP", pvar);
1945            SetDlgItemText(dlg, IDC_SSHMOVECIPHERUP, pvar->ts->UIMsg);
1946    
1947            GetDlgItemText(dlg, IDC_SSHMOVECIPHERDOWN, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1948            UTIL_get_lang_msg("DLG_SSHSETUP_CHIPER_DOWN", pvar);
1949            SetDlgItemText(dlg, IDC_SSHMOVECIPHERDOWN, pvar->ts->UIMsg);
1950    
1951            GetDlgItemText(dlg, IDC_KNOWNHOSTS, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1952            UTIL_get_lang_msg("DLG_SSHSETUP_KNOWNHOST", pvar);
1953            SetDlgItemText(dlg, IDC_KNOWNHOSTS, pvar->ts->UIMsg);
1954    
1955            GetDlgItemText(dlg, IDC_CHOOSEREADWRITEFILE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1956            UTIL_get_lang_msg("DLG_SSHSETUP_KNOWNHOST_RW", pvar);
1957            SetDlgItemText(dlg, IDC_CHOOSEREADWRITEFILE, pvar->ts->UIMsg);
1958    
1959            GetDlgItemText(dlg, IDC_CHOOSEREADONLYFILE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1960            UTIL_get_lang_msg("DLG_SSHSETUP_KNOWNHOST_RO", pvar);
1961            SetDlgItemText(dlg, IDC_CHOOSEREADONLYFILE, pvar->ts->UIMsg);
1962    
1963            GetDlgItemText(dlg, IDC_HEARTBEATLABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1964            UTIL_get_lang_msg("DLG_SSHSETUP_HEARTBEAT", pvar);
1965            SetDlgItemText(dlg, IDC_HEARTBEATLABEL, pvar->ts->UIMsg);
1966    
1967            GetDlgItemText(dlg, IDC_HEARTBEATLABEL2, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1968            UTIL_get_lang_msg("DLG_SSHSETUP_HEARTBEAT_UNIT", pvar);
1969            SetDlgItemText(dlg, IDC_HEARTBEATLABEL2, pvar->ts->UIMsg);
1970    
1971            GetDlgItemText(dlg, IDC_NOTICEBANNER, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
1972            UTIL_get_lang_msg("DLG_SSHSETUP_NOTICE", pvar);
1973            SetDlgItemText(dlg, IDC_NOTICEBANNER, pvar->ts->UIMsg);
1974    
1975            strcpy(pvar->ts->UIMsg, "OK");
1976            UTIL_get_lang_msg("BTN_OK", pvar);
1977            SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
1978    
1979            strcpy(pvar->ts->UIMsg, "Cancel");
1980            UTIL_get_lang_msg("BTN_CANCEL", pvar);
1981            SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg);
1982    #endif
1983            
1984          SendMessage(compressionControl, TBM_SETRANGE, TRUE, MAKELONG(0, 9));          SendMessage(compressionControl, TBM_SETRANGE, TRUE, MAKELONG(0, 9));
1985          SendMessage(compressionControl, TBM_SETPOS, TRUE,          SendMessage(compressionControl, TBM_SETPOS, TRUE,
1986                                  pvar->settings.CompressionLevel);                                  pvar->settings.CompressionLevel);
# Line 1986  static int get_keys_file_name(HWND paren Line 2205  static int get_keys_file_name(HWND paren
2205          params.nMaxFile = sizeof(fullname_buf);          params.nMaxFile = sizeof(fullname_buf);
2206          params.lpstrFileTitle = NULL;          params.lpstrFileTitle = NULL;
2207          params.lpstrInitialDir = NULL;          params.lpstrInitialDir = NULL;
2208    #ifdef I18N
2209            if (readonly) {
2210                    strcpy(pvar->ts->UIMsg, "Choose a read-only known-hosts file to add");
2211                    UTIL_get_lang_msg("MSG_OPEN_KNOWNHOSTS_RO_TITLE", pvar);
2212            }
2213            else {
2214                    strcpy(pvar->ts->UIMsg, "Choose a read/write known-hosts file");
2215                    UTIL_get_lang_msg("MSG_OPEN_KNOWNHOSTS_RW_TITLE", pvar);
2216            }
2217            params.lpstrTitle = pvar->ts->UIMsg;
2218    #else
2219          params.lpstrTitle =          params.lpstrTitle =
2220                  readonly ? "Choose a read-only known-hosts file to add" :                  readonly ? "Choose a read-only known-hosts file to add" :
2221                  "Choose a read/write known-hosts file";                  "Choose a read/write known-hosts file";
2222    #endif
2223          params.Flags = (readonly ? OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST : 0)          params.Flags = (readonly ? OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST : 0)
2224                  | OFN_HIDEREADONLY | (!readonly ? OFN_NOREADONLYRETURN : 0);                  | OFN_HIDEREADONLY | (!readonly ? OFN_NOREADONLYRETURN : 0);
2225          params.lpstrDefExt = NULL;          params.lpstrDefExt = NULL;
# Line 2001  static int get_keys_file_name(HWND paren Line 2232  static int get_keys_file_name(HWND paren
2232    
2233                  if (err != 0) {                  if (err != 0) {
2234                          char buf[1024];                          char buf[1024];
2235    #ifdef I18N
2236                            strcpy(pvar->ts->UIMsg, "Cannot show file dialog box: error %d");
2237                            UTIL_get_lang_msg("MSG_OPEN_FILEDLG_KNOWNHOSTS_ERROR", pvar);
2238                            _snprintf(buf, sizeof(buf), pvar->ts->UIMsg, err);
2239    #else
2240                          _snprintf(buf, sizeof(buf),                          _snprintf(buf, sizeof(buf),
2241                                            "Cannot show file dialog box: error %d", err);                                            "Cannot show file dialog box: error %d", err);
2242    #endif
2243                          buf[sizeof(buf) - 1] = 0;                          buf[sizeof(buf) - 1] = 0;
2244                          MessageBox(parent, buf, "TTSSH Error",                          MessageBox(parent, buf, "TTSSH Error",
2245                                             MB_OK | MB_ICONEXCLAMATION);                                             MB_OK | MB_ICONEXCLAMATION);
# Line 2483  static BOOL CALLBACK TTXKeyGenerator(HWN Line 2719  static BOOL CALLBACK TTXKeyGenerator(HWN
2719                                                                   LPARAM lParam)                                                                   LPARAM lParam)
2720  {  {
2721          static enum hostkey_type key_type;          static enum hostkey_type key_type;
2722    #ifdef I18N
2723            char uimsg[MAX_UIMSG];
2724    #endif
2725    
2726          switch (msg) {          switch (msg) {
2727          case WM_INITDIALOG:          case WM_INITDIALOG:
2728                  {                  {
2729    #ifdef I18N
2730                    GetWindowText(dlg, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2731                    UTIL_get_lang_msg("DLG_KEYGEN_TITLE", pvar);
2732                    SetWindowText(dlg, pvar->ts->UIMsg);
2733    
2734                    GetDlgItemText(dlg, IDC_KEYTYPE, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2735                    UTIL_get_lang_msg("DLG_KEYGEN_KEYTYPE", pvar);
2736                    SetDlgItemText(dlg, IDC_KEYTYPE, pvar->ts->UIMsg);
2737    
2738                    GetDlgItemText(dlg, IDC_KEY_LABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2739                    UTIL_get_lang_msg("DLG_KEYGEN_PASSPHRASE", pvar);
2740                    SetDlgItemText(dlg, IDC_KEY_LABEL, pvar->ts->UIMsg);
2741    
2742                    GetDlgItemText(dlg, IDC_CONFIRM_LABEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2743                    UTIL_get_lang_msg("DLG_KEYGEN_PASSPHRASE2", pvar);
2744                    SetDlgItemText(dlg, IDC_CONFIRM_LABEL, pvar->ts->UIMsg);
2745    
2746                    GetDlgItemText(dlg, IDC_SAVE_PUBLIC_KEY, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2747                    UTIL_get_lang_msg("DLG_KEYGEN_SAVEPUBLIC", pvar);
2748                    SetDlgItemText(dlg, IDC_SAVE_PUBLIC_KEY, pvar->ts->UIMsg);
2749    
2750                    GetDlgItemText(dlg, IDC_SAVE_PRIVATE_KEY, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2751                    UTIL_get_lang_msg("DLG_KEYGEN_SAVEPRIVATE", pvar);
2752                    SetDlgItemText(dlg, IDC_SAVE_PRIVATE_KEY, pvar->ts->UIMsg);
2753    
2754                    GetDlgItemText(dlg, IDOK, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2755                    UTIL_get_lang_msg("DLG_KEYGEN_GENERATE", pvar);
2756                    SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
2757    
2758                    GetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg, sizeof(pvar->ts->UIMsg));
2759                    UTIL_get_lang_msg("BTN_CANCEL", pvar);
2760                    SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg);
2761    #endif
2762    
2763                  // default key type                  // default key type
2764                  SendMessage(GetDlgItem(dlg, IDC_RSA_TYPE), BM_SETCHECK, BST_CHECKED, 0);                  SendMessage(GetDlgItem(dlg, IDC_RSA_TYPE), BM_SETCHECK, BST_CHECKED, 0);
2765                  key_type = KEY_RSA;                  key_type = KEY_RSA;
# Line 2559  static BOOL CALLBACK TTXKeyGenerator(HWN Line 2832  static BOOL CALLBACK TTXKeyGenerator(HWN
2832                          ofn.lStructSize = sizeof(ofn);                          ofn.lStructSize = sizeof(ofn);
2833                          ofn.hwndOwner = dlg;                          ofn.hwndOwner = dlg;
2834                          if (key_type == KEY_RSA1) {                          if (key_type == KEY_RSA1) {
2835    #ifdef I18N
2836                                    memcpy(pvar->ts->UIMsg, "SSH1 RSA key(identity.pub)\0identity.pub\0All Files(*.*)\0*.*\0\0", sizeof(pvar->ts->UIMsg));
2837                                    UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_RSA1_FILTER", pvar);
2838                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
2839                                    ofn.lpstrFilter = uimsg;
2840    #else
2841                                  ofn.lpstrFilter = "SSH1 RSA key(identity.pub)\0identity.pub\0All Files(*.*)\0*.*\0\0";                                  ofn.lpstrFilter = "SSH1 RSA key(identity.pub)\0identity.pub\0All Files(*.*)\0*.*\0\0";
2842    #endif
2843                                  _snprintf(filename, sizeof(filename), "identity.pub");                                  _snprintf(filename, sizeof(filename), "identity.pub");
2844                          } else if (key_type == KEY_RSA) {                          } else if (key_type == KEY_RSA) {
2845    #ifdef I18N
2846                                    memcpy(pvar->ts->UIMsg, "SSH2 RSA key(id_rsa.pub)\0id_rsa.pub\0All Files(*.*)\0*.*\0\0", sizeof(pvar->ts->UIMsg));
2847                                    UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_RSA_FILTER", pvar);
2848                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
2849                                    ofn.lpstrFilter = uimsg;
2850    #else
2851                                  ofn.lpstrFilter = "SSH2 RSA key(id_rsa.pub)\0id_rsa.pub\0All Files(*.*)\0*.*\0\0";                                  ofn.lpstrFilter = "SSH2 RSA key(id_rsa.pub)\0id_rsa.pub\0All Files(*.*)\0*.*\0\0";
2852    #endif
2853                                  _snprintf(filename, sizeof(filename), "id_rsa.pub");                                  _snprintf(filename, sizeof(filename), "id_rsa.pub");
2854                          } else {                          } else {
2855    #ifdef I18N
2856                                    memcpy(pvar->ts->UIMsg, "SSH2 DSA key(id_dsa.pub)\0id_dsa.pub\0All Files(*.*)\0*.*\0\0", sizeof(pvar->ts->UIMsg));
2857                                    UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_DSA_FILTER", pvar);
2858                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
2859                                    ofn.lpstrFilter = uimsg;
2860    #else
2861                                  ofn.lpstrFilter = "SSH2 DSA key(id_dsa.pub)\0id_dsa.pub\0All Files(*.*)\0*.*\0\0";                                  ofn.lpstrFilter = "SSH2 DSA key(id_dsa.pub)\0id_dsa.pub\0All Files(*.*)\0*.*\0\0";
2862    #endif
2863                                  _snprintf(filename, sizeof(filename), "id_dsa.pub");                                  _snprintf(filename, sizeof(filename), "id_dsa.pub");
2864                          }                          }
2865                          ofn.lpstrFile = filename;                          ofn.lpstrFile = filename;
2866                          ofn.nMaxFile = sizeof(filename);                          ofn.nMaxFile = sizeof(filename);
2867    #ifdef I18N
2868                            strcpy(pvar->ts->UIMsg, "Save public key as:");
2869                            UTIL_get_lang_msg("FILEDLG_SAVE_PUBLICKEY_TITLE", pvar);
2870                            ofn.lpstrTitle = pvar->ts->UIMsg;
2871    #else
2872                          ofn.lpstrTitle = "Save public key as:";                          ofn.lpstrTitle = "Save public key as:";
2873    #endif
2874                          if (GetSaveFileName(&ofn) == 0) { // failure                          if (GetSaveFileName(&ofn) == 0) { // failure
2875                                  ret = CommDlgExtendedError();                                  ret = CommDlgExtendedError();
2876                                  break;                                  break;
# Line 2581  static BOOL CALLBACK TTXKeyGenerator(HWN Line 2881  static BOOL CALLBACK TTXKeyGenerator(HWN
2881                          // saving public key file                          // saving public key file
2882                          fp = fopen(filename, "wb");                          fp = fopen(filename, "wb");
2883                          if (fp == NULL) {                          if (fp == NULL) {
2884    #ifdef I18N
2885                                    strcpy(pvar->ts->UIMsg, "Can't open key file");
2886                                    UTIL_get_lang_msg("MSG_SAVE_KEY_OPENFILE_ERROR", pvar);
2887                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
2888                                    strcpy(pvar->ts->UIMsg, "ERROR");
2889                                    UTIL_get_lang_msg("MSG_ERROR", pvar);
2890                                    MessageBox(dlg, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
2891    #else
2892                                  MessageBox(dlg, "Can't open key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);                                  MessageBox(dlg, "Can't open key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);
2893    #endif
2894                                  break;                                  break;
2895                          }                          }
2896    
# Line 2670  public_error: Line 2979  public_error:
2979    
2980                          // check matching                          // check matching
2981                          if (strcmp(buf, buf_conf) != 0) {                          if (strcmp(buf, buf_conf) != 0) {
2982    #ifdef I18N
2983                                    strcpy(pvar->ts->UIMsg, "Two passphrases don't match.");
2984                                    UTIL_get_lang_msg("MSG_SAVE_PRIVATE_KEY_MISMATCH_ERROR", pvar);
2985                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
2986                                    strcpy(pvar->ts->UIMsg, "ERROR");
2987                                    UTIL_get_lang_msg("MSG_ERROR", pvar);
2988                                    MessageBox(dlg, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
2989    #else
2990                                  MessageBox(dlg, "Two passphrases don't match.", "ERROR", MB_OK | MB_ICONEXCLAMATION);                                  MessageBox(dlg, "Two passphrases don't match.", "ERROR", MB_OK | MB_ICONEXCLAMATION);
2991    #endif
2992                                  break;                                  break;
2993                          }                          }
2994    
2995                          // check empty-passphrase (this is warning level)                          // check empty-passphrase (this is warning level)
2996                          if (buf[0] == '\0') {                          if (buf[0] == '\0') {
2997    #ifdef I18N
2998                                    strcpy(pvar->ts->UIMsg, "Are you sure that you want to use a empty passphrase?");
2999                                    UTIL_get_lang_msg("MSG_SAVE_PRIVATEKEY_EMPTY_WARN", pvar);
3000                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3001                                    strcpy(pvar->ts->UIMsg, "WARNING");
3002                                    UTIL_get_lang_msg("MSG_WARNING", pvar);
3003                                    ret = MessageBox(dlg, uimsg, pvar->ts->UIMsg, MB_YESNO | MB_ICONWARNING);
3004    #else
3005                                  ret = MessageBox(dlg, "Are you sure that you want to use a empty passphrase?", "WARNING", MB_YESNO | MB_ICONWARNING);                                  ret = MessageBox(dlg, "Are you sure that you want to use a empty passphrase?", "WARNING", MB_YESNO | MB_ICONWARNING);
3006    #endif
3007                                  if (ret == IDNO)                                  if (ret == IDNO)
3008                                          break;                                          break;
3009                          }                          }
# Line 2688  public_error: Line 3015  public_error:
3015                          ofn.lStructSize = sizeof(ofn);                          ofn.lStructSize = sizeof(ofn);
3016                          ofn.hwndOwner = dlg;                          ofn.hwndOwner = dlg;
3017                          if (key_type == KEY_RSA1) {                          if (key_type == KEY_RSA1) {
3018    #ifdef I18N
3019                                    memcpy(pvar->ts->UIMsg, "SSH1 RSA key(identity)\0identity\0All Files(*.*)\0*.*\0\0", sizeof(pvar->ts->UIMsg));
3020                                    UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_RSA1_FILTER", pvar);
3021                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3022                                    ofn.lpstrFilter = uimsg;
3023    #else
3024                                  ofn.lpstrFilter = "SSH1 RSA key(identity)\0identity\0All Files(*.*)\0*.*\0\0";                                  ofn.lpstrFilter = "SSH1 RSA key(identity)\0identity\0All Files(*.*)\0*.*\0\0";
3025    #endif
3026                                  _snprintf(filename, sizeof(filename), "identity");                                  _snprintf(filename, sizeof(filename), "identity");
3027                          } else if (key_type == KEY_RSA) {                          } else if (key_type == KEY_RSA) {
3028    #ifdef I18N
3029                                    memcpy(pvar->ts->UIMsg, "SSH2 RSA key(id_rsa)\0id_rsa\0All Files(*.*)\0*.*\0\0", sizeof(pvar->ts->UIMsg));
3030                                    UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_RSA_FILTER", pvar);
3031                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3032                                    ofn.lpstrFilter = uimsg;
3033    #else
3034                                  ofn.lpstrFilter = "SSH2 RSA key(id_rsa)\0id_rsa\0All Files(*.*)\0*.*\0\0";                                  ofn.lpstrFilter = "SSH2 RSA key(id_rsa)\0id_rsa\0All Files(*.*)\0*.*\0\0";
3035    #endif
3036                                  _snprintf(filename, sizeof(filename), "id_rsa");                                  _snprintf(filename, sizeof(filename), "id_rsa");
3037                          } else {                          } else {
3038    #ifdef I18N
3039                                    memcpy(pvar->ts->UIMsg, "SSH2 DSA key(id_dsa)\0id_dsa\0All Files(*.*)\0*.*\0\0", sizeof(pvar->ts->UIMsg));
3040                                    UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_DSA_FILTER", pvar);
3041                                    strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3042                                    ofn.lpstrFilter = uimsg;
3043    #else
3044                                  ofn.lpstrFilter = "SSH2 DSA key(id_dsa)\0id_dsa\0All Files(*.*)\0*.*\0\0";                                  ofn.lpstrFilter = "SSH2 DSA key(id_dsa)\0id_dsa\0All Files(*.*)\0*.*\0\0";
3045    #endif
3046                                  _snprintf(filename, sizeof(filename), "id_dsa");                                  _snprintf(filename, sizeof(filename), "id_dsa");
3047                          }                          }
3048                          ofn.lpstrFile = filename;                          ofn.lpstrFile = filename;
3049                          ofn.nMaxFile = sizeof(filename);                          ofn.nMaxFile = sizeof(filename);
3050    #ifdef I18N
3051                            strcpy(pvar->ts->UIMsg, "Save private key as:");
3052                            UTIL_get_lang_msg("FILEDLG_SAVE_PRIVATEKEY_TITLE", pvar);
3053                            ofn.lpstrTitle = pvar->ts->UIMsg;
3054    #else
3055                          ofn.lpstrTitle = "Save private key as:";                          ofn.lpstrTitle = "Save private key as:";
3056    #endif
3057                          if (GetSaveFileName(&ofn) == 0) { // failure                          if (GetSaveFileName(&ofn) == 0) { // failure
3058                                  ret = CommDlgExtendedError();                                  ret = CommDlgExtendedError();
3059                                  break;                                  break;
# Line 2808  public_error: Line 3162  public_error:
3162                                  // saving private key file (binary mode)                                  // saving private key file (binary mode)
3163                                  fp = fopen(filename, "wb");                                  fp = fopen(filename, "wb");
3164                                  if (fp == NULL) {                                  if (fp == NULL) {
3165    #ifdef I18N
3166                                            strcpy(pvar->ts->UIMsg, "Can't open key file");
3167                                            UTIL_get_lang_msg("MSG_SAVE_KEY_OPENFILE_ERROR", pvar);
3168                                            strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3169                                            strcpy(pvar->ts->UIMsg, "ERROR");
3170                                            UTIL_get_lang_msg("MSG_ERROR", pvar);
3171                                            MessageBox(dlg, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
3172    #else
3173                                          MessageBox(dlg, "Can't open key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);                                          MessageBox(dlg, "Can't open key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);
3174    #endif
3175                                          break;                                          break;
3176                                  }                                  }
3177                                  fwrite(buffer_ptr(enc), buffer_len(enc), 1, fp);                                  fwrite(buffer_ptr(enc), buffer_len(enc), 1, fp);
# Line 2834  error:; Line 3197  error:;
3197    
3198                                  fp = fopen(filename, "w");                                  fp = fopen(filename, "w");
3199                                  if (fp == NULL) {                                  if (fp == NULL) {
3200    #ifdef I18N
3201                                            strcpy(pvar->ts->UIMsg, "Can't open key file");
3202                                            UTIL_get_lang_msg("MSG_SAVE_KEY_OPENFILE_ERROR", pvar);
3203                                            strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3204                                            strcpy(pvar->ts->UIMsg, "ERROR");
3205                                            UTIL_get_lang_msg("MSG_ERROR", pvar);
3206                                            MessageBox(dlg, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
3207    #else
3208                                          MessageBox(dlg, "Can't open key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);                                          MessageBox(dlg, "Can't open key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);
3209    #endif
3210                                          break;                                          break;
3211                                  }                                  }
3212    
# Line 2844  error:; Line 3216  error:;
3216                                          ret = PEM_write_DSAPrivateKey(fp, private_key.dsa, cipher, buf, len, NULL, NULL);                                          ret = PEM_write_DSAPrivateKey(fp, private_key.dsa, cipher, buf, len, NULL, NULL);
3217                                  }                                  }
3218                                  if (ret == 0) {                                  if (ret == 0) {
3219    #ifdef I18N
3220                                            strcpy(pvar->ts->UIMsg, "Can't open key file");
3221                                            UTIL_get_lang_msg("MSG_SAVE_KEY_WRITEFILE_ERROR", pvar);
3222                                            strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3223                                            strcpy(pvar->ts->UIMsg, "ERROR");
3224                                            UTIL_get_lang_msg("MSG_ERROR", pvar);
3225                                            MessageBox(dlg, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
3226    #else
3227                                          MessageBox(dlg, "Can't write key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);                                          MessageBox(dlg, "Can't write key file", "ERROR", MB_OK | MB_ICONEXCLAMATION);
3228    #endif
3229                                  }                                  }
3230                                  fclose(fp);                                  fclose(fp);
3231                          }                          }
# Line 2863  error:; Line 3244  error:;
3244    
3245  static int PASCAL FAR TTXProcessCommand(HWND hWin, WORD cmd)  static int PASCAL FAR TTXProcessCommand(HWND hWin, WORD cmd)
3246  {  {
3247    #ifdef I18N
3248            char uimsg[MAX_UIMSG];
3249    #endif
3250          GET_VAR();          GET_VAR();
3251    
3252          if (pvar->fatal_error) {          if (pvar->fatal_error) {
# Line 2873  static int PASCAL FAR TTXProcessCommand( Line 3257  static int PASCAL FAR TTXProcessCommand(
3257          case ID_SSHKEYGENMENU:          case ID_SSHKEYGENMENU:
3258                  if (DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_SSHKEYGEN), hWin, TTXKeyGenerator,                  if (DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_SSHKEYGEN), hWin, TTXKeyGenerator,
3259                          (LPARAM) pvar) == -1) {                          (LPARAM) pvar) == -1) {
3260    #ifdef I18N
3261                            strcpy(pvar->ts->UIMsg, "Cannot create Key Generator window.");
3262                            UTIL_get_lang_msg("MSG_CREATEWINDOW_KEYGEN_ERROR", pvar);
3263                            strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3264                            strcpy(pvar->ts->UIMsg, "TTSSH Error");
3265                            UTIL_get_lang_msg("MSG_TTSSH_ERROR", pvar);
3266                            MessageBox(hWin, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
3267    #else
3268                          MessageBox(hWin, "Cannot create Key Generator window.",                          MessageBox(hWin, "Cannot create Key Generator window.",
3269                                  "TTSSH Error", MB_OK | MB_ICONEXCLAMATION);                                  "TTSSH Error", MB_OK | MB_ICONEXCLAMATION);
3270    #endif
3271                  }                  }
3272                  return 1;                  return 1;
3273    
# Line 2883  static int PASCAL FAR TTXProcessCommand( Line 3276  static int PASCAL FAR TTXProcessCommand(
3276                          (hInst, MAKEINTRESOURCE(IDD_ABOUTDIALOG), hWin, TTXAboutDlg,                          (hInst, MAKEINTRESOURCE(IDD_ABOUTDIALOG), hWin, TTXAboutDlg,
3277                           (LPARAM) pvar)                           (LPARAM) pvar)
3278                          == -1) {                          == -1) {
3279    #ifdef I18N
3280                            strcpy(pvar->ts->UIMsg, "Cannot create About box window.");
3281                            UTIL_get_lang_msg("MSG_CREATEWINDOW_ABOUT_ERROR", pvar);
3282                            strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3283                            strcpy(pvar->ts->UIMsg, "TTSSH Error");
3284                            UTIL_get_lang_msg("MSG_TTSSH_ERROR", pvar);
3285                            MessageBox(hWin, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
3286    #else
3287                          MessageBox(hWin, "Cannot create About box window.",                          MessageBox(hWin, "Cannot create About box window.",
3288                                             "TTSSH Error", MB_OK | MB_ICONEXCLAMATION);                                             "TTSSH Error", MB_OK | MB_ICONEXCLAMATION);
3289    #endif
3290                  }                  }
3291                  return 1;                  return 1;
3292          case ID_SSHAUTH:          case ID_SSHAUTH:
# Line 2895  static int PASCAL FAR TTXProcessCommand( Line 3297  static int PASCAL FAR TTXProcessCommand(
3297                          (hInst, MAKEINTRESOURCE(IDD_SSHSETUP), hWin, TTXSetupDlg,                          (hInst, MAKEINTRESOURCE(IDD_SSHSETUP), hWin, TTXSetupDlg,
3298                           (LPARAM) pvar)                           (LPARAM) pvar)
3299                          == -1) {                          == -1) {
3300    #ifdef I18N
3301                            strcpy(pvar->ts->UIMsg, "Cannot create TTSSH Setup window.");
3302                            UTIL_get_lang_msg("MSG_CREATEWINDOW_SETUP_ERROR", pvar);
3303                            strncpy(uimsg, pvar->ts->UIMsg, sizeof(uimsg));
3304                            strcpy(pvar->ts->UIMsg, "TTSSH Error");
3305                            UTIL_get_lang_msg("MSG_TTSSH_ERROR", pvar);
3306                            MessageBox(hWin, uimsg, pvar->ts->UIMsg, MB_OK | MB_ICONEXCLAMATION);
3307    #else
3308                          MessageBox(hWin, "Cannot create TTSSH Setup window.",                          MessageBox(hWin, "Cannot create TTSSH Setup window.",
3309                                             "TTSSH Error", MB_OK | MB_ICONEXCLAMATION);                                             "TTSSH Error", MB_OK | MB_ICONEXCLAMATION);
3310    #endif
3311                  }                  }
3312                  return 1;                  return 1;
3313          case ID_SSHAUTHSETUPMENU:          case ID_SSHAUTHSETUPMENU:
# Line 3206  int CALLBACK LibMain(HANDLE hInstance, W Line 3617  int CALLBACK LibMain(HANDLE hInstance, W
3617    
3618  /*  /*
3619   * $Log: not supported by cvs2svn $   * $Log: not supported by cvs2svn $
3620     * Revision 1.46  2006/11/14 09:00:40  maya
3621     * エラーメッセージを修正した。
3622     *
3623   * Revision 1.45  2006/10/19 06:24:05  maya   * Revision 1.45  2006/10/19 06:24:05  maya
3624   * SSHで接続中にNew connectionダイアログからtelnet接続できないのを修正した。   * SSHで接続中にNew connectionダイアログからtelnet接続できないのを修正した。
3625   *   *

Legend:
Removed from v.2930  
changed lines
  Added in v.2937

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