Revision: 10067 https://osdn.net/projects/ttssh2/scm/svn/commits/10067 Author: doda Date: 2022-07-18 00:39:42 +0900 (Mon, 18 Jul 2022) Log Message: ----------- 認証関連のコードを整理 共通部分を if の外にくくり出した Modified Paths: -------------- trunk/ttssh2/ttxssh/ssh.c -------------- next part -------------- Modified: trunk/ttssh2/ttxssh/ssh.c =================================================================== --- trunk/ttssh2/ttxssh/ssh.c 2022-07-17 15:39:32 UTC (rev 10066) +++ trunk/ttssh2/ttxssh/ssh.c 2022-07-17 15:39:42 UTC (rev 10067) @@ -6681,20 +6681,17 @@ // \x83y\x83C\x83\x8D\x81[\x83h\x82̍\\x92z username = pvar->auth_state.user; // \x83\x86\x81[\x83U\x96\xBC buffer_put_string(msg, username, strlen(username)); + buffer_put_string(msg, connect_id, strlen(connect_id)); if (!pvar->tryed_ssh2_authlist) { // "none"\x83\x81\x83\\x83b\x83h\x82̑\x97\x90M // \x94F\x8F\x8A\x83X\x83g\x82\xF0\x83T\x81[\x83o\x82\xA9\x82\xE7\x8E擾\x82\xB7\x82\xE9\x81B // SSH2_MSG_USERAUTH_FAILURE\x82\xAA\x95Ԃ邪\x81A\x83T\x81[\x83o\x82ɂ̓\x8D\x83O\x82͎c\x82\xE7\x82Ȃ\xA2\x81B // (2007.4.27 yutaka) - s = connect_id; - buffer_put_string(msg, s, strlen(s)); s = "none"; // method name buffer_put_string(msg, s, strlen(s)); } else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PASSWORD) { // \x83p\x83X\x83\x8F\x81[\x83h\x94F\x8F\xD8 // password authentication method - s = connect_id; - buffer_put_string(msg, s, strlen(s)); s = "password"; buffer_put_string(msg, s, strlen(s)); buffer_put_char(msg, 0); // 0 @@ -6707,9 +6704,6 @@ buffer_put_string(msg, s, strlen(s)); } else if (pvar->auth_state.cur_cred.method == SSH_AUTH_TIS) { // keyboard-interactive (2005.3.12 yutaka) - //s = "ssh-userauth"; // service name - s = connect_id; - buffer_put_string(msg, s, strlen(s)); s = "keyboard-interactive"; // method name buffer_put_string(msg, s, strlen(s)); s = ""; // language tag @@ -6760,8 +6754,6 @@ } // step3 - s = connect_id; - buffer_put_string(msg, s, strlen(s)); s = "publickey"; buffer_put_string(msg, s, strlen(s)); buffer_put_char(msg, 1); // true @@ -6771,7 +6763,6 @@ buffer_append_length(msg, s, bloblen); buffer_append_length(msg, signature, siglen); - buffer_free(blob); buffer_free(signbuf); free(signature); @@ -6779,8 +6770,6 @@ } else if (pvar->auth_state.cur_cred.method == SSH_AUTH_PAGEANT) { // Pageant unsigned char *puttykey; - s = connect_id; - buffer_put_string(msg, s, strlen(s)); s = "publickey"; buffer_put_string(msg, s, strlen(s)); buffer_put_char(msg, 0); // false @@ -7724,7 +7713,6 @@ msg = buffer_init(); if (msg == NULL) { - // TODO: error check logprintf(LOG_LEVEL_ERROR, "%s: buffer_init returns NULL.", __FUNCTION__); return FALSE; }