| 46 |
#include "ssh.h" |
#include "ssh.h" |
| 47 |
#include "crypt.h" |
#include "crypt.h" |
| 48 |
|
|
| 49 |
|
// SSH2 macro |
| 50 |
#ifdef _DEBUG |
#ifdef _DEBUG |
| 51 |
#define SSH2_DEBUG |
#define SSH2_DEBUG |
| 52 |
#endif |
#endif |
| 53 |
|
|
| 54 |
// SSH2 macro |
#define DONT_WANTCONFIRM 1 // (2005.3.28 yutaka) |
| 55 |
#define INTBLOB_LEN 20 |
#define INTBLOB_LEN 20 |
| 56 |
#define SIGBLOB_LEN (2*INTBLOB_LEN) |
#define SIGBLOB_LEN (2*INTBLOB_LEN) |
| 57 |
|
|
| 5174 |
int len; |
int len; |
| 5175 |
char *data; |
char *data; |
| 5176 |
int id, remote_id; |
int id, remote_id; |
| 5177 |
|
#ifdef DONT_WANTCONFIRM |
| 5178 |
|
int wantconfirm = 0; // false |
| 5179 |
|
#else |
| 5180 |
|
int wantconfirm = 1; // true |
| 5181 |
|
#endif |
| 5182 |
|
|
| 5183 |
// 6byte(サイズ+パディング+タイプ)を取り除いた以降のペイロード |
// 6byte(サイズ+パディング+タイプ)を取り除いた以降のペイロード |
| 5184 |
data = pvar->ssh_state.payload; |
data = pvar->ssh_state.payload; |
| 5211 |
buffer_put_int(msg, remote_id); |
buffer_put_int(msg, remote_id); |
| 5212 |
s = "pty-req"; // pseudo terminalのリクエスト |
s = "pty-req"; // pseudo terminalのリクエスト |
| 5213 |
buffer_put_string(msg, s, strlen(s)); |
buffer_put_string(msg, s, strlen(s)); |
| 5214 |
buffer_put_char(msg, 1); |
buffer_put_char(msg, wantconfirm); // wantconfirm (disableに変更 2005/3/28 yutaka) |
| 5215 |
s = pvar->ts->TermType; // TERM |
s = pvar->ts->TermType; // TERM |
| 5216 |
buffer_put_string(msg, s, strlen(s)); |
buffer_put_string(msg, s, strlen(s)); |
| 5217 |
buffer_put_int(msg, pvar->ssh_state.win_cols); // columns |
buffer_put_int(msg, pvar->ssh_state.win_cols); // columns |
| 5228 |
|
|
| 5229 |
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); |
| 5230 |
|
|
| 5231 |
|
if (wantconfirm == 0) { |
| 5232 |
|
handle_SSH2_channel_success(pvar); |
| 5233 |
|
} |
| 5234 |
|
|
| 5235 |
return TRUE; |
return TRUE; |
| 5236 |
} |
} |
| 5237 |
|
|
| 5256 |
} |
} |
| 5257 |
|
|
| 5258 |
if (pvar->session_nego_status == 1) { |
if (pvar->session_nego_status == 1) { |
| 5259 |
|
#ifdef DONT_WANTCONFIRM |
| 5260 |
|
int wantconfirm = 0; // false |
| 5261 |
|
#else |
| 5262 |
|
int wantconfirm = 1; // true |
| 5263 |
|
#endif |
| 5264 |
|
|
| 5265 |
pvar->session_nego_status = 2; |
pvar->session_nego_status = 2; |
| 5266 |
msg = buffer_init(); |
msg = buffer_init(); |
| 5267 |
if (msg == NULL) { |
if (msg == NULL) { |
| 5271 |
buffer_put_int(msg, pvar->remote_id); |
buffer_put_int(msg, pvar->remote_id); |
| 5272 |
s = "shell"; |
s = "shell"; |
| 5273 |
buffer_put_string(msg, s, strlen(s)); // ctype |
buffer_put_string(msg, s, strlen(s)); // ctype |
| 5274 |
buffer_put_char(msg, 1); |
buffer_put_char(msg, wantconfirm); // wantconfirm (disableに変更 2005/3/28 yutaka) |
| 5275 |
|
|
| 5276 |
len = buffer_len(msg); |
len = buffer_len(msg); |
| 5277 |
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_REQUEST, len); |
outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_REQUEST, len); |
| 5281 |
|
|
| 5282 |
notify_verbose_message(pvar, "SSH2_MSG_CHANNEL_REQUEST was sent at handle_SSH2_channel_success().", LOG_LEVEL_VERBOSE); |
notify_verbose_message(pvar, "SSH2_MSG_CHANNEL_REQUEST was sent at handle_SSH2_channel_success().", LOG_LEVEL_VERBOSE); |
| 5283 |
|
|
| 5284 |
|
if (wantconfirm == 0) { |
| 5285 |
|
handle_SSH2_channel_success(pvar); |
| 5286 |
|
} |
| 5287 |
|
|
| 5288 |
} else if (pvar->session_nego_status == 2) { |
} else if (pvar->session_nego_status == 2) { |
| 5289 |
pvar->session_nego_status = 3; |
pvar->session_nego_status = 3; |
| 5290 |
|
|
| 5485 |
|
|
| 5486 |
/* |
/* |
| 5487 |
* $Log: not supported by cvs2svn $ |
* $Log: not supported by cvs2svn $ |
| 5488 |
|
* Revision 1.23 2005/03/27 04:39:55 yutakakn |
| 5489 |
|
* SSH2のログ採取(verbose)のデータを追加した。 |
| 5490 |
|
* |
| 5491 |
* Revision 1.22 2005/03/12 15:07:33 yutakakn |
* Revision 1.22 2005/03/12 15:07:33 yutakakn |
| 5492 |
* SSH2 keyboard-interactive認証をTISダイアログに実装した。 |
* SSH2 keyboard-interactive認証をTISダイアログに実装した。 |
| 5493 |
* |
* |