[Ttssh2-commit] [3496] Tera Term に Line at a time モードを無効にさせるため、TELNET SGA / ECHO ネゴシエーションを行うようにした。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 6月 16日 (火) 03:53:41 JST


Revision: 3496
          http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=3496
Author:   doda
Date:     2009-06-16 03:53:41 +0900 (Tue, 16 Jun 2009)

Log Message:
-----------
Tera Term に Line at a time モードを無効にさせるため、TELNET SGA/ECHO ネゴシエーションを行うようにした。
# ちゃんとネゴシエーションを行っているわけではなく、実際には WILL SGA, DO SGA, WILL ECHO を投げているだけ。(手抜き)

Modified Paths:
--------------
    trunk/cygterm/cygterm.cc


-------------- next part --------------
Modified: trunk/cygterm/cygterm.cc
===================================================================
--- trunk/cygterm/cygterm.cc	2009-06-15 18:43:59 UTC (rev 3495)
+++ trunk/cygterm/cygterm.cc	2009-06-15 18:53:41 UTC (rev 3496)
@@ -92,9 +92,13 @@
 // patch level 16 - added '-A' option and change '-a' option
 //   Written by IWAMOTO Kouichi. (doda)
 //
+/////////////////////////////////////////////////////////////////////////////
+// patch level 17 - enable TELNET SGA/ECHO negotiation
+//   Written by IWAMOTO Kouichi. (doda)
+//
 
 static char Program[] = "CygTerm+";
-static char Version[] = "version 1.07_16 (2008/11/21)";
+static char Version[] = "version 1.07_17 (2009/06/16)";
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -1003,7 +1007,7 @@
 //-------------------------//
 enum { nIAC=255, nWILL=251, nWONT=252, nDO=253, nDONT=254 };
 enum { sSEND=1, sIS=0, sSB=250, sSE=240 };
-enum { oTERM=24, oNAWS=31 };
+enum { oECHO=1, oSGA=3, oTERM=24, oNAWS=31 };
 
 bool c_will_term = false;
 bool c_will_naws = false;
@@ -1106,6 +1110,12 @@
         }
         (void)telnet_cmd(&te);
     }
+
+    // SGA/ECHO
+    te.putc(nIAC); te.putc(nWILL); te.putc(oSGA);
+    te.putc(nIAC); te.putc(nDO); te.putc(oSGA);
+    te.putc(nIAC); te.putc(nWILL); te.putc(oECHO);
+    te.flush_out();
 }
 
 //=============================================//



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