[Ttssh2-commit] [6824] ログ出力を強化

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2017年 6月 26日 (月) 19:38:37 JST


Revision: 6824
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6824
Author:   doda
Date:     2017-06-26 19:38:37 +0900 (Mon, 26 Jun 2017)
Log Message:
-----------
ログ出力を強化

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

-------------- next part --------------
Modified: trunk/ttssh2/ttxssh/ssh.c
===================================================================
--- trunk/ttssh2/ttxssh/ssh.c	2017-06-26 10:38:26 UTC (rev 6823)
+++ trunk/ttssh2/ttxssh/ssh.c	2017-06-26 10:38:37 UTC (rev 6824)
@@ -349,10 +349,12 @@
 	Channel_t *c;
 
 	if (id < 0 || id >= CHANNEL_MAX) {
+		logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": invalid channel id. (%d)", id);
 		return (NULL);
 	}
 	c = &channels[id];
 	if (c->used == 0) { // already freed
+		logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": channel was already freed. id:%d", id);
 		return (NULL);
 	}
 	return (c);
@@ -1068,6 +1070,7 @@
 			msg = buffer_init();
 			if (msg == NULL) {
 				// TODO: error check
+				logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 				return;
 			}
 
@@ -2075,6 +2078,8 @@
 
 	if (handle_message_count >= HANDLE_MESSAGE_MAX) {
 		// TODO: error check
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": too many handlers. handlers:%d, max:%d",
+			handle_message_count, HANDLE_MESSAGE_MAX);
 		return;
 	}
 
@@ -2766,6 +2771,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		buffer_put_int(msg, SSH2_DISCONNECT_BY_APPLICATION);
@@ -2840,12 +2846,16 @@
 		Channel_t *c;
 
 		c = ssh2_channel_lookup(pvar->shell_id);
-		if (c == NULL)
+		if (c == NULL) {
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": shell channel not found.");
 			return;
+		}
 
+
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		buffer_put_int(msg, c->remote_id);
@@ -2885,11 +2895,14 @@
 		Channel_t *c;
 
 		c = ssh2_channel_lookup(pvar->shell_id);
-		if (c == NULL)
+		if (c == NULL) {
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": shell channel not found.");
 			goto error;
+		}
 
 		msg = buffer_init();
 		if (msg == NULL) {
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			goto error;
 		}
 		buffer_put_int(msg, c->remote_id);
@@ -3015,7 +3028,12 @@
 
 	} else { // for SSH2(yutaka)
 		Channel_t *c = ssh2_channel_lookup(pvar->shell_id);
-		SSH2_send_channel_data(pvar, c, (unsigned char *)buf, buflen, 0);
+		if (c == NULL) {
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": shell channel not found.");
+		}
+		else {
+			SSH2_send_channel_data(pvar, c, (unsigned char *)buf, buflen, 0);
+		}
 	}
 
 }
