scmno****@osdn*****
scmno****@osdn*****
2017年 12月 26日 (火) 18:13:38 JST
Revision: 7011 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7011 Author: doda Date: 2017-12-26 18:13:38 +0900 (Tue, 26 Dec 2017) Log Message: ----------- 必須のメッセージは常に処理されるように SSH2_dispatch_init() 内で有効にする。 対象メッセージ: ・SSH2_MSG_DISCONNECT ・SSH2_MSG_IGNORE ・SSH2_MSG_DEBUG ・SSH2_MSG_UNIMPLEMENTED RFC 4253 では、これらの Additional Messages について以下の記述がある。 | 11. Additional Messages | | Either party may send any of the following messages at any time. RFC 4253 では SSH2_MSG_IGNORE, SSH2_MSG_DISCONNECT, SSH2_MSG_DEBUG は 処理が出来る必要がある。(MUST understand / MUST be able to process) これらのメッセージを確実に処理する為に、SSH2_dispatch_init() 内で ハンドラを有効にするようにした。 SSH2_MSG_UNIMPLEMENTED に関しては処理できる必要が有るとはなっていないが 同様に考えるべきだと思われるので、これのハンドラも一緒に有効にする。 Modified Paths: -------------- trunk/ttssh2/ttxssh/ssh.c -------------- next part -------------- Modified: trunk/ttssh2/ttxssh/ssh.c =================================================================== --- trunk/ttssh2/ttxssh/ssh.c 2017-12-26 09:13:33 UTC (rev 7010) +++ trunk/ttssh2/ttxssh/ssh.c 2017-12-26 09:13:38 UTC (rev 7011) @@ -1860,8 +1860,6 @@ SSH2_dispatch_init(1); SSH2_dispatch_add_message(SSH2_MSG_KEXINIT); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.3 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); } } @@ -2068,6 +2066,11 @@ { handle_message_count = 0; handle_message_stage = stage; + + SSH2_dispatch_add_message(SSH2_MSG_IGNORE); + SSH2_dispatch_add_message(SSH2_MSG_DEBUG); + SSH2_dispatch_add_message(SSH2_MSG_DISCONNECT); + SSH2_dispatch_add_message(SSH2_MSG_UNIMPLEMENTED); } int SSH2_dispatch_enabled_check(unsigned char message) @@ -5186,8 +5189,6 @@ SSH2_dispatch_init(2); SSH2_dispatch_add_message(SSH2_MSG_KEXDH_REPLY); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.5 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); buffer_free(msg); @@ -5269,8 +5270,6 @@ SSH2_dispatch_init(2); SSH2_dispatch_add_message(SSH2_MSG_KEX_DH_GEX_GROUP); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.5 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); buffer_free(msg); @@ -5403,8 +5402,6 @@ SSH2_dispatch_init(2); SSH2_dispatch_add_message(SSH2_MSG_KEX_DH_GEX_REPLY); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.5 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); buffer_free(msg); @@ -5467,8 +5464,6 @@ SSH2_dispatch_init(2); SSH2_dispatch_add_message(SSH2_MSG_KEX_ECDH_REPLY); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.5 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); buffer_free(msg); @@ -5582,8 +5577,6 @@ SSH2_dispatch_init(3); SSH2_dispatch_add_message(SSH2_MSG_NEWKEYS); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); return TRUE; } @@ -6081,14 +6074,7 @@ SSH2_dispatch_init(6); SSH2_dispatch_add_range_message(SSH2_MSG_GLOBAL_REQUEST, SSH2_MSG_CHANNEL_FAILURE); - SSH2_dispatch_add_message(SSH2_MSG_UNIMPLEMENTED); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX - // OpenSSH 3.9\x82ł̓f\x81[\x83^\x92ʐM\x92\x86\x82\xCCDH\x8C\xAE\x8C\xF0\x8A\xB7\x97v\x8B\x81\x82\xAA\x81A\x83T\x81[\x83o\x82\xA9\x82瑗\x82\xE7\x82\xEA\x82Ă\xAD\x82邱\x82Ƃ\xAA\x82\xA0\x82\xE9\x81B SSH2_dispatch_add_message(SSH2_MSG_KEXINIT); - // HP-UX\x82\xC5X11 forwarding\x82\xAA\x8E\xB8\x94s\x82\xB5\x82\xBD\x8Fꍇ\x81A\x89\xBA\x8BL\x82̃\x81\x83b\x83Z\x81[\x83W\x82\xAA\x91\x97\x82\xE7\x82\xEA\x82Ă\xAD\x82\xE9\x81B(2006.4.7 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); - // OpenSSH \x82̓f\x81[\x83^\x92ʐM\x92\x86\x82ɒv\x96\xBD\x93I\x82ȃG\x83\x89\x81[\x82\xAA\x82\xA0\x82\xE9\x82\xC6 SSH2_MSG_DISCONNECT \x82𑗂\xC1\x82Ă\xAD\x82\xE9 (2007.10.25 maya) - SSH2_dispatch_add_message(SSH2_MSG_DISCONNECT); } @@ -6206,8 +6192,6 @@ SSH2_dispatch_init(4); SSH2_dispatch_add_message(SSH2_MSG_SERVICE_ACCEPT); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.5 yutaka) - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_SERVICE_REQUEST was sent at do_SSH2_userauth()."); @@ -6229,7 +6213,6 @@ free(svc); SSH2_dispatch_init(5); - SSH2_dispatch_add_message(SSH2_MSG_IGNORE); // XXX: Tru64 UNIX workaround (2005.3.5 yutaka) if (pvar->auth_state.cur_cred.method == SSH_AUTH_TIS) { // keyboard-interactive method SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_INFO_REQUEST); @@ -6244,7 +6227,6 @@ SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_SUCCESS); SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_FAILURE); SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_BANNER); - SSH2_dispatch_add_message(SSH2_MSG_DEBUG); // support for authorized_keys command (2006.2.23 yutaka) return do_SSH2_authrequest(pvar); }