| 5594 |
c->remote_maxpacket = get_uint32_MSBfirst(data); |
c->remote_maxpacket = get_uint32_MSBfirst(data); |
| 5595 |
data += 4; |
data += 4; |
| 5596 |
|
|
|
// ポートフォワーディングの準備 (2005.2.26, 2005.6.21 yutaka) |
|
|
// シェルオープンしたあとに X11 の要求を出さなくてはならない。(2005.7.3 yutaka) |
|
|
FWD_prep_forwarding(pvar); |
|
|
FWD_enter_interactive_mode(pvar); |
|
|
|
|
| 5597 |
if (c->type == TYPE_PORTFWD) { |
if (c->type == TYPE_PORTFWD) { |
| 5598 |
// port-forwadingの"direct-tcpip"が成功。 |
// port-forwadingの"direct-tcpip"が成功。 |
| 5599 |
FWD_confirmed_open(pvar, c->local_num, -1); |
FWD_confirmed_open(pvar, c->local_num, -1); |
| 5601 |
return TRUE; |
return TRUE; |
| 5602 |
} |
} |
| 5603 |
|
|
| 5604 |
|
// ポートフォワーディングの準備 (2005.2.26, 2005.6.21 yutaka) |
| 5605 |
|
// シェルオープンしたあとに X11 の要求を出さなくてはならない。(2005.7.3 yutaka) |
| 5606 |
|
FWD_prep_forwarding(pvar); |
| 5607 |
|
FWD_enter_interactive_mode(pvar); |
| 5608 |
|
|
| 5609 |
//debug_print(100, data, len); |
//debug_print(100, data, len); |
| 5610 |
|
|
| 5611 |
// pty open |
// pty open |
| 5988 |
|
|
| 5989 |
} |
} |
| 5990 |
|
|
|
#if 0 |
|
|
if (c != NULL) { // success |
|
|
c->remote_id = remote_id; |
|
|
c->remote_window = remote_window; |
|
|
c->remote_maxpacket = remote_maxpacket; |
|
|
|
|
|
msg = buffer_init(); |
|
|
if (msg == NULL) { |
|
|
// TODO: error check |
|
|
return FALSE; |
|
|
} |
|
|
buffer_put_int(msg, c->remote_id); |
|
|
buffer_put_int(msg, c->self_id); |
|
|
buffer_put_int(msg, c->local_window); |
|
|
buffer_put_int(msg, c->local_maxpacket); |
|
|
|
|
|
len = buffer_len(msg); |
|
|
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, len); |
|
|
memcpy(outmsg, buffer_ptr(msg), len); |
|
|
finish_send_packet(pvar); |
|
|
buffer_free(msg); |
|
|
|
|
|
} else { // failure |
|
|
msg = buffer_init(); |
|
|
if (msg == NULL) { |
|
|
// TODO: error check |
|
|
return FALSE; |
|
|
} |
|
|
buffer_put_int(msg, c->remote_id); |
|
|
buffer_put_int(msg, SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED); |
|
|
|
|
|
len = buffer_len(msg); |
|
|
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_OPEN_FAILURE, len); |
|
|
memcpy(outmsg, buffer_ptr(msg), len); |
|
|
finish_send_packet(pvar); |
|
|
buffer_free(msg); |
|
|
|
|
|
} |
|
|
#endif |
|
|
|
|
| 5991 |
free(ctype); |
free(ctype); |
| 5992 |
|
|
| 5993 |
return(TRUE); |
return(TRUE); |
| 6150 |
|
|
| 6151 |
/* |
/* |
| 6152 |
* $Log: not supported by cvs2svn $ |
* $Log: not supported by cvs2svn $ |
| 6153 |
|
* Revision 1.32 2005/07/03 12:07:53 yutakakn |
| 6154 |
|
* SSH2 X Window Systemのport forwardingをサポートした。 |
| 6155 |
|
* |
| 6156 |
* Revision 1.31 2005/07/02 08:43:32 yutakakn |
* Revision 1.31 2005/07/02 08:43:32 yutakakn |
| 6157 |
* SSH2_MSG_CHANNEL_OPEN_FAILURE ハンドラを追加した。 |
* SSH2_MSG_CHANNEL_OPEN_FAILURE ハンドラを追加した。 |
| 6158 |
* |
* |