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 7138 by doda, Thu Jun 14 11:07:19 2018 UTC revision 7363 by doda, Tue Dec 25 05:46:12 2018 UTC
# Line 2848  void SSH_init(PTInstVar pvar) Line 2848  void SSH_init(PTInstVar pvar)
2848          pvar->tryed_ssh2_authlist = FALSE;          pvar->tryed_ssh2_authlist = FALSE;
2849          pvar->agentfwd_enable = FALSE;          pvar->agentfwd_enable = FALSE;
2850          pvar->use_subsystem = FALSE;          pvar->use_subsystem = FALSE;
2851            pvar->nosession = FALSE;
2852    
2853  }  }
2854    
# Line 3322  void SSH_end(PTInstVar pvar) Line 3323  void SSH_end(PTInstVar pvar)
3323                      &pvar->ssh_state.postdecompress_inbuflen);                      &pvar->ssh_state.postdecompress_inbuflen);
3324          pvar->agentfwd_enable = FALSE;          pvar->agentfwd_enable = FALSE;
3325          pvar->use_subsystem = FALSE;          pvar->use_subsystem = FALSE;
3326            pvar->nosession = FALSE;
3327    
3328          // support of "Compression delayed" (2006.6.23 maya)          // support of "Compression delayed" (2006.6.23 maya)
3329          if (pvar->ssh_state.compressing ||          if (pvar->ssh_state.compressing ||
# Line 6773  static BOOL handle_SSH2_userauth_success Line 6775  static BOOL handle_SSH2_userauth_success
6775          // 認証OK          // 認証OK
6776          pvar->userauth_success = 1;          pvar->userauth_success = 1;
6777    
         // チャネル設定  
         // FWD_prep_forwarding()でshell IDを使うので、先に設定を持ってくる。(2005.7.3 yutaka)  
         // changed window size from 64KB to 32KB. (2006.3.6 yutaka)  
         // changed window size from 32KB to 128KB. (2007.10.29 maya)  
         if (pvar->use_subsystem) {  
                 c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SUBSYSTEM_GEN, -1);  
         }  
         else {  
                 c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SHELL, -1);  
         }  
   
         if (c == NULL) {  
                 UTIL_get_lang_msg("MSG_SSH_NO_FREE_CHANNEL", pvar,  
                                   "Could not open new channel. TTSSH is already opening too many channels.");  
                 notify_fatal_error(pvar, pvar->ts->UIMsg, TRUE);  
                 return FALSE;  
         }  
         // シェルのIDを取っておく  
         pvar->shell_id = c->self_id;  
   
6778          // ディスパッチルーチンの再設定          // ディスパッチルーチンの再設定
6779          do_SSH2_dispatch_setup_for_transfer(pvar);          do_SSH2_dispatch_setup_for_transfer(pvar);
6780    
6781          // シェルオープン          if (!pvar->nosession) {
6782          msg = buffer_init();                  // チャネル設定
6783          if (msg == NULL) {                  // FWD_prep_forwarding()でshell IDを使うので、先に設定を持ってくる。(2005.7.3 yutaka)
6784                  // TODO: error check                  // changed window size from 64KB to 32KB. (2006.3.6 yutaka)
6785                  logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");                  // changed window size from 32KB to 128KB. (2007.10.29 maya)
6786                  return FALSE;                  if (pvar->use_subsystem) {
6787          }                          c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SUBSYSTEM_GEN, -1);
6788          s = "session";                  }
6789          buffer_put_string(msg, s, strlen(s));  // ctype                  else {
6790          buffer_put_int(msg, c->self_id);  // self(channel number)                          c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SHELL, -1);
6791          buffer_put_int(msg, c->local_window);  // local_window                  }
6792          buffer_put_int(msg, c->local_maxpacket);  // local_maxpacket  
6793          len = buffer_len(msg);                  if (c == NULL) {
6794          outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_OPEN, len);                          UTIL_get_lang_msg("MSG_SSH_NO_FREE_CHANNEL", pvar,
6795          memcpy(outmsg, buffer_ptr (msg), len);                                            "Could not open new channel. TTSSH is already opening too many channels.");
6796          finish_send_packet(pvar);                          notify_fatal_error(pvar, pvar->ts->UIMsg, TRUE);
6797          buffer_free(msg);                          return FALSE;
6798                    }
6799                    // シェルのIDを取っておく
6800                    pvar->shell_id = c->self_id;
6801    
6802          logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_CHANNEL_OPEN was sent at handle_SSH2_userauth_success().");                  // シェルオープン
6803                    msg = buffer_init();
6804                    if (msg == NULL) {
6805                            // TODO: error check
6806                            logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
6807                            return FALSE;
6808                    }
6809                    s = "session";
6810                    buffer_put_string(msg, s, strlen(s));  // ctype
6811                    buffer_put_int(msg, c->self_id);  // self(channel number)
6812                    buffer_put_int(msg, c->local_window);  // local_window
6813                    buffer_put_int(msg, c->local_maxpacket);  // local_maxpacket
6814                    len = buffer_len(msg);
6815                    outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_OPEN, len);
6816                    memcpy(outmsg, buffer_ptr (msg), len);
6817                    finish_send_packet(pvar);
6818                    buffer_free(msg);
6819    
6820                    logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_CHANNEL_OPEN was sent at handle_SSH2_userauth_success().");
6821            }
6822    
6823          // ハートビート・スレッドの開始 (2004.12.11 yutaka)          // ハートビート・スレッドの開始 (2004.12.11 yutaka)
6824          start_ssh_heartbeat_thread(pvar);          start_ssh_heartbeat_thread(pvar);

Legend:
Removed from v.7138  
changed lines
  Added in v.7363

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