@@ -3270,6 +3288,8 @@
 	if (pvar->rekeying) {
 		// TODO: \x97\x9D\x91z\x82Ƃ\xB5\x82Ă̓p\x83P\x83b\x83g\x94j\x8A\xFC\x82ł͂Ȃ\xAD\x81A\x83p\x83P\x83b\x83g\x93ǂݎ\xE6\x82\xE8\x92x\x89\x84\x82ɂ\xB5\x82\xBD\x82\xA2\x82Ƃ\xB1\x82낾\x82\xAA\x81A
 		// \x8F\xAB\x97\x88\x92\xBC\x82\xB7\x82\xB1\x82Ƃɂ\xB7\x82\xE9\x81B
+		logputs(LOG_LEVEL_INFO, __FUNCTION__ ": now rekeying. data is not sent.");
+
 		c = NULL;
 
 		return;
@@ -3298,6 +3318,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		buffer_put_int(msg, c->remote_id);
@@ -3309,9 +3330,9 @@
 		memcpy(outmsg, buffer_ptr(msg), len);
 		finish_send_packet(pvar);
 		buffer_free(msg);
-		//debug_print(1, pvar->ssh_state.outbuf, 7 + 4 + 1 + 1 + len);
 
-		logprintf(LOG_LEVEL_SSHDUMP, "SSH2_MSG_CHANNEL_DATA was sent at SSH2_send_channel_data(). local:%d remote:%d", c->self_id, c->remote_id);
+		logprintf(LOG_LEVEL_SSHDUMP, __FUNCTION__ ": sending SSH2_MSG_CHANNEL_DATA. "
+			"local:%d remote:%d len:%d", c->self_id, c->remote_id, buflen);
 
 		// remote window size\x82̒\xB2\x90\xAE
 		if (buflen <= c->remote_window) {
@@ -3396,6 +3417,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		buffer_put_int(msg, remote_channel_num);
@@ -3425,6 +3447,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return;
 	}
 	buffer_put_int(msg, c->remote_id);
@@ -3493,6 +3516,8 @@
 	if (pvar->rekeying) {
 		// TODO: \x97\x9D\x91z\x82Ƃ\xB5\x82Ă̓p\x83P\x83b\x83g\x94j\x8A\xFC\x82ł͂Ȃ\xAD\x81A\x83p\x83P\x83b\x83g\x93ǂݎ\xE6\x82\xE8\x92x\x89\x84\x82ɂ\xB5\x82\xBD\x82\xA2\x82Ƃ\xB1\x82낾\x82\xAA\x81A
 		// \x8F\xAB\x97\x88\x92\xBC\x82\xB7\x82\xB1\x82Ƃɂ\xB7\x82\xE9\x81B
+		logputs(LOG_LEVEL_INFO, __FUNCTION__ ": now rekeying. data is not sent.");
+
 		c = NULL;
 
 		return;
@@ -3501,7 +3526,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
-		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL");
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return;
 	}
 	buffer_put_int(msg, c->remote_id);  // remote ID
@@ -3574,7 +3599,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
-			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL");
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		req = "tcpip-forward";
@@ -3607,6 +3632,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		s = "cancel-tcpip-forward";
@@ -3669,12 +3695,15 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 
 		c = ssh2_channel_lookup(pvar->shell_id);
-		if (c == NULL)
+		if (c == NULL) {
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": shell channel not found.");
 			return;
+		}
 
 		// making the fake data	
 		newlen = 2 * auth_data_len + 1;
@@ -3759,6 +3788,8 @@
 			if (pvar->rekeying) {
 				// TODO: \x97\x9D\x91z\x82Ƃ\xB5\x82Ă̓p\x83P\x83b\x83g\x94j\x8A\xFC\x82ł͂Ȃ\xAD\x81A\x83p\x83P\x83b\x83g\x93ǂݎ\xE6\x82\xE8\x92x\x89\x84\x82ɂ\xB5\x82\xBD\x82\xA2\x82Ƃ\xB1\x82낾\x82\xAA\x81A
 				// \x8F\xAB\x97\x88\x92\xBC\x82\xB7\x82\xB1\x82Ƃɂ\xB7\x82\xE9\x81B
+				logputs(LOG_LEVEL_INFO, __FUNCTION__ ": now rekeying. channel open request is not sent.");
+
 				c = NULL;
 
 				return;
@@ -3779,6 +3810,7 @@
 			msg = buffer_init();
 			if (msg == NULL) {
 				// TODO: error check
+				logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 				return;
 			}
 			s = "direct-tcpip";
@@ -4545,6 +4577,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return;
 	}
 	if (pvar->my_kex != NULL)
@@ -5140,6 +5173,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return;
 	}
 
@@ -5425,6 +5459,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return;
 	}
 
@@ -6328,6 +6363,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return FALSE;
 	}
 	s = "ssh-userauth";
@@ -6396,6 +6432,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return FALSE;
 	}
 
@@ -6588,6 +6625,7 @@
 			msg = buffer_init();
 			if (msg == NULL) {
 				// TODO: error check
+				logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 				return FALSE;
 			}
 			s = "ssh-heartbeat";
@@ -6753,6 +6791,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return FALSE;
 	}
 	s = "session";
@@ -6985,11 +7024,14 @@
 	num = get_uint32_MSBfirst(data);
 	data += 4;
 
