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 6778 by doda, Tue Jun 6 08:39:03 2017 UTC revision 6801 by doda, Tue Jun 13 10:30:12 2017 UTC
# Line 54  SOFTWARE, EVEN IF ADVISED OF THE POSSIBI Line 54  SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
54  #include <commctrl.h>  #include <commctrl.h>
55  #include <commdlg.h>  #include <commdlg.h>
56  #include <winsock2.h>  #include <winsock2.h>
57  static char FAR *ProtocolFamilyList[] = { "UNSPEC", "IPv6", "IPv4", NULL };  static char *ProtocolFamilyList[] = { "UNSPEC", "IPv6", "IPv4", NULL };
58    
59  #include <Lmcons.h>  #include <Lmcons.h>
60    
# Line 99  static HFONT DlgAboutTextFont; Line 99  static HFONT DlgAboutTextFont;
99  static HFONT DlgSetupFont;  static HFONT DlgSetupFont;
100  static HFONT DlgKeygenFont;  static HFONT DlgKeygenFont;
101    
102  static TInstVar FAR *pvar;  static TInstVar *pvar;
103    
104  typedef struct {  typedef struct {
105          int cnt;          int cnt;
# Line 171  static void uninit_TTSSH(PTInstVar pvar) Line 171  static void uninit_TTSSH(PTInstVar pvar)
171          ssh_heartbeat_lock_finalize();          ssh_heartbeat_lock_finalize();
172  }  }
173    
174  static void PASCAL FAR TTXInit(PTTSet ts, PComVar cv)  static void PASCAL TTXInit(PTTSet ts, PComVar cv)
175  {  {
176          pvar->settings = *pvar->ts_SSH;          pvar->settings = *pvar->ts_SSH;
177          pvar->ts = ts;          pvar->ts = ts;
# Line 274  static void normalize_generic_order(char Line 274  static void normalize_generic_order(char
274   * Remove unsupported cipher or duplicated cipher.   * Remove unsupported cipher or duplicated cipher.
275   * Add unspecified ciphers at the end of list.   * Add unspecified ciphers at the end of list.
276   */   */
277  static void normalize_cipher_order(char FAR * buf)  static void normalize_cipher_order(char *buf)
278  {  {
279          /* SSH_CIPHER_NONE means that all ciphers below that one are disabled.          /* SSH_CIPHER_NONE means that all ciphers below that one are disabled.
280             We *never* allow no encryption. */             We *never* allow no encryption. */
# Line 310  static void normalize_cipher_order(char Line 310  static void normalize_cipher_order(char
310          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));
311  }  }
312    
313  static void normalize_kex_order(char FAR * buf)  static void normalize_kex_order(char *buf)
314  {  {
315          static char default_strings[] = {          static char default_strings[] = {
316                  KEX_ECDH_SHA2_256,                  KEX_ECDH_SHA2_256,
# Line 329  static void normalize_kex_order(char FAR Line 329  static void normalize_kex_order(char FAR
329          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));
330  }  }
331    
332  static void normalize_host_key_order(char FAR * buf)  static void normalize_host_key_order(char *buf)
333  {  {
334          static char default_strings[] = {          static char default_strings[] = {
335                  KEY_ECDSA256,                  KEY_ECDSA256,
# Line 344  static void normalize_host_key_order(cha Line 344  static void normalize_host_key_order(cha
344          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));
345  }  }
346    
347  static void normalize_mac_order(char FAR * buf)  static void normalize_mac_order(char *buf)
348  {  {
349          static char default_strings[] = {          static char default_strings[] = {
350                  HMAC_SHA2_512,                  HMAC_SHA2_512,
# Line 362  static void normalize_mac_order(char FAR Line 362  static void normalize_mac_order(char FAR
362          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));          normalize_generic_order(buf, default_strings, NUM_ELEM(default_strings));
363  }  }
364    
365  static void normalize_comp_order(char FAR * buf)  static void normalize_comp_order(char *buf)
366  {  {
367          static char default_strings[] = {          static char default_strings[] = {
368                  COMP_DELAYED,                  COMP_DELAYED,
# Line 381  static void clear_local_settings(PTInstV Line 381  static void clear_local_settings(PTInstV
381          pvar->ts_SSH->TryDefaultAuth = FALSE;          pvar->ts_SSH->TryDefaultAuth = FALSE;
382  }  }
383    
384  static BOOL read_BOOL_option(PCHAR fileName, char FAR * keyName, BOOL def)  static BOOL read_BOOL_option(PCHAR fileName, char *keyName, BOOL def)
385  {  {
386          char buf[1024];          char buf[1024];
387    
# Line 397  static BOOL read_BOOL_option(PCHAR fileN Line 397  static BOOL read_BOOL_option(PCHAR fileN
397          }          }
398  }  }
399    
400  static void read_string_option(PCHAR fileName, char FAR * keyName,  static void read_string_option(PCHAR fileName, char *keyName,
401                                 char FAR * def, char FAR * buf, int bufSize)                                 char *def, char *buf, int bufSize)
402  {  {
403    
404          buf[0] = 0;          buf[0] = 0;
# Line 408  static void read_string_option(PCHAR fil Line 408  static void read_string_option(PCHAR fil
408  static void read_ssh_options(PTInstVar pvar, PCHAR fileName)  static void read_ssh_options(PTInstVar pvar, PCHAR fileName)
409  {  {
410          char buf[1024];          char buf[1024];
411          TS_SSH FAR *settings = pvar->ts_SSH;          TS_SSH *settings = pvar->ts_SSH;
412    
413  #define READ_STD_STRING_OPTION(name) \  #define READ_STD_STRING_OPTION(name) \
414          read_string_option(fileName, #name, "", settings->name, sizeof(settings->name))          read_string_option(fileName, #name, "", settings->name, sizeof(settings->name))
# Line 536  static void read_ssh_options(PTInstVar p Line 536  static void read_ssh_options(PTInstVar p
536  }  }
537    
538  static void write_ssh_options(PTInstVar pvar, PCHAR fileName,  static void write_ssh_options(PTInstVar pvar, PCHAR fileName,
539                                TS_SSH FAR * settings, BOOL copy_forward)                                TS_SSH *settings, BOOL copy_forward)
540  {  {
541          char buf[1024];          char buf[1024];
542    
# Line 664  static unsigned short find_local_port(PT Line 664  static unsigned short find_local_port(PT
664          int tries;          int tries;
665          SOCKET connecter;          SOCKET connecter;
666          struct addrinfo hints;          struct addrinfo hints;
667          struct addrinfo FAR *res;          struct addrinfo *res;
668          struct addrinfo FAR *res0;          struct addrinfo *res0;
669          unsigned short port;          unsigned short port;
670          char pname[NI_MAXHOST];          char pname[NI_MAXHOST];
671    
# Line 722  static unsigned short find_local_port(PT Line 722  static unsigned short find_local_port(PT
722          return 0;          return 0;
723  }  }
724    
725  static int PASCAL FAR TTXconnect(SOCKET s,  static int PASCAL TTXconnect(SOCKET s,
726                                   const struct sockaddr FAR * name,                                   const struct sockaddr *name,
727                                   int namelen)                                   int namelen)
728  {  {
729          if (pvar->socket == INVALID_SOCKET || pvar->socket != s) {          if (pvar->socket == INVALID_SOCKET || pvar->socket != s) {
# Line 736  static int PASCAL FAR TTXconnect(SOCKET Line 736  static int PASCAL FAR TTXconnect(SOCKET
736                  switch (pvar->ts->ProtocolFamily) {                  switch (pvar->ts->ProtocolFamily) {
737                  case AF_INET:                  case AF_INET:
738                          len = sizeof(struct sockaddr_in);                          len = sizeof(struct sockaddr_in);
739                          ((struct sockaddr_in FAR *) &ss)->sin_family = AF_INET;                          ((struct sockaddr_in *) &ss)->sin_family = AF_INET;
740                          ((struct sockaddr_in FAR *) &ss)->sin_addr.s_addr = INADDR_ANY;                          ((struct sockaddr_in *) &ss)->sin_addr.s_addr = INADDR_ANY;
741                          ((struct sockaddr_in FAR *) &ss)->sin_port =                          ((struct sockaddr_in *) &ss)->sin_port =
742                                  htons(find_local_port(pvar));                                  htons(find_local_port(pvar));
743                          break;                          break;
744                  case AF_INET6:                  case AF_INET6:
745                          len = sizeof(struct sockaddr_in6);                          len = sizeof(struct sockaddr_in6);
746                          ((struct sockaddr_in6 FAR *) &ss)->sin6_family = AF_INET6;                          ((struct sockaddr_in6 *) &ss)->sin6_family = AF_INET6;
747                          memset(&((struct sockaddr_in6 FAR *) &ss)->sin6_addr, 0,                          memset(&((struct sockaddr_in6 *) &ss)->sin6_addr, 0,
748                                 sizeof(struct in_addr6));                                 sizeof(struct in_addr6));
749                          ((struct sockaddr_in6 FAR *) &ss)->sin6_port =                          ((struct sockaddr_in6 *) &ss)->sin6_port =
750                                  htons(find_local_port(pvar));                                  htons(find_local_port(pvar));
751                          break;                          break;
752                  default:                  default:
# Line 754  static int PASCAL FAR TTXconnect(SOCKET Line 754  static int PASCAL FAR TTXconnect(SOCKET
754                          break;                          break;
755                  }                  }
756    
757                  bind(s, (struct sockaddr FAR *) &ss, len);                  bind(s, (struct sockaddr *) &ss, len);
758          }          }
759    
760          return (pvar->Pconnect) (s, name, namelen);          return (pvar->Pconnect) (s, name, namelen);
761  }  }
762    
763  static int PASCAL FAR TTXWSAAsyncSelect(SOCKET s, HWND hWnd, u_int wMsg,  static int PASCAL TTXWSAAsyncSelect(SOCKET s, HWND hWnd, u_int wMsg,
764                                          long lEvent)                                          long lEvent)
765  {  {
766          if (s == pvar->socket) {          if (s == pvar->socket) {
# Line 776  static int PASCAL FAR TTXWSAAsyncSelect( Line 776  static int PASCAL FAR TTXWSAAsyncSelect(
776          return (pvar->PWSAAsyncSelect) (s, hWnd, wMsg, lEvent);          return (pvar->PWSAAsyncSelect) (s, hWnd, wMsg, lEvent);
777  }  }
778    
779  static int PASCAL FAR TTXrecv(SOCKET s, char FAR * buf, int len, int flags)  static int PASCAL TTXrecv(SOCKET s, char *buf, int len, int flags)
780  {  {
781          if (s == pvar->socket) {          if (s == pvar->socket) {
782                  int ret;                  int ret;
# Line 791  static int PASCAL FAR TTXrecv(SOCKET s, Line 791  static int PASCAL FAR TTXrecv(SOCKET s,
791          }          }
792  }  }
793    
794  static int PASCAL FAR TTXsend(SOCKET s, char const FAR * buf, int len,  static int PASCAL TTXsend(SOCKET s, char const *buf, int len,
795                                int flags)                                int flags)
796  {  {
797          if (s == pvar->socket) {          if (s == pvar->socket) {
# Line 850  void notify_established_secure_connectio Line 850  void notify_established_secure_connectio
850                                 LOG_LEVEL_VERBOSE);                                 LOG_LEVEL_VERBOSE);
851  }  }
852    
853  void notify_closed_connection(PTInstVar pvar, char FAR * send_msg)  void notify_closed_connection(PTInstVar pvar, char *send_msg)
854  {  {
855          SSH_notify_disconnecting(pvar, send_msg);          SSH_notify_disconnecting(pvar, send_msg);
856          AUTH_notify_disconnecting(pvar);          AUTH_notify_disconnecting(pvar);
# Line 860  void notify_closed_connection(PTInstVar Line 860  void notify_closed_connection(PTInstVar
860                      pvar->socket, MAKELPARAM(FD_CLOSE, 0));                      pvar->socket, MAKELPARAM(FD_CLOSE, 0));
861  }  }
862    
863  static void add_err_msg(PTInstVar pvar, char FAR * msg)  static void add_err_msg(PTInstVar pvar, char *msg)
864  {  {
865          if (pvar->err_msg != NULL) {          if (pvar->err_msg != NULL) {
866                  int buf_len = strlen(pvar->err_msg) + 3 + strlen(msg);                  int buf_len = strlen(pvar->err_msg) + 3 + strlen(msg);
867                  char FAR *buf = (char FAR *) malloc(buf_len);                  char *buf = (char *) malloc(buf_len);
868    
869                  strncpy_s(buf, buf_len, pvar->err_msg, _TRUNCATE);                  strncpy_s(buf, buf_len, pvar->err_msg, _TRUNCATE);
870                  strncat_s(buf, buf_len, "\n\n", _TRUNCATE);                  strncat_s(buf, buf_len, "\n\n", _TRUNCATE);
# Line 876  static void add_err_msg(PTInstVar pvar, Line 876  static void add_err_msg(PTInstVar pvar,
876          }          }
877  }  }
878    
879  void notify_nonfatal_error(PTInstVar pvar, char FAR * msg)  void notify_nonfatal_error(PTInstVar pvar, char *msg)
880  {  {
881          if (!pvar->showing_err) {          if (!pvar->showing_err) {
882                  // 未接続の状態では通知先ウィンドウがないので、デスクトップをオーナーとして                  // 未接続の状態では通知先ウィンドウがないので、デスクトップをオーナーとして
# Line 898  void notify_nonfatal_error(PTInstVar pva Line 898  void notify_nonfatal_error(PTInstVar pva
898          }          }
899  }  }
900    
901  void notify_fatal_error(PTInstVar pvar, char FAR * msg, BOOL send_disconnect)  void notify_fatal_error(PTInstVar pvar, char *msg, BOOL send_disconnect)
902  {  {
903          if (msg[0] != 0) {          if (msg[0] != 0) {
904                  notify_verbose_message(pvar, msg, LOG_LEVEL_FATAL);                  notify_verbose_message(pvar, msg, LOG_LEVEL_FATAL);
# Line 920  void notify_fatal_error(PTInstVar pvar, Line 920  void notify_fatal_error(PTInstVar pvar,
920          }          }
921  }  }
922    
923  void notify_verbose_message(PTInstVar pvar, char FAR * msg, int level)  void notify_verbose_message(PTInstVar pvar, char *msg, int level)
924  {  {
925          if (level <= pvar->session_settings.LogLevel) {          if (level <= pvar->session_settings.LogLevel) {
926                  char buf[1024];                  char buf[1024];
# Line 1045  void logprintf_hexdump(PTInstVar pvar, i Line 1045  void logprintf_hexdump(PTInstVar pvar, i
1045          }          }
1046  }  }
1047    
1048  static void PASCAL FAR TTXOpenTCP(TTXSockHooks FAR * hooks)  static void PASCAL TTXOpenTCP(TTXSockHooks *hooks)
1049  {  {
1050          if (pvar->settings.Enabled) {          if (pvar->settings.Enabled) {
1051                  // TCPLocalEcho/TCPCRSend を無効にする (maya 2007.4.25)                  // TCPLocalEcho/TCPCRSend を無効にする (maya 2007.4.25)
# Line 1090  static void PASCAL FAR TTXOpenTCP(TTXSoc Line 1090  static void PASCAL FAR TTXOpenTCP(TTXSoc
1090          }          }
1091  }  }
1092    
1093  static void PASCAL FAR TTXCloseTCP(TTXSockHooks FAR * hooks)  static void PASCAL TTXCloseTCP(TTXSockHooks *hooks)
1094  {  {
1095          if (pvar->session_settings.Enabled) {          if (pvar->session_settings.Enabled) {
1096                  pvar->socket = INVALID_SOCKET;                  pvar->socket = INVALID_SOCKET;
# Line 1644  hostssh_enabled: Line 1644  hostssh_enabled:
1644          return FALSE;          return FALSE;
1645  }  }
1646    
1647  static BOOL FAR PASCAL TTXGetHostName(HWND parent, PGetHNRec rec)  static BOOL PASCAL TTXGetHostName(HWND parent, PGetHNRec rec)
1648  {  {
1649          return (BOOL) DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_HOSTDLG),          return (BOOL) DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_HOSTDLG),
1650                                       parent, TTXHostDlg, (LONG) rec);                                       parent, TTXHostDlg, (LONG) rec);
1651  }  }
1652    
1653  static void PASCAL FAR TTXGetUIHooks(TTXUIHooks FAR * hooks)  static void PASCAL TTXGetUIHooks(TTXUIHooks *hooks)
1654  {  {
1655          *hooks->GetHostName = TTXGetHostName;          *hooks->GetHostName = TTXGetHostName;
1656  }  }
1657    
1658  static void FAR PASCAL TTXReadINIFile(PCHAR fileName, PTTSet ts)  static void PASCAL TTXReadINIFile(PCHAR fileName, PTTSet ts)
1659  {  {
1660          (pvar->ReadIniFile) (fileName, ts);          (pvar->ReadIniFile) (fileName, ts);
1661          read_ssh_options(pvar, fileName);          read_ssh_options(pvar, fileName);
# Line 1664  static void FAR PASCAL TTXReadINIFile(PC Line 1664  static void FAR PASCAL TTXReadINIFile(PC
1664          FWDUI_load_settings(pvar);          FWDUI_load_settings(pvar);
1665  }  }
1666    
1667  static void FAR PASCAL TTXWriteINIFile(PCHAR fileName, PTTSet ts)  static void PASCAL TTXWriteINIFile(PCHAR fileName, PTTSet ts)
1668  {  {
1669          (pvar->WriteIniFile) (fileName, ts);          (pvar->WriteIniFile) (fileName, ts);
1670          *pvar->ts_SSH = pvar->settings;          *pvar->ts_SSH = pvar->settings;
# Line 1674  static void FAR PASCAL TTXWriteINIFile(P Line 1674  static void FAR PASCAL TTXWriteINIFile(P
1674  }  }
1675    
1676  static void read_ssh_options_from_user_file(PTInstVar pvar,  static void read_ssh_options_from_user_file(PTInstVar pvar,
1677                                              char FAR * user_file_name)                                              char *user_file_name)
1678  {  {
1679          if (user_file_name[0] == '.') {          if (user_file_name[0] == '.') {
1680                  read_ssh_options(pvar, user_file_name);                  read_ssh_options(pvar, user_file_name);
# Line 1727  void add_forward_param(PTInstVar pvar, c Line 1727  void add_forward_param(PTInstVar pvar, c
1727          }          }
1728  }  }
1729    
1730  static void FAR PASCAL TTXParseParam(PCHAR param, PTTSet ts, PCHAR DDETopic) {  static void PASCAL TTXParseParam(PCHAR param, PTTSet ts, PCHAR DDETopic) {
1731          int param_len=strlen(param);          int param_len=strlen(param);
1732          int opt_len = param_len+1;          int opt_len = param_len+1;
1733          char *option = (char *)calloc(opt_len, sizeof(char));          char *option = (char *)calloc(opt_len, sizeof(char));
# Line 2098  static void FAR PASCAL TTXParseParam(PCH Line 2098  static void FAR PASCAL TTXParseParam(PCH
2098          (pvar->ParseParam) (param, ts, DDETopic);          (pvar->ParseParam) (param, ts, DDETopic);
2099  }  }
2100    
2101  static void PASCAL FAR TTXGetSetupHooks(TTXSetupHooks FAR * hooks)  static void PASCAL TTXGetSetupHooks(TTXSetupHooks *hooks)
2102  {  {
2103          pvar->ReadIniFile = *hooks->ReadIniFile;          pvar->ReadIniFile = *hooks->ReadIniFile;
2104          pvar->WriteIniFile = *hooks->WriteIniFile;          pvar->WriteIniFile = *hooks->WriteIniFile;
# Line 2109  static void PASCAL FAR TTXGetSetupHooks( Line 2109  static void PASCAL FAR TTXGetSetupHooks(
2109          *hooks->ParseParam = TTXParseParam;          *hooks->ParseParam = TTXParseParam;
2110  }  }
2111    
2112  static void PASCAL FAR TTXSetWinSize(int rows, int cols)  static void PASCAL TTXSetWinSize(int rows, int cols)
2113  {  {
2114          SSH_notify_win_size(pvar, cols, rows);          SSH_notify_win_size(pvar, cols, rows);
2115  }  }
2116    
2117  static void insertMenuBeforeItem(HMENU menu, WORD beforeItemID, WORD flags,  static void insertMenuBeforeItem(HMENU menu, WORD beforeItemID, WORD flags,
2118                                   WORD newItemID, char FAR * text)                                   WORD newItemID, char *text)
2119  {  {
2120          int i, j;          int i, j;
2121    
# Line 2157  HMENU GetSubMenuByChildID(HMENU menu, UI Line 2157  HMENU GetSubMenuByChildID(HMENU menu, UI
2157    return NULL;    return NULL;
2158  }  }
2159    
2160  static void PASCAL FAR TTXModifyMenu(HMENU menu)  static void PASCAL TTXModifyMenu(HMENU menu)
2161  {  {
2162          pvar->FileMenu = GetFileMenu(menu);          pvar->FileMenu = GetFileMenu(menu);
2163    
# Line 2182  static void PASCAL FAR TTXModifyMenu(HME Line 2182  static void PASCAL FAR TTXModifyMenu(HME
2182          insertMenuBeforeItem(menu, 50170, MF_GRAYED, ID_SSHSCPMENU, pvar->ts->UIMsg);          insertMenuBeforeItem(menu, 50170, MF_GRAYED, ID_SSHSCPMENU, pvar->ts->UIMsg);
2183  }  }
2184    
2185  static void PASCAL FAR TTXModifyPopupMenu(HMENU menu) {  static void PASCAL TTXModifyPopupMenu(HMENU menu) {
2186          if (menu == pvar->FileMenu) {          if (menu == pvar->FileMenu) {
2187                  if (pvar->cv->Ready && pvar->settings.Enabled)                  if (pvar->cv->Ready && pvar->settings.Enabled)
2188                          EnableMenuItem(menu, ID_SSHSCPMENU, MF_BYCOMMAND | MF_ENABLED);                          EnableMenuItem(menu, ID_SSHSCPMENU, MF_BYCOMMAND | MF_ENABLED);
# Line 2405  static void about_dlg_set_abouttext(PTIn Line 2405  static void about_dlg_set_abouttext(PTIn
2405                  strncat_s(buf2, sizeof(buf2), fp, _TRUNCATE);                  strncat_s(buf2, sizeof(buf2), fp, _TRUNCATE);
2406                  free(fp);                  free(fp);
2407    
2408                  SendDlgItemMessage(dlg, IDC_ABOUTTEXT, WM_SETTEXT, 0, (LPARAM)(char FAR *)buf2);                  SendDlgItemMessage(dlg, IDC_ABOUTTEXT, WM_SETTEXT, 0, (LPARAM)(char *)buf2);
2409          }          }
2410  }  }
2411    
# Line 2605  static BOOL CALLBACK TTXAboutDlg(HWND dl Line 2605  static BOOL CALLBACK TTXAboutDlg(HWND dl
2605          return FALSE;          return FALSE;
2606  }  }
2607    
2608  static char FAR *get_cipher_name(int cipher)  static char *get_cipher_name(int cipher)
2609  {  {
2610          switch (cipher) {          switch (cipher) {
2611          case SSH_CIPHER_NONE:          case SSH_CIPHER_NONE:
# Line 2823  static void init_setup_dlg(PTInstVar pva Line 2823  static void init_setup_dlg(PTInstVar pva
2823    
2824          for (i = 0; pvar->settings.CipherOrder[i] != 0; i++) {          for (i = 0; pvar->settings.CipherOrder[i] != 0; i++) {
2825                  int cipher = pvar->settings.CipherOrder[i] - '0';                  int cipher = pvar->settings.CipherOrder[i] - '0';
2826                  char FAR *name = get_cipher_name(cipher);                  char *name = get_cipher_name(cipher);
2827    
2828                  if (name != NULL) {                  if (name != NULL) {
2829                          SendMessage(cipherControl, LB_ADDSTRING, 0, (LPARAM) name);                          SendMessage(cipherControl, LB_ADDSTRING, 0, (LPARAM) name);
# Line 2837  static void init_setup_dlg(PTInstVar pva Line 2837  static void init_setup_dlg(PTInstVar pva
2837          normalize_kex_order(pvar->settings.KexOrder);          normalize_kex_order(pvar->settings.KexOrder);
2838          for (i = 0; pvar->settings.KexOrder[i] != 0; i++) {          for (i = 0; pvar->settings.KexOrder[i] != 0; i++) {
2839                  int index = pvar->settings.KexOrder[i] - '0';                  int index = pvar->settings.KexOrder[i] - '0';
2840                  char FAR *name = NULL;                  char *name = NULL;
2841    
2842                  if (index == 0) {                  if (index == 0) {
2843                          UTIL_get_lang_msg("DLG_SSHSETUP_KEX_BORDER", pvar,                          UTIL_get_lang_msg("DLG_SSHSETUP_KEX_BORDER", pvar,
# Line 2858  static void init_setup_dlg(PTInstVar pva Line 2858  static void init_setup_dlg(PTInstVar pva
2858          normalize_host_key_order(pvar->settings.HostKeyOrder);          normalize_host_key_order(pvar->settings.HostKeyOrder);
2859          for (i = 0; pvar->settings.HostKeyOrder[i] != 0; i++) {          for (i = 0; pvar->settings.HostKeyOrder[i] != 0; i++) {
2860                  int index = pvar->settings.HostKeyOrder[i] - '0';                  int index = pvar->settings.HostKeyOrder[i] - '0';
2861                  char FAR *name = NULL;                  char *name = NULL;
2862    
2863                  if (index == 0) {                  if (index == 0) {
2864                          UTIL_get_lang_msg("DLG_SSHSETUP_HOST_KEY_BORDER", pvar,                          UTIL_get_lang_msg("DLG_SSHSETUP_HOST_KEY_BORDER", pvar,
# Line 2879  static void init_setup_dlg(PTInstVar pva Line 2879  static void init_setup_dlg(PTInstVar pva
2879          normalize_mac_order(pvar->settings.MacOrder);          normalize_mac_order(pvar->settings.MacOrder);
2880          for (i = 0; pvar->settings.MacOrder[i] != 0; i++) {          for (i = 0; pvar->settings.MacOrder[i] != 0; i++) {
2881                  int index = pvar->settings.MacOrder[i] - '0';                  int index = pvar->settings.MacOrder[i] - '0';
2882                  char FAR *name = NULL;                  char *name = NULL;
2883    
2884                  if (index == 0) {                  if (index == 0) {
2885                          UTIL_get_lang_msg("DLG_SSHSETUP_MAC_BORDER", pvar,                          UTIL_get_lang_msg("DLG_SSHSETUP_MAC_BORDER", pvar,
# Line 2900  static void init_setup_dlg(PTInstVar pva Line 2900  static void init_setup_dlg(PTInstVar pva
2900          normalize_comp_order(pvar->settings.CompOrder);          normalize_comp_order(pvar->settings.CompOrder);
2901          for (i = 0; pvar->settings.CompOrder[i] != 0; i++) {          for (i = 0; pvar->settings.CompOrder[i] != 0; i++) {
2902                  int index = pvar->settings.CompOrder[i] - '0';                  int index = pvar->settings.CompOrder[i] - '0';
2903                  char FAR *name = NULL;                  char *name = NULL;
2904    
2905                  if (index == 0) {                  if (index == 0) {
2906                          UTIL_get_lang_msg("DLG_SSHSETUP_COMP_BORDER", pvar,                          UTIL_get_lang_msg("DLG_SSHSETUP_COMP_BORDER", pvar,
# Line 2977  static void init_setup_dlg(PTInstVar pva Line 2977  static void init_setup_dlg(PTInstVar pva
2977    
2978  }  }
2979    
2980  void get_teraterm_dir_relative_name(char FAR * buf, int bufsize,  void get_teraterm_dir_relative_name(char *buf, int bufsize,
2981                                      char FAR * basename)                                      char *basename)
2982  {  {
2983          int filename_start = 0;          int filename_start = 0;
2984          int i;          int i;
# Line 3002  void get_teraterm_dir_relative_name(char Line 3002  void get_teraterm_dir_relative_name(char
3002          }          }
3003  }  }
3004    
3005  int copy_teraterm_dir_relative_path(char FAR * dest, int destsize,  int copy_teraterm_dir_relative_path(char *dest, int destsize,
3006                                      char FAR * basename)                                      char *basename)
3007  {  {
3008          char buf[1024];          char buf[1024];
3009          int filename_start = 0;          int filename_start = 0;
# Line 3254  static void move_cur_sel_delta(HWND list Line 3254  static void move_cur_sel_delta(HWND list
3254                          SendMessage(listbox, LB_GETTEXT, curPos, (LPARAM) buf);                          SendMessage(listbox, LB_GETTEXT, curPos, (LPARAM) buf);
3255                          SendMessage(listbox, LB_DELETESTRING, curPos, 0);                          SendMessage(listbox, LB_DELETESTRING, curPos, 0);
3256                          SendMessage(listbox, LB_INSERTSTRING, newPos,                          SendMessage(listbox, LB_INSERTSTRING, newPos,
3257                                      (LPARAM) (char FAR *) buf);                                      (LPARAM) (char *) buf);
3258                          SendMessage(listbox, LB_SETCURSEL, newPos, 0);                          SendMessage(listbox, LB_SETCURSEL, newPos, 0);
3259                  }                  }
3260          }          }
3261  }  }
3262    
3263  static int get_keys_file_name(HWND parent, char FAR * buf, int bufsize,  static int get_keys_file_name(HWND parent, char *buf, int bufsize,
3264                                int readonly)                                int readonly)
3265  {  {
3266          OPENFILENAME params;          OPENFILENAME params;
# Line 5149  error:; Line 5149  error:;
5149  }  }
5150    
5151    
5152  static int PASCAL FAR TTXProcessCommand(HWND hWin, WORD cmd)  static int PASCAL TTXProcessCommand(HWND hWin, WORD cmd)
5153  {  {
5154          char uimsg[MAX_UIMSG];          char uimsg[MAX_UIMSG];
5155    
# Line 5223  static int PASCAL FAR TTXProcessCommand( Line 5223  static int PASCAL FAR TTXProcessCommand(
5223                  return 1;                  return 1;
5224          case ID_SSHASYNCMESSAGEBOX:          case ID_SSHASYNCMESSAGEBOX:
5225                  if (pvar->err_msg != NULL) {                  if (pvar->err_msg != NULL) {
5226                          char FAR *msg = pvar->err_msg;                          char *msg = pvar->err_msg;
5227    
5228                          /* Could there be a buffer overrun bug anywhere in Win32                          /* Could there be a buffer overrun bug anywhere in Win32
5229                             MessageBox? Who knows? I'm paranoid. */                             MessageBox? Who knows? I'm paranoid. */
# Line 5323  static void dquote_string(char *str, cha Line 5323  static void dquote_string(char *str, cha
5323          strncpy_s(dst, dst_len, str, _TRUNCATE);          strncpy_s(dst, dst_len, str, _TRUNCATE);
5324  }  }
5325    
5326  static void PASCAL FAR TTXSetCommandLine(PCHAR cmd, int cmdlen,  static void PASCAL TTXSetCommandLine(PCHAR cmd, int cmdlen,
5327                                           PGetHNRec rec)                                           PGetHNRec rec)
5328  {  {
5329          char tmpFile[MAX_PATH];          char tmpFile[MAX_PATH];
# Line 5442  static void PASCAL FAR TTXSetCommandLine Line 5442  static void PASCAL FAR TTXSetCommandLine
5442     This function is called for each extension, in reverse load order (see     This function is called for each extension, in reverse load order (see
5443     below).     below).
5444  */  */
5445  static void PASCAL FAR TTXEnd(void)  static void PASCAL TTXEnd(void)
5446  {  {
5447          uninit_TTSSH(pvar);          uninit_TTSSH(pvar);
5448    
# Line 5487  static TTXExports Exports = { Line 5487  static TTXExports Exports = {
5487  };  };
5488    
5489  BOOL __declspec(dllexport)  BOOL __declspec(dllexport)
5490  PASCAL FAR TTXBind(WORD Version, TTXExports FAR * exports)  PASCAL TTXBind(WORD Version, TTXExports *exports)
5491  {  {
5492          int size = sizeof(Exports) - sizeof(exports->size);          int size = sizeof(Exports) - sizeof(exports->size);
5493          /* do version checking if necessary */          /* do version checking if necessary */
# Line 5496  PASCAL FAR TTXBind(WORD Version, TTXExpo Line 5496  PASCAL FAR TTXBind(WORD Version, TTXExpo
5496          if (size > exports->size) {          if (size > exports->size) {
5497                  size = exports->size;                  size = exports->size;
5498          }          }
5499          memcpy((char FAR *) exports + sizeof(exports->size),          memcpy((char *) exports + sizeof(exports->size),
5500                     (char FAR *) &Exports + sizeof(exports->size), size);                     (char *) &Exports + sizeof(exports->size), size);
5501          return TRUE;          return TRUE;
5502  }  }
5503    

Legend:
Removed from v.6778  
changed lines
  Added in v.6801

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