[Ttssh2-commit] [6964] 相手から送られて来たサブオプション中の連続した IAC を正しく扱えていなかったのを修正。

scmno****@osdn***** scmno****@osdn*****
2017年 10月 27日 (金) 18:40:55 JST


Revision: 6964
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6964
Author:   doda
Date:     2017-10-27 18:40:55 +0900 (Fri, 27 Oct 2017)
Log Message:
-----------
相手から送られて来たサブオプション中の連続した IAC を正しく扱えていなかったのを修正。

連続した IAC は値 255 のデータとして扱う必要がある。

Modified Paths:
--------------
    trunk/teraterm/teraterm/telnet.c

-------------- next part --------------
Modified: trunk/teraterm/teraterm/telnet.c
===================================================================
--- trunk/teraterm/teraterm/telnet.c	2017-10-27 09:40:53 UTC (rev 6963)
+++ trunk/teraterm/teraterm/telnet.c	2017-10-27 09:40:55 UTC (rev 6964)
@@ -301,8 +301,19 @@
 			TelStatus = TelIdle;
 			return ;
 
-		/* case IAC: braek; */
+		case IAC:
+			/*
+			 * \x98A\x91\xB1\x82\xB5\x82\xBD IAC \x82͒l\x82\xAA 255 \x82̃f\x81[\x83^\x82Ƃ\xB5\x82Ĉ\xB5\x82\xA4
+			 * \x8A֐\x94\x82̍Ō\xE3\x82̕\x94\x95\xAA\x82\xC5 SubOptBuff \x82Ƀf\x81[\x83^\x82\xAA\x92lj\xC1\x82\xB3\x82\xEA\x82\xE9\x82̂ŁA
+			 * \x82\xB1\x82\xB1\x82ł͉\xBD\x82\xE0\x8Ds\x82\xED\x82Ȃ\xA2
+			 */
+			break;
+
 		default:
+			/*
+			 * \x83T\x83u\x83I\x83v\x83V\x83\x87\x83\x93\x92\x86\x82ɑ\xBC\x82\xCC TELNET \x83R\x83}\x83\x93\x83h\x82\xAA\x97\x88\x82\xBD\x8Fꍇ\x82̈\xB5\x82\xA2\x82\xCD
+			 * \x8C\x88\x82܂\xC1\x82Ă\xA2\x82Ȃ\xA2\x81B\x82Ƃ肠\x82\xA6\x82\xB8\x83f\x81[\x83^\x82Ƃ\xB5\x82Ēlj\xC1\x82\xB5\x82Ă\xA8\x82\xAD\x81B
+			 */
 			if (tr.SubOptCount >= sizeof(tr.SubOptBuff)-1) {
 				tr.SubOptCount = 0;
 				TelStatus = TelIdle;
@@ -311,10 +322,6 @@
 			else {
 				tr.SubOptBuff[tr.SubOptCount] = IAC;
 				tr.SubOptCount++;
-				if (b==IAC) {
-					tr.SubOptIAC = TRUE;
-					return;
-				}
 			}
 		}
 	}



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