• R/O
  • SSH
  • HTTPS

ttssh2: コミット


コミットメタ情報

リビジョン7091 (tree)
日時2018-04-03 22:49:43
作者doda

ログメッセージ

コマンドラインオプションで、ポート番号の代わりにサービス名を受け付けるようにした #38021

変更サマリ

差分

--- trunk/teraterm/ttpset/ttset.c (revision 7090)
+++ trunk/teraterm/ttpset/ttset.c (revision 7091)
@@ -40,6 +40,7 @@
4040 #include <errno.h>
4141 #include "ttlib.h"
4242 #include "tt_res.h"
43+#include "servicenames.h"
4344
4445 #include "compat_w95.h"
4546
@@ -3820,17 +3821,32 @@
38203821 return (strlen(Temp) > 0);
38213822 }
38223823 #endif
3824+
3825+static int ParsePortName(char *buff)
3826+{
3827+ int port = parse_port_from_buf(buff);
3828+
3829+ if (port > 0 || sscanf(buff, "%d", &port) == 1)
3830+ return port;
3831+ else
3832+ return 0;
3833+}
3834+
38233835 static void ParseHostName(char *HostStr, WORD * port)
38243836 {
38253837 /*
3826- * hostname.domain.com
3827- * hostname.domain.com:23
3828- * [3ffe:1234:1234::1] IPv6 raw address
3829- * [3ffe:1234:1234::1]:23 IPv6 raw address and port#
3830- * telnet://hostname.domain.com/
3831- * telnet://hostname.domain.com:23/
3838+ * hostname.example.jp
3839+ * hostname.example.jp:23
3840+ * hostname.example.jp:telnet
3841+ * [3ffe:1234:1234::1] IPv6 raw address
3842+ * [3ffe:1234:1234::1]:23 IPv6 raw address and port#
3843+ * [3ffe:1234:1234::1]:telnet IPv6 raw address and service name
3844+ * telnet://hostname.example.jp/
3845+ * telnet://hostname.example.jp:23/
3846+ * telnet://hostname.example.jp:telnet/
38323847 * telnet://[3ffe:1234:1234::1]/
38333848 * telnet://[3ffe:1234:1234::1]:23/
3849+ * telnet://[3ffe:1234:1234::1]:telnet/
38343850 * tn3270:// .... /
38353851 */
38363852
@@ -3885,7 +3901,7 @@
38853901 * |
38863902 * s
38873903 *
3888- * hostname.domain.com
3904+ * hostname.example.jp
38893905 * |
38903906 * s
38913907 */
@@ -3896,8 +3912,7 @@
38963912 } while (b != '\0' && b != ':');
38973913 if (b == ':') {
38983914 s[i - 1] = '\0';
3899- if (sscanf(&(s[i]), "%hd", port) != 1)
3900- *port = 65535;
3915+ *port = ParsePortName(&(s[i]));
39013916 is_port = 1;
39023917 }
39033918 if (is_telnet_handler == 1 && is_port == 0) {
@@ -4097,8 +4112,7 @@
40974112 }
40984113 else if (_strnicmp(Temp, "/P=", 3) == 0) { /* TCP port num */
40994114 ParamPort = IdTCPIP;
4100- if (sscanf(&Temp[3], "%hd", &ParamTCP) != 1)
4101- ParamTCP = 0;
4115+ ParamTCP = ParsePortName(&Temp[3]);
41024116 }
41034117 else if (_stricmp(Temp, "/PIPE") == 0 ||
41044118 _stricmp(Temp, "/NAMEDPIPE") == 0) { /* 名前付きパイプ */
@@ -4161,7 +4175,7 @@
41614175
41624176 }
41634177 else if ((Temp[0] != '/') && (strlen(Temp) > 0)) {
4164- if (JustAfterHost && (sscanf(Temp, "%d", &c) == 1))
4178+ if (JustAfterHost && ((c=ParsePortName(Temp)) > 0))
41654179 ParamTCP = c;
41664180 else {
41674181 strncpy_s(ts->HostName, sizeof(ts->HostName), Temp, _TRUNCATE); /* host name */
--- trunk/doc/ja/html/about/history.html (revision 7090)
+++ trunk/doc/ja/html/about/history.html (revision 7091)
@@ -33,6 +33,12 @@
3333
3434 <h3><a name="teraterm_4.99">2018.05.xx (Ver 4.99)</a></h3>
3535 <ul class="history">
36+ <li>変更
37+ <ul>
38+ <li>コマンドラインオプションでポート番号の代わりにサービス名を受け付けるようにした。</li>
39+ </ul>
40+ </li>
41+
3642 <li>バグ修正
3743 <ul>
3844 <li>マウストラッキング有効時、画面クリック後にメニューが使えなくなる問題を修正した。</li>
--- trunk/doc/en/html/about/history.html (revision 7090)
+++ trunk/doc/en/html/about/history.html (revision 7091)
@@ -33,6 +33,12 @@
3333
3434 <h3><a name="teraterm_4.99">2018.05.xx (Ver 4.99)</a></h3>
3535 <ul class="history">
36+ <li>Changes
37+ <ul>
38+ <li>Accept service name instead of the port number on the command line option.</li>
39+ </ul>
40+ </li>
41+
3642 <li>Bug fixes
3743 <ul>
3844 <li>When the mouse tracking is enabled, the menu can not be selected after clicking the screen.</li>
旧リポジトリブラウザで表示