+	logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ": prompts=%d", num);
+
 	///////// step2
 	// \x83T\x81[\x83o\x82փp\x83X\x83t\x83\x8C\x81[\x83Y\x82𑗂\xE9
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return FALSE;
 	}
 	buffer_put_int(msg, num);
@@ -7010,6 +7052,12 @@
 
 		// get boolean
 		echo = data[0];
+		data[0] = '\0'; // \x83\x8D\x83O\x8Fo\x97ׁ͂̈A\x88ꎞ\x93I\x82\xC9 NUL Terminate \x82\xB7\x82\xE9
+
+		logprintf(LOG_LEVEL_VERBOSE, __FUNCTION__ ":   prompt[%d]=\"%s\", echo=%d, pass-state=%d",
+			i, prompt, slen, pvar->keyboard_interactive_password_input);
+
+		data[0] = echo; // \x83\x8D\x83O\x8Fo\x97͂\xF0\x8Ds\x82\xC1\x82\xBD\x82̂ŁA\x8C\xB3\x82̒l\x82ɏ\x91\x82\xAB\x96߂\xB7
 		data += 1;
 
 		// keyboard-interactive method (2005.3.12 yutaka)
@@ -7037,7 +7085,7 @@
 	finish_send_packet(pvar);
 	buffer_free(msg);
 
-	logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_USERAUTH_INFO_RESPONSE was sent at handle_SSH2_userauth_inforeq().");
+	logputs(LOG_LEVEL_VERBOSE, __FUNCTION__ ": sending SSH2_MSG_USERAUTH_INFO_RESPONSE.");
 	return TRUE;
 }
 
@@ -7302,6 +7350,7 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 		return FALSE;
 	}
 
@@ -7390,11 +7439,13 @@
 	msg = buffer_init();
 	if (msg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL. (msg)");
 		return FALSE;
 	}
 	ttymsg = buffer_init();
 	if (ttymsg == NULL) {
 		// TODO: error check
+		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL. (ttymsg)");
 		buffer_free(msg);
 		return FALSE;
 	}
@@ -7493,6 +7544,7 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO:
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
@@ -7606,6 +7658,7 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO: SSH2_MSG_DISCONNECT\x82𑗂\xE9
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
@@ -7752,6 +7805,7 @@
 		c = ssh2_channel_lookup(pvar->shell_id);
 		if (c == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": shell channel not found.");
 			return FALSE;
 		}
 		pvar->agentfwd_enable = TRUE;
@@ -7764,6 +7818,7 @@
 		c = ssh2_channel_lookup(pvar->shell_id);
 		if (c == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": shell channel not found.");
 			return FALSE;
 		}
 
@@ -7799,6 +7854,7 @@
 	c = ssh2_channel_lookup(channel_id);
 	if (c == NULL) {
 		// TODO: error check
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", channel_id);
 		return FALSE;
 	}
 
@@ -7847,6 +7903,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		buffer_put_int(msg, c->remote_id);
@@ -7882,6 +7939,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return;
 		}
 		buffer_put_int(msg, c->remote_id);
@@ -8548,8 +8606,6 @@
 	// \x83p\x83P\x83b\x83g\x83T\x83C\x83Y - (\x83p\x83f\x83B\x83\x93\x83O\x83T\x83C\x83Y+1)\x81G\x90^\x82̃p\x83P\x83b\x83g\x83T\x83C\x83Y
 	len = pvar->ssh_state.payloadlen;
 
-	//debug_print(80, data, len);
-
 	// channel number
 	id = get_uint32_MSBfirst(data);
 	data += 4;
@@ -8557,17 +8613,16 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO:
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
-	logprintf(LOG_LEVEL_SSHDUMP, "SSH2_MSG_CHANNEL_DATA was received. local:%d remote:%d", c->self_id, c->remote_id);
-
 	// string length
 	str_len = get_uint32_MSBfirst(data);
 	data += 4;
 
