[Ttssh2-commit] [7374] Merge branch 'trunk' r7370 into cmake

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2018年 12月 27日 (木) 23:12:41 JST


Revision: 7374
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7374
Author:   zmatsuo
Date:     2018-12-27 23:12:40 +0900 (Thu, 27 Dec 2018)
Log Message:
-----------
Merge branch 'trunk' r7370 into cmake

Revision Links:
--------------
    http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7370

Modified Paths:
--------------
    branches/cmake/doc/en/html/about/history.html
    branches/cmake/doc/en/html/commandline/ttssh.html
    branches/cmake/doc/ja/html/about/history.html
    branches/cmake/doc/ja/html/commandline/ttssh.html
    branches/cmake/teraterm/common/ttlib.c
    branches/cmake/teraterm/common/ttlib.h
    branches/cmake/teraterm/ttpmacro/ttl.cpp
    branches/cmake/ttssh2/ttxssh/ssh.c
    branches/cmake/ttssh2/ttxssh/ttxssh.c
    branches/cmake/ttssh2/ttxssh/ttxssh.h

-------------- next part --------------
Modified: branches/cmake/doc/en/html/about/history.html
===================================================================
--- branches/cmake/doc/en/html/about/history.html	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/doc/en/html/about/history.html	2018-12-27 14:12:40 UTC (rev 7374)
@@ -31,6 +31,27 @@
 
 <h2 id="teraterm">Tera Term</h2>
 
+<h3 id="teraterm_4.102">2019.xx.xx (Ver 4.102)</h3>
+<ul class="history">
+  <!-- li>Changes
+    <ul>
+      <li></li>
+    </ul>
+  </li -->
+
+  <!-- li>Bug fixes
+    <ul>
+      <li></li>
+    </ul>
+  </li -->
+
+  <li>Misc
+    <ul>
+      <li>upgraded TTSSH to <a href="#ttssh_2.88">2.88</a>.</li>
+    </ul>
+  </li>
+</ul>
+
 <h3 id="teraterm_4.101">2018.11.30 (Ver 4.101)</h3>
 <ul class="history">
   <li>Changes
@@ -3063,6 +3084,15 @@
 
 <h2 id="ttssh">TTSSH</h2>
 
+<h3 id="ttssh_2.88">2019.xx.xx (Ver 2.88)</h3>
+<ul class="history">
+  <li>Changes
+    <ul>
+      <li>added <a href="../commandline/ttssh.html#ssh-N">/ssh-N commandline option</a> to disable a shell session when starting a connection.</li>
+    </ul>
+  </li>
+</ul>
+
 <h3 id="ttssh_2.87">2018.11.30 (Ver 2.87)</h3>
 <ul class="history">
   <li>Misc

Modified: branches/cmake/doc/en/html/commandline/ttssh.html
===================================================================
--- branches/cmake/doc/en/html/commandline/ttssh.html	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/doc/en/html/commandline/ttssh.html	2018-12-27 14:12:40 UTC (rev 7374)
@@ -168,6 +168,9 @@
   <dt id="ssh-subsystem">/ssh-subsystem=<subsystem></dt>
   <dd>invoke the subsystem that is specified by <subsystem> instead of shell.</dd>
 
+  <dt id="ssh-N">/ssh-N</dt>
+  <dd>don't start a shell session when starting a connection.</dd>
+
   <dt id="nosecuritywarning">/nosecuritywarning</dt>
   <dd>suppress SSH security warning. THIS OPTION PROHIBITED.</dd>
 

Modified: branches/cmake/doc/ja/html/about/history.html
===================================================================
--- branches/cmake/doc/ja/html/about/history.html	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/doc/ja/html/about/history.html	2018-12-27 14:12:40 UTC (rev 7374)
@@ -31,6 +31,27 @@
 
 <h2 id="teraterm">Tera Term</h2>
 
