[Ttssh2-commit] [7011] 必須のメッセージは常に処理されるように SSH2_dispatch_init () 内で有効にする。

Back to archive index

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);
 }



Ttssh2-commit メーリングリストの案内
Back to archive index