-	// RAW\x83p\x83P\x83b\x83g\x83_\x83\x93\x83v\x82\xF0\x92lj\xC1 (2008.8.15 yutaka)
 	if (LogLevel(pvar, LOG_LEVEL_SSHDUMP)) {
+		logprintf(LOG_LEVEL_SSHDUMP, "SSH2_MSG_CHANNEL_DATA was received. local:%d remote:%d len:%d", c->self_id, c->remote_id, str_len);
 		init_memdump();
 		push_memdump("SSH receiving packet", "PKT_recv", (char *)data, str_len);
 	}
@@ -8574,11 +8629,14 @@
 
 	// \x83o\x83b\x83t\x83@\x83T\x83C\x83Y\x82̃`\x83F\x83b\x83N
 	if (str_len > c->local_maxpacket) {
-		// TODO: logging
+		logprintf(LOG_LEVEL_WARNING, __FUNCTION__ ": Data length is larger than local_maxpacket. "
+			"len:%d local_maxpacket:%d", str_len, c->local_maxpacket);
 	}
 	if (str_len > c->local_window) {
 		// TODO: logging
 		// local window size\x82\xE6\x82\xE8\x91傫\x82ȃp\x83P\x83b\x83g\x82͎̂Ă\xE9
+		logprintf(LOG_LEVEL_WARNING, __FUNCTION__ ": Data length is larger than local_window. "
+			"len:%d local_window:%d", str_len, c->local_window);
 		return FALSE;
 	}
 
@@ -8603,8 +8661,6 @@
 		}
 	}
 
-	//debug_print(200, data, strlen);
-
 	// \x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x82̒\xB2\x90\xAE
 	c->local_window -= str_len;
 
@@ -8642,6 +8698,7 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO:
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
@@ -8656,10 +8713,14 @@
 	// \x83o\x83b\x83t\x83@\x83T\x83C\x83Y\x82̃`\x83F\x83b\x83N
 	if (strlen > c->local_maxpacket) {
 		// TODO: logging
+		logprintf(LOG_LEVEL_WARNING, __FUNCTION__ ": Data length is larger than local_maxpacket. "
+			"len:%d local_maxpacket:%d", strlen, c->local_maxpacket);
 	}
 	if (strlen > c->local_window) {
 		// TODO: logging
 		// local window size\x82\xE6\x82\xE8\x91傫\x82ȃp\x83P\x83b\x83g\x82͎̂Ă\xE9
+		logprintf(LOG_LEVEL_WARNING, __FUNCTION__ ": Data length is larger than local_window. "
+			"len:%d local_window:%d", strlen, c->local_window);
 		return FALSE;
 	}
 
@@ -8715,6 +8776,7 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO:
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
@@ -8870,6 +8932,7 @@
 			msg = buffer_init();
 			if (msg == NULL) {
 				// TODO: error check
+				logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 				return FALSE;
 			}
 			buffer_put_int(msg, remote_id);
@@ -8919,6 +8982,7 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO:
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
@@ -8978,6 +9042,7 @@
 	c = ssh2_channel_lookup(id);
 	if (c == NULL) {
 		// TODO:
+		logprintf(LOG_LEVEL_ERROR, __FUNCTION__ ": channel not found. (%d)", id);
 		return FALSE;
 	}
 
@@ -9024,6 +9089,7 @@
 		msg = buffer_init();
 		if (msg == NULL) {
 			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
 			return FALSE;
 		}
 		buffer_put_int(msg, c->remote_id);
@@ -9070,6 +9136,7 @@
 	if (c == NULL) {
 		// channel close\x8C\xE3\x82\xC9adjust message\x82\xAA\x92x\x82\xEA\x82Ă\xE2\x82\xC1\x82Ă\xAD\x82\xE9\x83P\x81[\x83X\x82\xE0\x82\xA0\x82邽\x82߁A
 		// FALSE\x82ł͕Ԃ\xB3\x82Ȃ\xA2\x82悤\x82ɂ\xB7\x82\xE9\x81B(2007.12.26 yutaka)
+		logprintf(LOG_LEVEL_WARNING, __FUNCTION__ ": channel not found. (%d)", id);
 		return TRUE;
 	}
 



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