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 2833 by yutakakn, Sat Jul 9 17:08:47 2005 UTC revision 2834 by yutakakn, Sun Jul 10 06:44:48 2005 UTC
# Line 1765  static void prep_forwarding(PTInstVar pv Line 1765  static void prep_forwarding(PTInstVar pv
1765          prep_pty(pvar);          prep_pty(pvar);
1766  }  }
1767    
1768  static void enable_compression(PTInstVar pvar)  
1769    //
1770    //
1771    // (2005.7.10 yutaka)
1772    static void enable_send_compression(PTInstVar pvar)
1773  {  {
1774            static int initialize = 0;
1775    
1776            if (initialize) {
1777                    deflateEnd(&pvar->ssh_state.compress_stream);
1778            }
1779            initialize = 1;
1780    
1781          pvar->ssh_state.compress_stream.zalloc = NULL;          pvar->ssh_state.compress_stream.zalloc = NULL;
1782          pvar->ssh_state.compress_stream.zfree = NULL;          pvar->ssh_state.compress_stream.zfree = NULL;
1783          pvar->ssh_state.compress_stream.opaque = NULL;          pvar->ssh_state.compress_stream.opaque = NULL;
# Line 1778  static void enable_compression(PTInstVar Line 1789  static void enable_compression(PTInstVar
1789                                                     "The connection will close.");                                                     "The connection will close.");
1790                  return;                  return;
1791          } else {          } else {
1792                  pvar->ssh_state.compressing = TRUE;                  // SSH2では圧縮・展開処理をSSH1とは別に行うので、下記フラグは落としておく。(2005.7.9 yutaka)
1793                    if (SSHv2(pvar)) {
1794                            pvar->ssh_state.compressing = FALSE;
1795                    } else {
1796                            pvar->ssh_state.compressing = TRUE;
1797                    }
1798          }          }
1799    }
1800    
1801    static void enable_recv_compression(PTInstVar pvar)
1802    {
1803            static int initialize = 0;
1804    
1805            if (initialize) {
1806                    deflateEnd(&pvar->ssh_state.decompress_stream);
1807            }
1808            initialize = 1;
1809    
1810          pvar->ssh_state.decompress_stream.zalloc = NULL;          pvar->ssh_state.decompress_stream.zalloc = NULL;
1811          pvar->ssh_state.decompress_stream.zfree = NULL;          pvar->ssh_state.decompress_stream.zfree = NULL;
# Line 1791  static void enable_compression(PTInstVar Line 1817  static void enable_compression(PTInstVar
1817                                                     "The connection will close.");                                                     "The connection will close.");
1818                  return;                  return;
1819          } else {          } else {
1820                  pvar->ssh_state.decompressing = TRUE;                  // SSH2では圧縮・展開処理をSSH1とは別に行うので、下記フラグは落としておく。(2005.7.9 yutaka)
1821                    if (SSHv2(pvar)) {
1822                            pvar->ssh_state.decompressing = FALSE;
1823                    } else {
1824                            pvar->ssh_state.decompressing = TRUE;
1825                    }
1826    
1827                  buf_ensure_size(&pvar->ssh_state.postdecompress_inbuf,                  buf_ensure_size(&pvar->ssh_state.postdecompress_inbuf,
1828                                                  &pvar->ssh_state.postdecompress_inbuflen, 1000);                                                  &pvar->ssh_state.postdecompress_inbuflen, 1000);
1829          }          }
1830    }
1831    
1832    static void enable_compression(PTInstVar pvar)
1833    {
1834            enable_send_compression(pvar);
1835            enable_recv_compression(pvar);
1836    
1837          // SSH2では圧縮・展開処理をSSH1とは別に行うので、下記フラグは落としておく。(2005.7.9 yutaka)          // SSH2では圧縮・展開処理をSSH1とは別に行うので、下記フラグは落としておく。(2005.7.9 yutaka)
1838          if (SSHv2(pvar)) {          if (SSHv2(pvar)) {
# Line 2535  void SSH_end(PTInstVar pvar) Line 2573  void SSH_end(PTInstVar pvar)
2573          buf_destroy(&pvar->ssh_state.postdecompress_inbuf,          buf_destroy(&pvar->ssh_state.postdecompress_inbuf,
2574                                  &pvar->ssh_state.postdecompress_inbuflen);                                  &pvar->ssh_state.postdecompress_inbuflen);
2575    
2576          if (pvar->ssh_state.compressing) {          if (pvar->ssh_state.compressing || pvar->ctos_compression) { // add SSH2 flag (2005.7.10 yutaka)
2577                  deflateEnd(&pvar->ssh_state.compress_stream);                  deflateEnd(&pvar->ssh_state.compress_stream);
2578                  pvar->ssh_state.compressing = FALSE;                  pvar->ssh_state.compressing = FALSE;
2579          }          }
2580          if (pvar->ssh_state.decompressing) {          if (pvar->ssh_state.decompressing || pvar->stoc_compression) { // add SSH2 flag (2005.7.10 yutaka)
2581                  inflateEnd(&pvar->ssh_state.decompress_stream);                  inflateEnd(&pvar->ssh_state.decompress_stream);
2582                  pvar->ssh_state.decompressing = FALSE;                  pvar->ssh_state.decompressing = FALSE;
2583          }          }
# Line 4625  static BOOL handle_SSH2_dh_kex_reply(PTI Line 4663  static BOOL handle_SSH2_dh_kex_reply(PTI
4663                  ssh2_set_newkeys(pvar, MODE_OUT);                  ssh2_set_newkeys(pvar, MODE_OUT);
4664                  pvar->ssh2_keys[MODE_OUT].mac.enabled = 1;                  pvar->ssh2_keys[MODE_OUT].mac.enabled = 1;
4665                  pvar->ssh2_keys[MODE_OUT].comp.enabled = 1;                  pvar->ssh2_keys[MODE_OUT].comp.enabled = 1;
4666                    enable_send_compression(pvar);
4667                  if (!CRYPT_start_encryption(pvar, 1, 0)) {                  if (!CRYPT_start_encryption(pvar, 1, 0)) {
4668                          // TODO: error                          // TODO: error
4669                  }                  }
# Line 4938  static BOOL handle_SSH2_dh_gex_reply(PTI Line 4977  static BOOL handle_SSH2_dh_gex_reply(PTI
4977                  ssh2_set_newkeys(pvar, MODE_OUT);                  ssh2_set_newkeys(pvar, MODE_OUT);
4978                  pvar->ssh2_keys[MODE_OUT].mac.enabled = 1;                  pvar->ssh2_keys[MODE_OUT].mac.enabled = 1;
4979                  pvar->ssh2_keys[MODE_OUT].comp.enabled = 1;                  pvar->ssh2_keys[MODE_OUT].comp.enabled = 1;
4980                    enable_send_compression(pvar);
4981                  if (!CRYPT_start_encryption(pvar, 1, 0)) {                  if (!CRYPT_start_encryption(pvar, 1, 0)) {
4982                          // TODO: error                          // TODO: error
4983                  }                  }
# Line 5029  static BOOL handle_SSH2_newkeys(PTInstVa Line 5069  static BOOL handle_SSH2_newkeys(PTInstVa
5069                  ssh2_set_newkeys(pvar, MODE_IN);                  ssh2_set_newkeys(pvar, MODE_IN);
5070                  pvar->ssh2_keys[MODE_IN].mac.enabled = 1;                  pvar->ssh2_keys[MODE_IN].mac.enabled = 1;
5071                  pvar->ssh2_keys[MODE_IN].comp.enabled = 1;                  pvar->ssh2_keys[MODE_IN].comp.enabled = 1;
5072                    enable_recv_compression(pvar);
5073                  if (!CRYPT_start_encryption(pvar, 0, 1)) {                  if (!CRYPT_start_encryption(pvar, 0, 1)) {
5074                          // TODO: error                          // TODO: error
5075                  }                  }
# Line 6331  static BOOL handle_SSH2_window_adjust(PT Line 6372  static BOOL handle_SSH2_window_adjust(PT
6372    
6373  /*  /*
6374   * $Log: not supported by cvs2svn $   * $Log: not supported by cvs2svn $
6375     * Revision 1.34  2005/07/09 17:08:47  yutakakn
6376     * SSH2 packet compressionをサポートした。
6377     *
6378   * Revision 1.33  2005/07/03 13:32:00  yutakakn   * Revision 1.33  2005/07/03 13:32:00  yutakakn
6379   * SSH2 port-forwardingの初期化タイミングを変更。   * SSH2 port-forwardingの初期化タイミングを変更。
6380   *   *

Legend:
Removed from v.2833  
changed lines
  Added in v.2834

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