keepalive@openssh.com の扱いを元に戻した [teraterm:1278]
r6811 で keepalive@openssh.com に対して SSH2_MSG_CHANNEL_SUCCESS を
返すように変更したが、古い OpenSSH では SSH2_MSG_CHANNEL_SUCCESS を
ハンドルしていない為 keepalive に応答していないとみなされるので、
SSH2_MSG_CHANNEL_FAILURE を返すように戻す。(OpenSSH 3.9 のソースで確認)
@@ -9064,10 +9064,9 @@ | ||
9064 | 9064 | logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": exit-status=%d", estat); |
9065 | 9065 | } |
9066 | 9066 | else if (strcmp(request, "keepalive@openssh.com") == 0) { |
9067 | - // OpenSSH client では success = 1 にしていないけれど、 | |
9068 | - // server 側は SUCCESS/FAILURE どちらでも OK なので | |
9069 | - // とりあえず SUCCESS を返す。 | |
9070 | - success = 1; | |
9067 | + // 古い OpenSSH では SUCCESS を返しても keepalive に | |
9068 | + // 応答したと看做されないので FAILURE を返す。[teraterm:1278] | |
9069 | + success = 0; | |
9071 | 9070 | } |
9072 | 9071 | |
9073 | 9072 | free(request); |