[Ttssh2-commit] [6658] SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ を処理するようにした。 ticket :37052

svnno****@sourc***** svnno****@sourc*****
2017年 3月 23日 (木) 21:55:03 JST


Revision: 6658
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6658
Author:   doda
Date:     2017-03-23 21:55:03 +0900 (Thu, 23 Mar 2017)
Log Message:
-----------
SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ を処理するようにした。 ticket:37052

テスト用のサーバに新パスワードが渡っている所まで確認。
テスト用のサーバが手抜きなで、新パスワード付きの SSH_MSG_USERAUTH_REQUEST の
後の処理がちゃんと動かないので、ログインまで問題なく動くかは未確認。

Modified Paths:
--------------
    trunk/ttssh2/ttxssh/ssh.c

-------------- next part --------------
Modified: trunk/ttssh2/ttxssh/ssh.c
===================================================================
--- trunk/ttssh2/ttxssh/ssh.c	2017-03-23 12:55:00 UTC (rev 6657)
+++ trunk/ttssh2/ttxssh/ssh.c	2017-03-23 12:55:03 UTC (rev 6658)
@@ -6455,18 +6455,14 @@
 		// Pageant
 		SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_PK_OK);
 	}
+	else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PASSWORD) {
+		SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ);
+	}
 	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)
 
-	// XXX: \x83p\x83X\x83\x8F\x81[\x83h\x95ύX\x91Ή\x9E\x81B
-	// \x82\xBD\x82\xBE\x82\xB5\x81AOpenSSH\x82\xE2OpenSolaris(SSH-2.0-Sun_SSH_1.3)\x82ł́A\x82\xB1\x82̃\x81\x83b\x83Z\x81[\x83W\x82𑗂\xC1\x82Ă\xB1\x82Ȃ\xA2\x82\xBD\x82߁A
-	// \x96\xA2\x95]\x89\xBF\x81B\x82䂦\x82ɁA\x8E\xC0\x91\x95\x82͂\xB5\x82\xBD\x82\xAA\x81A\x8AJ\x95\xFA\x82͂\xB5\x82Ȃ\xA2\x81B
-	// (2010.11.11 yutaka)
-#if 0
-	SSH2_dispatch_add_message(SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ);
-#endif
 
 	return do_SSH2_authrequest(pvar);
 }
@@ -7008,9 +7004,7 @@
 		return handle_SSH2_userauth_pkok(pvar);
 	}
 	else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PASSWORD) {
-		// TODO
-		// return handle_SSH2_userauth_passwd_changereq(pvar) {
-		return FALSE;
+		return handle_SSH2_userauth_passwd_changereq(pvar);
 	}
 	else {
 		return FALSE;
@@ -7235,10 +7229,11 @@
 static BOOL CALLBACK passwd_change_dialog(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam)
 {
 	char retype_passwd[PASSWD_MAXLEN];
-	struct change_password *cp = (struct change_password *)lParam;
+	static struct change_password *cp;
 
 	switch (msg) {
 	case WM_INITDIALOG:
+		cp = (struct change_password *)lParam;
 		return TRUE;
 
 	case WM_COMMAND:



Ttssh2-commit メーリングリストの案内