• R/O
  • SSH
  • HTTPS

ttssh2: Commit


Commit MetaInfo

Revision6964 (tree)
Time2017-10-27 18:40:55
Authordoda

Log Message

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

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

Change Summary

Incremental Difference

--- trunk/teraterm/teraterm/telnet.c (revision 6963)
+++ trunk/teraterm/teraterm/telnet.c (revision 6964)
@@ -301,8 +301,19 @@
301301 TelStatus = TelIdle;
302302 return ;
303303
304- /* case IAC: braek; */
304+ case IAC:
305+ /*
306+ * 連続した IAC は値が 255 のデータとして扱う
307+ * 関数の最後の部分で SubOptBuff にデータが追加されるので、
308+ * ここでは何も行わない
309+ */
310+ break;
311+
305312 default:
313+ /*
314+ * サブオプション中に他の TELNET コマンドが来た場合の扱いは
315+ * 決まっていない。とりあえずデータとして追加しておく。
316+ */
306317 if (tr.SubOptCount >= sizeof(tr.SubOptBuff)-1) {
307318 tr.SubOptCount = 0;
308319 TelStatus = TelIdle;
@@ -311,10 +322,6 @@
311322 else {
312323 tr.SubOptBuff[tr.SubOptCount] = IAC;
313324 tr.SubOptCount++;
314- if (b==IAC) {
315- tr.SubOptIAC = TRUE;
316- return;
317- }
318325 }
319326 }
320327 }
Show on old repository browser