| 5785 |
|
|
| 5786 |
static BOOL handle_SSH2_open_confirm(PTInstVar pvar) |
static BOOL handle_SSH2_open_confirm(PTInstVar pvar) |
| 5787 |
{ |
{ |
| 5788 |
buffer_t *msg; |
buffer_t *msg, *ttymsg; |
| 5789 |
char *s; |
char *s; |
| 5790 |
unsigned char *outmsg; |
unsigned char *outmsg; |
| 5791 |
int len; |
int len; |
| 5845 |
// TODO: error check |
// TODO: error check |
| 5846 |
return FALSE; |
return FALSE; |
| 5847 |
} |
} |
| 5848 |
|
ttymsg = buffer_init(); |
| 5849 |
|
if (ttymsg == NULL) { |
| 5850 |
|
// TODO: error check |
| 5851 |
|
buffer_free(msg); |
| 5852 |
|
return FALSE; |
| 5853 |
|
} |
| 5854 |
|
|
| 5855 |
buffer_put_int(msg, remote_id); |
buffer_put_int(msg, remote_id); |
| 5856 |
s = "pty-req"; // pseudo terminalのリクエスト |
s = "pty-req"; // pseudo terminalのリクエスト |
| 5857 |
buffer_put_string(msg, s, strlen(s)); |
buffer_put_string(msg, s, strlen(s)); |
| 5862 |
buffer_put_int(msg, pvar->ssh_state.win_rows); // lines |
buffer_put_int(msg, pvar->ssh_state.win_rows); // lines |
| 5863 |
buffer_put_int(msg, 480); // XXX: |
buffer_put_int(msg, 480); // XXX: |
| 5864 |
buffer_put_int(msg, 640); // XXX: |
buffer_put_int(msg, 640); // XXX: |
| 5865 |
// TODO: TTY modeはここで渡すこと。 |
|
| 5866 |
|
// TTY modeはここで渡す (2005.7.17 yutaka) |
| 5867 |
|
#if 0 |
| 5868 |
s = ""; |
s = ""; |
| 5869 |
buffer_put_string(msg, s, strlen(s)); |
buffer_put_string(msg, s, strlen(s)); |
| 5870 |
|
#else |
| 5871 |
|
buffer_put_char(ttymsg, 129); // TTY_OP_OSPEED_PROTO2 |
| 5872 |
|
buffer_put_int(ttymsg, 9600); // baud rate |
| 5873 |
|
buffer_put_char(ttymsg, 128); // TTY_OP_ISPEED_PROTO2 |
| 5874 |
|
buffer_put_int(ttymsg, 9600); // baud rate |
| 5875 |
|
// VERASE |
| 5876 |
|
buffer_put_char(ttymsg, 3); |
| 5877 |
|
if (pvar->ts->BSKey == IdBS) { |
| 5878 |
|
buffer_put_int(ttymsg, 0x08); // BS key |
| 5879 |
|
} else { |
| 5880 |
|
buffer_put_int(ttymsg, 0x7F); // DEL key |
| 5881 |
|
} |
| 5882 |
|
// TTY_OP_END |
| 5883 |
|
buffer_put_char(ttymsg, 0); |
| 5884 |
|
|
| 5885 |
|
// SSH2では文字列として書き込む。 |
| 5886 |
|
buffer_put_string(msg, buffer_ptr(ttymsg), buffer_len(ttymsg)); |
| 5887 |
|
#endif |
| 5888 |
|
|
| 5889 |
len = buffer_len(msg); |
len = buffer_len(msg); |
| 5890 |
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_REQUEST, len); |
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_REQUEST, len); |
| 5891 |
memcpy(outmsg, buffer_ptr(msg), len); |
memcpy(outmsg, buffer_ptr(msg), len); |
| 5892 |
finish_send_packet(pvar); |
finish_send_packet(pvar); |
| 5893 |
buffer_free(msg); |
buffer_free(msg); |
| 5894 |
|
buffer_free(ttymsg); |
| 5895 |
|
|
| 5896 |
notify_verbose_message(pvar, "SSH2_MSG_CHANNEL_REQUEST was sent at handle_SSH2_open_confirm().", LOG_LEVEL_VERBOSE); |
notify_verbose_message(pvar, "SSH2_MSG_CHANNEL_REQUEST was sent at handle_SSH2_open_confirm().", LOG_LEVEL_VERBOSE); |
| 5897 |
|
|
| 6411 |
|
|
| 6412 |
/* |
/* |
| 6413 |
* $Log: not supported by cvs2svn $ |
* $Log: not supported by cvs2svn $ |
| 6414 |
|
* Revision 1.36 2005/07/15 14:58:04 yutakakn |
| 6415 |
|
* SSH1接続で一度ユーザ認証に失敗すると、その後認証ができなくなるバグを修正。 |
| 6416 |
|
* |
| 6417 |
* Revision 1.35 2005/07/10 06:44:48 yutakakn |
* Revision 1.35 2005/07/10 06:44:48 yutakakn |
| 6418 |
* キー再作成時にパケット圧縮が正常に動作せず、サーバ側で正しく解凍できないバグを修正。 |
* キー再作成時にパケット圧縮が正常に動作せず、サーバ側で正しく解凍できないバグを修正。 |
| 6419 |
* |
* |