• R/O
  • SSH
  • HTTPS

ttssh2: コミット


コミットメタ情報

リビジョン7093 (tree)
日時2018-04-09 21:22:14
作者doda

ログメッセージ

数字で始まる不正なポート名の SSH 転送ダイアログでの表示を改善

現状ではポート名指定で 80hoge のような service_DB[] に登録されていない
数字で始まるポート名は先頭の数字部分のポート番号 (例では 80) として
扱われる。この時 SSH 転送ダイアログの表示では 80hoge として表示される
為、実際のポート番号が想像しにくい。これを他の登録されているポート名と
同じように 80 (80hoge) のように表示形態を変更する。

本来ならば 80hoge のようなポート指定は拒否すべきなのかも。

変更サマリ

差分

--- trunk/ttssh2/ttxssh/fwdui.c (revision 7092)
+++ trunk/ttssh2/ttxssh/fwdui.c (revision 7093)
@@ -389,15 +389,17 @@
389389
390390 static void set_verbose_port(char *buf, int bufsize, int port, char *name)
391391 {
392- if (isdigit(*name)) {
393- int tmpnum = atoi(name);
394- if (tmpnum == port) {
395- strncpy_s(buf, bufsize, name, _TRUNCATE);
396- return;
397- }
392+ char *p = name;
393+
394+ while (*p && isdigit(*p)) {
395+ p++;
398396 }
399-
400- _snprintf_s(buf, bufsize, _TRUNCATE, "%d (%s)", port, name);
397+ if (*p == 0) {
398+ strncpy_s(buf, bufsize, name, _TRUNCATE);
399+ }
400+ else {
401+ _snprintf_s(buf, bufsize, _TRUNCATE, "%d (%s)", port, name);
402+ }
401403 }
402404
403405 static void get_spec_string(FWDRequestSpec *spec, char *buf,
旧リポジトリブラウザで表示