Browse Subversion Repository
Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ssh.c
Parent Directory
| Revision Log
| Patch
| 8031 |
return TRUE; |
return TRUE; |
| 8032 |
} |
} |
| 8033 |
|
|
| 8034 |
|
// cf. response()#scp.c |
| 8035 |
static void SSH2_scp_response(PTInstVar pvar, Channel_t *c, unsigned char *data, unsigned int buflen) |
static void SSH2_scp_response(PTInstVar pvar, Channel_t *c, unsigned char *data, unsigned int buflen) |
| 8036 |
{ |
{ |
| 8037 |
if (c->scp.dir == FROMREMOTE) { |
if (c->scp.dir == FROMREMOTE) { |
| 8051 |
{ // error |
{ // error |
| 8052 |
char msg[2048]; |
char msg[2048]; |
| 8053 |
unsigned int i, max; |
unsigned int i, max; |
| 8054 |
|
int offset, resp; |
| 8055 |
|
|
| 8056 |
|
resp = data[0]; |
| 8057 |
|
|
| 8058 |
|
// エラーコードにより文字列の格納場所が若干異なる。 |
| 8059 |
|
if (resp == 1 || /* error, followed by error msg */ |
| 8060 |
|
resp == 2) { /* fatal error, "" */ |
| 8061 |
|
offset = 1; |
| 8062 |
|
} else { |
| 8063 |
|
offset = 0; |
| 8064 |
|
} |
| 8065 |
|
|
| 8066 |
if (buflen > sizeof(msg)) |
if (buflen > sizeof(msg)) |
| 8067 |
max = sizeof(msg); |
max = sizeof(msg); |
| 8068 |
else |
else |
| 8069 |
max = buflen - 1; |
max = buflen - 1; |
| 8070 |
for (i = 0 ; i < max ; i++) { |
for (i = 0 ; i < max ; i++) { |
| 8071 |
msg[i] = data[i + 1]; |
msg[i] = data[i + offset]; |
| 8072 |
} |
} |
| 8073 |
msg[i] = '\0'; |
msg[i] = '\0'; |
| 8074 |
|
|
| 8075 |
ssh2_channel_send_close(pvar, c); |
// よく分からないエラーの場合は、自身でチャネルをクローズする。 |
| 8076 |
//ssh2_channel_delete(c); // free channel |
// .bashrc に"stty stop undef"が定義されていると、TTSSHが落ちる問題への暫定処置。 |
| 8077 |
|
// 落ちる原因は分かっていない。 |
| 8078 |
|
// (2013.4.5 yutaka) |
| 8079 |
|
if (resp == 1) { |
| 8080 |
|
ssh2_channel_send_close(pvar, c); |
| 8081 |
|
} else { |
| 8082 |
|
ssh2_channel_delete(c); // free channel |
| 8083 |
|
} |
| 8084 |
|
|
| 8085 |
MessageBox(NULL, msg, "TTSSH: SCP error", MB_OK | MB_ICONEXCLAMATION); |
MessageBox(NULL, msg, "TTSSH: SCP error", MB_OK | MB_ICONEXCLAMATION); |
| 8086 |
} |
} |
|
|
Legend:
| Removed from v.5039 |
|
| changed lines |
| |
Added in v.5191 |
|
|
| |