+<h3 id="teraterm_4.102">2019.xx.xx (Ver 4.102)</h3>
+<ul class="history">
+  <!-- li>\x95ύX
+    <ul>
+      <li></li>
+    </ul>
+  </li -->
+
+  <!-- li>\x83o\x83O\x8FC\x90\xB3
+    <ul>
+      <li></li>
+    </ul>
+  </li -->
+
+  <li>\x82\xBB\x82̑\xBC
+    <ul>
+      <li><a href="#ttssh_2.88">TTSSH(2.88)</a>\x82֍\xB7\x82\xB5\x91ւ\xA6\x82\xBD\x81B</li>
+    </ul>
+  </li>
+</ul>
+
 <h3 id="teraterm_4.101">2018.11.30 (Ver 4.101)</h3>
 <ul class="history">
   <li>\x95ύX
@@ -41,7 +62,7 @@
           <li>13;2: \x83E\x83B\x83\x93\x83h\x83E\x88ʒu\x95\xFB\x8C\xFC(\x83e\x83L\x83X\x83g\x97̈\xE6)</li>
           <li>14;2: \x83E\x83C\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95\xF1\x8D\x90(\x83E\x83B\x83\x93\x83h\x83E\x91S\x91\xCC)</li>
           <li>15: \x83\x8B\x81[\x83g\x83E\x83B\x83\x93\x83h\x83E\x83T\x83C\x83Y\x95\xF1\x8D\x90(\x83s\x83N\x83Z\x83\x8B)</li>
-	  <li>16: \x95\xB6\x8E\x9A\x83T\x83C\x83Y\x95\xF1\x8D\x90(\x83s\x83N\x83Z\x83\x8B)</li>
+          <li>16: \x95\xB6\x8E\x9A\x83T\x83C\x83Y\x95\xF1\x8D\x90(\x83s\x83N\x83Z\x83\x8B)</li>
         </ul></li>
       <li>\x88ȉ\xBA\x82\xCC dtterm \x82̃E\x83B\x83\x93\x83h\x83E\x91\x80\x8D\xEC\x83V\x81[\x83P\x83\x93\x83X\x82̓\xAE\x8D\xEC\x82\xF0\x95ύX\x82\xB5\x82\xBD\x81B
         <ul>
@@ -3069,6 +3090,15 @@
 
 <h2 id="ttssh">TTSSH</h2>
 
+<h3 id="ttssh_2.88">2019.xx.xx (Ver 2.88)</h3>
+<ul class="history">
+  <li>\x95ύX
+    <ul>
+      <li>\x90ڑ\xB1\x8AJ\x8En\x8E\x9E\x82ɃV\x83F\x83\x8B\x83Z\x83b\x83V\x83\x87\x83\x93\x82\xF0\x8AJ\x8En\x82\xB5\x82Ȃ\xA2\x88ׂ\xCC <a href="../commandline/ttssh.html#ssh-N">/ssh-N</a> \x83R\x83}\x83\x93\x83h\x83\x89\x83C\x83\x93\x83I\x83v\x83V\x83\x87\x83\x93\x82\xF0\x92lj\xC1\x82\xB5\x82\xBD\x81B</li>
+    </ul>
+  </li>
+</ul>
+
 <h3 id="ttssh_2.87">2018.11.30 (Ver 2.87)</h3>
 <ul class="history">
   <li>\x82\xBB\x82̑\xBC

Modified: branches/cmake/doc/ja/html/commandline/ttssh.html
===================================================================
--- branches/cmake/doc/ja/html/commandline/ttssh.html	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/doc/ja/html/commandline/ttssh.html	2018-12-27 14:12:40 UTC (rev 7374)
@@ -168,6 +168,9 @@
   <dt id="ssh-subsystem">/ssh-subsystem=<subsystem></dt>
   <dd>\x83V\x83F\x83\x8B\x82ł͂Ȃ\xAD<subsystem>\x82Ŏw\x92肵\x82\xBD\x83T\x83u\x83V\x83X\x83e\x83\x80\x82\xF0\x8BN\x93\xAE\x82\xB7\x82\xE9\x81B</dd>
 
+  <dt id="ssh-N">/ssh-N</td>
+  <dd>\x90ڑ\xB1\x8E\x9E\x82ɃV\x83F\x83\x8B\x83Z\x83b\x83V\x83\x87\x83\x93\x82\xF0\x8AJ\x8En\x82\xB5\x82Ȃ\xA2\x81B</dd>
+
   <dt id="nosecuritywarning">/nosecuritywarning</dt>
   <dd>SSH\x83Z\x83L\x83\x85\x83\x8A\x83e\x83B\x8Cx\x8D\x90\x82𖳎\x8B\x82\xB7\x82\xE9\x81B\x8C\xB4\x91\xA5\x81A\x8Eg\x97p\x8B֎~\x81B</dd>
 

Modified: branches/cmake/teraterm/common/ttlib.c
===================================================================
--- branches/cmake/teraterm/common/ttlib.c	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/teraterm/common/ttlib.c	2018-12-27 14:12:40 UTC (rev 7374)
@@ -1433,11 +1433,6 @@
 // OS\x82\xAA WindowsNT4.0 \x82\xA9\x82ǂ\xA4\x82\xA9\x82𔻕ʂ\xB7\x82\xE9\x81B
 BOOL IsWindowsNT4()
 {
-	return IsWindowsVer(VER_PLATFORM_WIN32_NT, 4, 0);
-}
-
-BOOL is_NT4()
-{
 	// VS2013\x88ȏゾ\x82\xC6 GetVersionEx() \x82\xAA\x8Cx\x8D\x90\x82ƂȂ邽\x82߁AVerifyVersionInfo() \x82\xF0\x8Eg\x82\xA4\x81B
 	// \x82\xB5\x82\xA9\x82\xB5\x81AVS2013\x82Ńr\x83\x8B\x83h\x82\xB5\x82\xBD\x83v\x83\x8D\x83O\x83\x89\x83\x80\x82́A\x82\xBB\x82\xE0\x82\xBB\x82\xE0 NT4.0 \x82ł͓\xAE\x8D삵\x82Ȃ\xA2\x82\xBD\x82߁A
 	// \x96\xB3\x8F\xF0\x8C\x8F\x82\xC9 FALSE \x82\xF0\x95Ԃ\xB5\x82Ă\xE0\x82悢\x82\xA9\x82\xE0\x82\xB5\x82\xEA\x82Ȃ\xA2\x81B
@@ -1524,17 +1519,20 @@
 	return IsWindows2000OrLater() || IsWindowsMe();
 }
 
+// OPENFILENAMEA.lStructSize \x82ɑ\xE3\x93\xFC\x82\xB7\x82\xE9\x92l
+DWORD get_OPENFILENAME_SIZEA()
+{
+#if (_WIN32_WINNT >= 0x0500)
 #if !defined(OPENFILENAME_SIZE_VERSION_400A)
 #define OPENFILENAME_SIZE_VERSION_400A 76
 #endif
-
-// OPENFILENAMEA.lStructSize \x82ɑ\xE3\x93\xFC\x82\xB7\x82\xE9\x92l
-DWORD get_OPENFILENAME_SIZEA()
-{
 	if (IsWindows2000OrLater()) {
 		return sizeof(OPENFILENAMEA);
 	}
 	return OPENFILENAME_SIZE_VERSION_400A;
+#else
+	return sizeof(OPENFILENAMEA);
+#endif
 }
 
 #if defined(UNICODE)

Modified: branches/cmake/teraterm/common/ttlib.h
===================================================================
--- branches/cmake/teraterm/common/ttlib.h	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/teraterm/common/ttlib.h	2018-12-27 14:12:40 UTC (rev 7374)
@@ -98,7 +98,6 @@
 DllExport void OutputDebugPrintf(const char *fmt, ...);
 DllExport DWORD get_OPENFILENAME_SIZEA();
 DllExport DWORD get_OPENFILENAME_SIZEW();
-DllExport BOOL is_NT4();
 DllExport BOOL IsWindows95();
 DllExport BOOL IsWindowsMe();
 DllExport BOOL IsWindowsNT4();

Modified: branches/cmake/teraterm/ttpmacro/ttl.cpp
===================================================================
--- branches/cmake/teraterm/ttpmacro/ttl.cpp	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/teraterm/ttpmacro/ttl.cpp	2018-12-27 14:12:40 UTC (rev 7374)
@@ -1644,11 +1644,11 @@
 		FH = CreateFile(FNameT,
 						GENERIC_WRITE|GENERIC_READ, FILE_SHARE_WRITE, NULL,
 						OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+		if (FH == INVALID_HANDLE_VALUE)
+			FH = CreateFile(FNameT,
+							GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
+							CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
 	}
-	if (FH == INVALID_HANDLE_VALUE)
-		FH = CreateFile(FNameT,
-						GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
-						CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
 	if (FH == INVALID_HANDLE_VALUE) {
 		SetIntVal(VarId, -1);
 		return ErrCantOpen;
@@ -2444,7 +2444,7 @@
 		Err = ErrSyntax;
 	if (Err!=0) return Err;
 
-	GetAbsPath(Filename, sizeof(Filename));		// @@ TODO
+	GetAbsPath(Filename, sizeof(Filename));
 	SetResult(GetFileAttributes(tc::fromUtf8(Filename)));
 
 	return Err;

Modified: branches/cmake/ttssh2/ttxssh/ssh.c
===================================================================
--- branches/cmake/ttssh2/ttxssh/ssh.c	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/ttssh2/ttxssh/ssh.c	2018-12-27 14:12:40 UTC (rev 7374)
@@ -2923,6 +2923,7 @@
 	pvar->tryed_ssh2_authlist = FALSE;
 	pvar->agentfwd_enable = FALSE;
 	pvar->use_subsystem = FALSE;
+	pvar->nosession = FALSE;
 
 }
 
@@ -3417,6 +3418,7 @@
 	            &pvar->ssh_state.postdecompress_inbuflen);
 	pvar->agentfwd_enable = FALSE;
 	pvar->use_subsystem = FALSE;
+	pvar->nosession = FALSE;
 
 	// support of "Compression delayed" (2006.6.23 maya)
 	if (pvar->ssh_state.compressing ||
@@ -6902,16 +6904,25 @@
 	// \x94F\x8F\xD8OK
 	pvar->userauth_success = 1;
 
-	// \x83`\x83\x83\x83l\x83\x8B\x90ݒ\xE8
-	// FWD_prep_forwarding()\x82\xC5shell ID\x82\xF0\x8Eg\x82\xA4\x82̂ŁA\x90\xE6\x82ɐݒ\xE8\x82\xF0\x8E\x9D\x82\xC1\x82Ă\xAD\x82\xE9\x81B(2005.7.3 yutaka)
-	// changed window size from 64KB to 32KB. (2006.3.6 yutaka)
-	// changed window size from 32KB to 128KB. (2007.10.29 maya)
-	if (pvar->use_subsystem) {
-		c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SUBSYSTEM_GEN, -1);
+	// \x83f\x83B\x83X\x83p\x83b\x83`\x83\x8B\x81[\x83`\x83\x93\x82̍Đݒ\xE8
+	do_SSH2_dispatch_setup_for_transfer(pvar);
+
+	if (pvar->nosession) {
+		// start forwarding
+		FWD_prep_forwarding(pvar);
+		FWD_enter_interactive_mode(pvar);
 	}
 	else {
-		c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SHELL, -1);
-	}
+		// \x83`\x83\x83\x83l\x83\x8B\x90ݒ\xE8
+		// FWD_prep_forwarding()\x82\xC5shell ID\x82\xF0\x8Eg\x82\xA4\x82̂ŁA\x90\xE6\x82ɐݒ\xE8\x82\xF0\x8E\x9D\x82\xC1\x82Ă\xAD\x82\xE9\x81B(2005.7.3 yutaka)
+		// changed window size from 64KB to 32KB. (2006.3.6 yutaka)
+		// changed window size from 32KB to 128KB. (2007.10.29 maya)
+		if (pvar->use_subsystem) {
+			c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SUBSYSTEM_GEN, -1);
+		}
+		else {
+			c = ssh2_channel_new(CHAN_SES_WINDOW_DEFAULT, CHAN_SES_PACKET_DEFAULT, TYPE_SHELL, -1);
+		}
 
 	if (c == NULL) {
 		char uimsg[MAX_UIMSG];
@@ -6924,29 +6935,27 @@
 	// \x83V\x83F\x83\x8B\x82\xCCID\x82\xF0\x8E\xE6\x82\xC1\x82Ă\xA8\x82\xAD
 	pvar->shell_id = c->self_id;
 
-	// \x83f\x83B\x83X\x83p\x83b\x83`\x83\x8B\x81[\x83`\x83\x93\x82̍Đݒ\xE8
-	do_SSH2_dispatch_setup_for_transfer(pvar);
+		// \x83V\x83F\x83\x8B\x83I\x81[\x83v\x83\x93
+		msg = buffer_init();
+		if (msg == NULL) {
+			// TODO: error check
+			logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
+			return FALSE;
+		}
+		s = "session";
+		buffer_put_string(msg, s, strlen(s));  // ctype
+		buffer_put_int(msg, c->self_id);  // self(channel number)
+		buffer_put_int(msg, c->local_window);  // local_window
+		buffer_put_int(msg, c->local_maxpacket);  // local_maxpacket
+		len = buffer_len(msg);
+		outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_OPEN, len);
+		memcpy(outmsg, buffer_ptr (msg), len);
+		finish_send_packet(pvar);
+		buffer_free(msg);
 
-	// \x83V\x83F\x83\x8B\x83I\x81[\x83v\x83\x93
-	msg = buffer_init();
-	if (msg == NULL) {
-		// TODO: error check
-		logputs(LOG_LEVEL_ERROR, __FUNCTION__ ": buffer_init returns NULL.");
-		return FALSE;
+		logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_CHANNEL_OPEN was sent at handle_SSH2_userauth_success().");
 	}
-	s = "session";
-	buffer_put_string(msg, s, strlen(s));  // ctype
-	buffer_put_int(msg, c->self_id);  // self(channel number)
-	buffer_put_int(msg, c->local_window);  // local_window
-	buffer_put_int(msg, c->local_maxpacket);  // local_maxpacket
-	len = buffer_len(msg);
-	outmsg = begin_send_packet(pvar, SSH2_MSG_CHANNEL_OPEN, len);
-	memcpy(outmsg, buffer_ptr (msg), len);
-	finish_send_packet(pvar);
-	buffer_free(msg);
 
-	logputs(LOG_LEVEL_VERBOSE, "SSH2_MSG_CHANNEL_OPEN was sent at handle_SSH2_userauth_success().");
-
 	// \x83n\x81[\x83g\x83r\x81[\x83g\x81E\x83X\x83\x8C\x83b\x83h\x82̊J\x8En (2004.12.11 yutaka)
 	start_ssh_heartbeat_thread(pvar);
 

Modified: branches/cmake/ttssh2/ttxssh/ttxssh.c
===================================================================
--- branches/cmake/ttssh2/ttxssh/ttxssh.c	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/ttssh2/ttxssh/ttxssh.c	2018-12-27 14:12:40 UTC (rev 7374)
@@ -1985,6 +1985,8 @@
 					strncpy_s(pvar->subsystem_name,
 					          sizeof(pvar->subsystem_name),
 					          option + 15, _TRUNCATE);
+				} else if (strcmp(option + 4, "-N") == 0) {
+					pvar->nosession = TRUE;
 
 				// /ssh1 と /ssh2 オプションの新規追加 (2006.9.16 maya)
 				} else if (strcmp(option + 4, "1") == 0) {

Modified: branches/cmake/ttssh2/ttxssh/ttxssh.h
===================================================================
--- branches/cmake/ttssh2/ttxssh/ttxssh.h	2018-12-27 10:54:03 UTC (rev 7373)
+++ branches/cmake/ttssh2/ttxssh/ttxssh.h	2018-12-27 14:12:40 UTC (rev 7374)
@@ -329,6 +329,8 @@
 
 	BOOL use_subsystem;
 	char subsystem_name[256];
+
+	BOOL nosession;
 } TInstVar;
 
 // \x83o\x81[\x83W\x83\x87\x83\x93\x82ɍ\x87\x82킹\x82Ď\xA9\x93\xAE\x95ύX\x82\xB3\x82\xEA\x82\xE9\x81B \x97\xE1: TTSSH_2-81_TS_data


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