Develop and Download Open Source Software

Browse Subversion Repository

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

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

revision 5926 by doda, Tue Aug 4 03:17:44 2015 UTC revision 5928 by doda, Tue Aug 4 10:00:19 2015 UTC
# Line 1714  static void init_protocol(PTInstVar pvar Line 1714  static void init_protocol(PTInstVar pvar
1714          }          }
1715  }  }
1716    
1717    void server_version_check(PTInstVar pvar)
1718    {
1719            char *server_swver;
1720    
1721            pvar->server_compat_flag = 0;
1722    
1723            if ((server_swver = strchr(pvar->server_version_string+4, '-')) == NULL) {
1724                    notify_verbose_message(pvar, "Can't get server software version string.", LOG_LEVEL_WARNING);
1725                    return;
1726            }
1727            server_swver++;
1728    
1729            if (strncmp(server_swver, "Cisco-1", 7) == 0) {
1730                    pvar->server_compat_flag |= SSH_BUG_DHGEX_LARGE;
1731                    notify_verbose_message(pvar, "Server version string is matched to \"Cisco-1\", compatibility flag SSH_BUG_DHGEX_LARGE is enabled.", LOG_LEVEL_INFO);
1732            }
1733    }
1734    
1735  BOOL SSH_handle_server_ID(PTInstVar pvar, char FAR * ID, int ID_len)  BOOL SSH_handle_server_ID(PTInstVar pvar, char FAR * ID, int ID_len)
1736  {  {
1737          static char prefix[64];          static char prefix[64];
# Line 1739  BOOL SSH_handle_server_ID(PTInstVar pvar Line 1757  BOOL SSH_handle_server_ID(PTInstVar pvar
1757                  notify_verbose_message(pvar, buf, LOG_LEVEL_VERBOSE);                  notify_verbose_message(pvar, buf, LOG_LEVEL_VERBOSE);
1758                  free(buf);                  free(buf);
1759    
   
                 // ここでのコピーは削除 (2005.3.9 yutaka)  
 #if 0  
                 // for calculate SSH2 hash  
                 // サーババージョンの保存(改行は取り除くこと)  
                 if (ID_len >= sizeof(pvar->server_version_string))  
                         return FALSE;  
                 strncpy(pvar->server_version_string, ID, ID_len);  
 #endif  
   
   
1760                  if (ID[ID_len - 1] != '\n') {                  if (ID[ID_len - 1] != '\n') {
1761                          pvar->ssh_state.status_flags |= STATUS_IN_PARTIAL_ID_STRING;                          pvar->ssh_state.status_flags |= STATUS_IN_PARTIAL_ID_STRING;
1762                          return FALSE;                          return FALSE;
# Line 1811  BOOL SSH_handle_server_ID(PTInstVar pvar Line 1818  BOOL SSH_handle_server_ID(PTInstVar pvar
1818                                              sizeof(pvar->server_version_string), _TRUNCATE,                                              sizeof(pvar->server_version_string), _TRUNCATE,
1819                                              "%s", pvar->ssh_state.server_ID);                                              "%s", pvar->ssh_state.server_ID);
1820    
1821                                    // サーババージョンのチェック
1822                                    server_version_check(pvar);
1823    
1824                                  if ((pvar->Psend) (pvar->socket, TTSSH_ID, TTSSH_ID_len,                                  if ((pvar->Psend) (pvar->socket, TTSSH_ID, TTSSH_ID_len,
1825                                                     0) != TTSSH_ID_len) {                                                     0) != TTSSH_ID_len) {
1826                                          UTIL_get_lang_msg("MSG_SSH_SEND_ID_ERROR", pvar,                                          UTIL_get_lang_msg("MSG_SSH_SEND_ID_ERROR", pvar,
# Line 5217  static void SSH2_dh_gex_kex_init(PTInstV Line 5227  static void SSH2_dh_gex_kex_init(PTInstV
5227          else if (bits > max) {          else if (bits > max) {
5228                  bits = max;                  bits = max;
5229          }          }
5230            if (pvar->server_compat_flag & SSH_BUG_DHGEX_LARGE && bits > 4096) {
5231                    unsigned char tmp[256];
5232                    _snprintf_s(tmp, sizeof(tmp), _TRUNCATE,
5233                                "SSH_BUG_DHGEX_LARGE is enabled. DH-GEX group size is limited to 4096. (Original size is %d)",
5234                                bits);
5235                    notify_verbose_message(pvar, tmp, LOG_LEVEL_NOTIFY);
5236                    bits = 4096;
5237            }
5238    
5239          // サーバへgroup sizeを送って、p と g を作ってもらう。          // サーバへgroup sizeを送って、p と g を作ってもらう。
5240          buffer_put_int(msg, min);          buffer_put_int(msg, min);

Legend:
Removed from v.5926  
changed lines
  Added in v.5928

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