[Ttssh2-commit] [7632] Merge branch 'ssh_auth_dialog' into trunk

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2019年 4月 27日 (土) 02:18:36 JST


Revision: 7632
          https://osdn.net/projects/ttssh2/scm/svn/commits/7632
Author:   zmatsuo
Date:     2019-04-27 02:18:36 +0900 (Sat, 27 Apr 2019)
Log Message:
-----------
Merge branch 'ssh_auth_dialog' into trunk

Modified Paths:
--------------
    trunk/doc/en/html/menu/setup-sshauth.html
    trunk/doc/en/html/setup/teraterm-ini.html
    trunk/doc/en/html/usage/ssh.html
    trunk/doc/ja/html/image/Authentication.png
    trunk/doc/ja/html/menu/setup-sshauth.html
    trunk/doc/ja/html/setup/teraterm-ini.html
    trunk/doc/ja/html/usage/ssh.html
    trunk/installer/release/lang/English.lng
    trunk/installer/release/lang/French.lng
    trunk/installer/release/lang/German.lng
    trunk/installer/release/lang/Japanese.lng
    trunk/installer/release/lang/Korean.lng
    trunk/installer/release/lang/Russian.lng
    trunk/installer/release/lang/Simplified Chinese.lng
    trunk/installer/release/lang/Traditional Chinese.lng
    trunk/teraterm/teraterm/CMakeLists.txt
    trunk/ttssh2/ttxssh/auth.c
    trunk/ttssh2/ttxssh/auth.h
    trunk/ttssh2/ttxssh/resource.h
    trunk/ttssh2/ttxssh/ttxssh.c
    trunk/ttssh2/ttxssh/ttxssh.h
    trunk/ttssh2/ttxssh/ttxssh.rc

-------------- next part --------------
Modified: trunk/doc/en/html/menu/setup-sshauth.html
===================================================================
--- trunk/doc/en/html/menu/setup-sshauth.html	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/doc/en/html/menu/setup-sshauth.html	2019-04-26 17:18:36 UTC (rev 7632)
@@ -15,7 +15,34 @@
     <dl>
       <dt id="DefaultUserName">User name</dt>
       <dd>
-        Specify user name to be used for SSH connection.
+        Specify user name to be used for SSH connection.<br />
+		When <a href="#CheckAuthListFirst">Check the supported authentication methods before login</a> was checked, you can not change user name.
+		<ul>
+		  <li>
+			<dl>
+			  <dt>Do not enter username</dt>
+			  <dd>
+				Do not enter username.
+			  </dd>
+		  </li>
+
+		  <li>
+			<dl>
+			  <dt>Use following username</dt>
+			  <dd>
+				Use the username entered in the edit box.<br />
+				However, nothing will be input if the edit box is empty.
+			  </dd>
+		  </li>
+
+		  <li>
+			<dl>
+			  <dt>Use system username</dt>
+			  <dd>
+				User system username, Windows logon username.
+			  </dd>
+		  </li>
+		</ul>
       </dd>
 
       <dt id="DefaultAuthMethod">Specify default authentication method.</dt>

Modified: trunk/doc/en/html/setup/teraterm-ini.html
===================================================================
--- trunk/doc/en/html/setup/teraterm-ini.html	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/doc/en/html/setup/teraterm-ini.html	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1621,6 +1621,12 @@
 		<td></td>
 	</tr>
 	<tr>
+		<td id="DefaultUserType"><a href="../menu/setup-sshauth.html#DefaultUserType">DefaultUserType</a></td>
+		<td style="width:250px;">1</td>
+		<td style="width:250px;"><-</td>
+		<td></td>
+	</tr>
+	<tr>
 		<td id="DisablePopupMessage">DisablePopupMessage</td>
 		<td style="width:250px;">0</td>
 		<td style="width:250px;"><-</td>

Modified: trunk/doc/en/html/usage/ssh.html
===================================================================
--- trunk/doc/en/html/usage/ssh.html	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/doc/en/html/usage/ssh.html	2019-04-26 17:18:36 UTC (rev 7632)
@@ -49,7 +49,8 @@
     </p>
 
     <p id="ssh_auth_dialog">
-      Once connected, then you will be prompted to select authentication method in a dialog.
+      Once connected, then you will be prompted to select authentication method in a dialog.<br />
+	  You can change default value in <a href="../menu/setup-sshauth.html">"TTSSH: Authentication Setup" dialog</a>
     </p>
     <div class="img"><img src="../image/Authentication.png" alt="Authentication method"></div>
     <p>
@@ -66,6 +67,23 @@
       <li>When the Pageant is used, check the [Use Pageant] and input your user name.</li>
     </ul>
 
+    <h3 id="username_input">Inputing Username</h3>
+	<p>
+	  When this dialog is displayed,
+	  username was entered according the <a href="../menu/setup-sshauth.html#DefaultUserName">setting</a>.
+	</p>
+	<p>
+	  In addition, when the username is entered, or when the focus is moved from the input field after inputing username,
+	  the server is accessed according to the <a href="../menu/setup-sshauth.html#CheckAuthListFirst">setting</a>.
+	</p>
+	<p>
+	  You can select an option by pushing the button next to the username field.
+	  <dl>
+		<dt>Paste Windows usename</dt>
+		<dd>Windows username was entered</dd>
+	  </dl>
+	</p>
+
     <h3 id="passwd_input">Inputing Password and Passphrase</h3>
     <p>
       The password and passphrase input box differs from normal dialog box.
@@ -74,7 +92,27 @@
       <li>Control character(0x01 - 0x1F) can be inputted by Control + A - Z, [, \, ], ^ and _.</li>
       <li>Control + V can not be used because the key equals SYN (0x16). Please use Shift + Insert combination for pasting.</li>
     </ul>
+	<p>
+	  You can select an option by pushing the button next to the username field.
+	  <dl>
+		<dt>Paste from clipboard</dt>
+		<dd>Paste from clipboard to password input box</dd>
 
+		<dt>Paste from clipboard and clear clipboard</dt>
+		<dd>Paste from clipboard to password input box, And clear clipboard</dd>
+
+		<dt>Use control charactors</dt>
+		<dd>If checked, you can enter control characters,
+		  but you can not perform operations such as paste clipboard paste with Control + V.
+		  If it is not checked, you can not enter control characters,
+		  but you can perform operations such as paste the clipboard with Control + V.
+		</dd>
+
+		<dt>Show passphrase</dt>
+		<dd>You can choose to display the passphrase or not</dd>
+	  </dl>
+    </p>
+
     <h2 id="securitywarning">Security Warning</h2>
 
     <h3 id="known_hosts">ssh_known_hosts file</h3>

Modified: trunk/doc/ja/html/image/Authentication.png
===================================================================
(Binary files differ)

Modified: trunk/doc/ja/html/menu/setup-sshauth.html
===================================================================
--- trunk/doc/ja/html/menu/setup-sshauth.html	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/doc/ja/html/menu/setup-sshauth.html	2019-04-26 17:18:36 UTC (rev 7632)
@@ -15,7 +15,34 @@
     <dl>
       <dt id="DefaultUserName">User name</dt>
       <dd>
-        SSH \x90ڑ\xB1\x82ŗp\x82\xA2\x82郆\x81[\x83U\x96\xBC\x82\xF0\x8Ew\x92肵\x82܂\xB7\x81B
+		\x83\x86\x81[\x83U\x96\xBC\x82̎w\x92肪\x82Ȃ\xA2\x82Ƃ\xAB\x82Ƀf\x83t\x83H\x83\x8B\x83g\x82Ŏg\x97p\x82\xB7\x82郆\x81[\x83U\x96\xBC\x82\xF0\x8Ew\x92肵\x82܂\xB7\x81B<br />
+		<a href="#CheckAuthListFirst">Check the supported authentication methods before login</a>\x82\xAA\x83`\x83F\x83b\x83N\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9\x82ƁA\x83\x86\x81[\x83U\x96\xBC\x82͕ύX\x82ł\xAB\x82Ȃ\xAD\x82Ȃ\xE8\x82܂\xB7\x81B
+		<ul>
+		  <li>
+			<dl>
+			  <dt>\x93\xFC\x97͂\xB5\x82Ȃ\xA2</dt>
+			  <dd>
+				\x93\xFC\x97͂\xB5\x82܂\xB9\x82\xF1\x81B
+			  </dd>
+		  </li>
+
+		  <li>
+			<dl>
+			  <dt>\x8E\x9F\x82̃\x86\x81[\x83U\x96\xBC\x82\xF0\x8Eg\x97p</dt>
+			  <dd>
+				\x83G\x83f\x83B\x83b\x83g\x83{\x83b\x83N\x83X\x82ɓ\xFC\x97͂\xB3\x82ꂽ\x83\x86\x81[\x83U\x96\xBC\x82\xF0\x8Eg\x97p\x82\xB5\x82܂\xB7\x81B<br />
+				\x82\xBD\x82\xBE\x82\xB5\x81A\x83G\x83f\x83B\x83b\x83g\x83{\x83b\x83N\x83X\x82\xAA\x8B\xF3\x82̏ꍇ\x82͉\xBD\x82\xE0\x93\xFC\x97͂\xB3\x82\xEA\x82܂\xB9\x82\xF1
+			  </dd>
+		  </li>
+
+		  <li>
+			<dl>
+			  <dt>\x83V\x83X\x83e\x83\x80\x83\x86\x81[\x83U\x96\xBC\x82\xF0\x8Eg\x97p</dt>
+			  <dd>
+				\x83V\x83X\x83e\x83\x80\x83\x86\x81[\x83U\x96\xBC(Windows\x82̃\x8D\x83O\x83I\x83\x93\x83\x86\x81[\x83U)\x82\xF0\x8Eg\x97p\x82\xB5\x82܂\xB7\x81B
+			  </dd>
+		  </li>
+		</ul>
       </dd>
 
       <dt id="DefaultAuthMethod">\x83f\x83t\x83H\x83\x8B\x83g\x82Ŏg\x97p\x82\xB7\x82\xE9\x94F\x8Fؕ\xFB\x96@\x82\xF0\x90ݒ肵\x82܂\xB7\x81B</dt>

Modified: trunk/doc/ja/html/setup/teraterm-ini.html
===================================================================
--- trunk/doc/ja/html/setup/teraterm-ini.html	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/doc/ja/html/setup/teraterm-ini.html	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1627,6 +1627,12 @@
 		<td></td>
 	</tr>
 	<tr>
+		<td id="DefaultUserType"><a href="../menu/setup-sshauth.html#DefaultUserType">DefaultUserType</a></td>
+		<td style="width:250px;">1</td>
+		<td style="width:250px;"><-</td>
+		<td></td>
+	</tr>
+	<tr>
 		<td id="DisablePopupMessage">DisablePopupMessage</td>
 		<td style="width:250px;">0</td>
 		<td style="width:250px;"><-</td>

Modified: trunk/doc/ja/html/usage/ssh.html
===================================================================
--- trunk/doc/ja/html/usage/ssh.html	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/doc/ja/html/usage/ssh.html	2019-04-26 17:18:36 UTC (rev 7632)
@@ -3,7 +3,7 @@
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
-    <TITLE>SSH \x90ڑ\xB1</title>
+    <title>SSH \x90ڑ\xB1</title>
     <META http-equiv="Content-Style-Type" content="text/css">
     <link rel="stylesheet" href="../style.css" type="text/css">
   </head>
@@ -48,7 +48,8 @@
     </p>
 
     <p id="ssh_auth_dialog">
-      \x90ڑ\xB1\x82\xB7\x82\xE9\x82ƁA\x8D\xA1\x93x\x82͔F\x8Fؕ\xFB\x96@\x82\xF0\x91I\x91\xF0\x82\xB7\x82\xE9\x83_\x83C\x83A\x83\x8D\x83O\x82\xAA\x8C\xBB\x82\xEA\x82܂\xB7\x81B
+      \x90ڑ\xB1\x82\xB7\x82\xE9\x82ƁA\x8D\xA1\x93x\x82͔F\x8Fؕ\xFB\x96@\x82\xF0\x91I\x91\xF0\x82\xB7\x82\xE9\x83_\x83C\x83A\x83\x8D\x83O\x82\xAA\x8C\xBB\x82\xEA\x82܂\xB7\x81B<br />
+	  \x83f\x83t\x83H\x83\x8B\x83g\x92l\x82\xF0<a href="../menu/setup-sshauth.html">"TTSSH: Authentication Setup" \x83_\x83C\x83A\x83\x8D\x83O\x83{\x83b\x83N\x83X</a>\x82Őݒ肷\x82邱\x82Ƃ\xAA\x82ł\xAB\x82܂\xB7\x81B
     </p>
     <div class="img"><img src="../image/Authentication.png" alt="\x94F\x8Fؕ\xFB\x96@"></div>
     <p>
@@ -65,15 +66,54 @@
       <li>Pageant \x82\xF0\x97p\x82\xA2\x82ĔF\x8F؂\xB7\x82\xE9\x8Fꍇ\x82́uUse Pageant\x81v\x82Ƀ`\x83F\x83b\x83N\x82\xF0\x82‚\xAF\x81A\x83\x86\x81[\x83U\x96\xBC\x82\xF0\x93\xFC\x97͂\xB5\x82܂\xB7\x81B</li>
     </ul>
 
+    <h3 id="username_input">\x83\x86\x81[\x83U\x81[\x96\xBC\x93\xFC\x97\xCD</h3>
+	<p>
+	  \x82\xB1\x82̃_\x83C\x83A\x83\x8D\x83O\x82\xAA\x95\\x8E\xA6\x82\xB3\x82ꂽ\x82Ƃ\xAB\x82\xC9
+	  <a href="../menu/setup-sshauth.html#DefaultUserName">\x90ݒ\xE8</a>\x82ɂ\xE6\x82\xC1\x82Ă\xA0\x82炩\x82\xB6\x82\xDF
+	  \x83\x86\x81[\x83U\x81[\x96\xBC\x82\xAA\x93\xFC\x97͂\xB3\x82\xEA\x82܂\xB7\x81B
+	</p>
+	<p>
+	  \x82܂\xBD\x81A
+	  \x83\x86\x81[\x83U\x81[\x96\xBC\x82\xAA\x93\xFC\x97͂\xB3\x82\xEA\x82Ă\xA2\x82\xBD\x8E\x9E\x81A\x82܂\xBD\x82́A\x83\x86\x81[\x83U\x81[\x96\xBC\x82\xF0\x93\xFC\x97͂\xB5\x82ē\xFC\x97͗\x93\x82\xA9\x82\xE7\x83t\x83H\x81[\x83J\x83X\x82\xAA\x88ړ\xAE\x82\xB5\x82\xBD\x8E\x9E\x81A
+	  <a href="../menu/setup-sshauth.html#CheckAuthListFirst">\x90ݒ\xE8</a>\x82ɂ\xE6\x82\xC1\x82ăT\x81[\x83o\x81[\x82փA\x83N\x83Z\x83X\x82\xB5\x82܂\xB7\x81B
+	</p>
+	<p>
+	  \x83\x86\x81[\x83U\x81[\x96\xBC\x82̓\xFC\x97͗\x93\x82̉\xA1\x82̃{\x83^\x83\x93\x82\xF0\x89\x9F\x82\xB7\x82ƃI\x83v\x83V\x83\x87\x83\x93\x82\xF0\x91I\x91\xF0\x82ł\xAB\x82܂\xB7\x81B
+	  <dl>
+		<dt>Paste Windows usename</dt>
+		<dd>Windows\x82̃\x86\x81[\x83U\x81[\x96\xBC\x82\xF0\x93\xFC\x97͂\xB5\x82܂\xB7\x81B</dd>
+	  </dl>
+	</p>
+
     <h3 id="passwd_input">\x83p\x83X\x83\x8F\x81[\x83h / \x83p\x83X\x83t\x83\x8C\x81[\x83Y\x93\xFC\x97\xCD</h3>
     <p>
       \x83p\x83X\x83\x8F\x81[\x83h / \x83p\x83X\x83t\x83\x8C\x81[\x83Y\x82̓\xFC\x97͗\x93\x82́A\x92ʏ\xED\x82̃_\x83C\x83A\x83\x8D\x83O\x82ƈႢ\x88ȉ\xBA\x82̂悤\x82ȓ\xAE\x8D\xEC\x82ƂȂ\xE8\x82܂\xB7\x81B
     </p>
     <ul>
-      <li>Control + A \x81` Z, [, \, ], ^, _ \x82Ő\xA7\x8C䕶\x8E\x9A (0x01 - 0x1F) \x82\xF0\x93\xFC\x97͂ł\xAB\x82܂\xB7\x81B</li>
+      <li>Control + A \x81` Z, [, \, ], ^, _ \x82Ő\xA7\x8C䕶\x8E\x9A (0x01 - 0x1F) \x82\xF0\x93\xFC\x97͂ł\xAB\x82܂\xB7\x81B\x82\xB1\x82̓\xAE\x8D삪\x83f\x83t\x83H\x83\x8B\x83g\x82ł\xB7</li>
       <li>Control + V \x82\xCD SYN (0x16) \x82̓\xFC\x97͂ƂȂ\xE8\x82܂\xB7\x82̂ŁA\x93\\x82\xE8\x95t\x82\xAF\x82ɂ͗\x98\x97p\x82ł\xAB\x82܂\xB9\x82\xF1\x81B\x93\\x82\xE8\x95t\x82\xAF\x82\xF0\x8Ds\x82\xA4\x82ɂ\xCD Shift + Insert \x82\xF0\x8Eg\x97p\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B</li>
     </ul>
+	<p>
+	  \x93\xFC\x97͗\x93\x82̉\xA1\x82̃{\x83^\x83\x93\x82\xF0\x89\x9F\x82\xB7\x82ƃI\x83v\x83V\x83\x87\x83\x93\x82\xF0\x91I\x91\xF0\x82ł\xAB\x82܂\xB7\x81B
+	  <dl>
+		<dt>Paste from clipboard</dt>
+		<dd>\x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA9\x82\xE7\x83p\x83X\x83t\x83\x8C\x81[\x83Y\x82\xF0\x83y\x81[\x83X\x83g\x82\xB5\x82܂\xB7\x81B</dd>
 
+		<dt>Paste from clipboard and clear clipboard</dt>
+		<dd>\x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA9\x82\xE7\x83p\x83X\x83t\x83\x8C\x81[\x83Y\x82\xF0\x83y\x81[\x83X\x83g\x82\xB5\x82ăN\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xF0\x8B\xF3\x82ɂ\xB5\x82܂\xB7\x81B</dd>
+
+		<dt>Use control charactors</dt>
+		<dd>\x83`\x83F\x83b\x83N\x82\xAA\x93\xFC\x82\xC1\x82Ă\xA2\x82\xE9\x82Ɛ\xA7\x8C䕶\x8E\x9A\x82\xF0\x93\xFC\x97͂\xB7\x82邱\x82Ƃ\xAA\x82ł\xAB\x82܂\xB7\x82\xAA\x81A
+		  Control + V\x82ŃN\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82̃y\x81[\x83X\x83g\x93\x99\x82̑\x80\x8D\xEC\x82͂ł\xAB\x82܂\xB9\x82\xF1\x81B
+		  \x83`\x83F\x83b\x83N\x82\xAA\x93\xFC\x82\xC1\x82Ă\xA2\x82Ȃ\xA2\x82Ɛ\xA7\x8C䕶\x8E\x9A\x82\xF0\x93\xFC\x97͂ł\xAB\x82܂\xB9\x82񂪁A
+		  Control + V\x82ŃN\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82̃y\x81[\x83X\x83g\x93\x99\x82̑\x80\x8D삪\x89”\\x82ł\xB7\x81B
+		</dd>
+
+		<dt>Show passphrase</dt>
+		<dd>\x83p\x83X\x83t\x83\x8C\x81[\x83Y\x82\xF0\x95\\x8E\xA6\x82\xB7\x82邩\x81A\x95\x9A\x8E\x9A\x82ɂ\xB7\x82邩\x91I\x91\xF0\x82ł\xAB\x82܂\xB7</dd>
+	  </dl>
+    </p>
+
     <h2 id="securitywarning">\x83Z\x83L\x83\x85\x83\x8A\x83e\x83B\x8Cx\x8D\x90</h2>
 
     <h3 id="known_hosts">ssh_known_hosts \x83t\x83@\x83C\x83\x8B</h3>

Modified: trunk/installer/release/lang/English.lng
===================================================================
--- trunk/installer/release/lang/English.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/English.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 
 [Tera Term]
 DLG_SYSTEM_FONT=System,14,0
@@ -581,7 +581,12 @@
 DLG_AUTH_BANNER2=Authentication required.
 DLG_AUTH_BANNER2_FAILED=Authentication failed. Please retry.
 DLG_AUTH_USERNAME=User &name:
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=&Passphrase:
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=Remember password on &memory
 DLG_AUTH_FWDAGENT=F&orward agent
 DLG_AUTH_METHOD_PASSWORD=Use p&lain password to log in
@@ -601,7 +606,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH: Authentication Setup
 DLG_AUTHSETUP_BANNER=Select defaults for authentication:
-DLG_AUTHSETUP_USERNAME=User &name:
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=Use p&lain password to log in
 DLG_AUTHSETUP_METHOD_RSA=Use &RSA/DSA/ECDSA/ED25519 key to log in
 DLG_AUTHSETUP_METHOD_RHOST=Use r&hosts to log in (SSH1)

Modified: trunk/installer/release/lang/French.lng
===================================================================
--- trunk/installer/release/lang/French.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/French.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 ; Last translated (French language) by Francois MOCQ (2010-07-21)
 
 [Tera Term]
@@ -582,7 +582,12 @@
 DLG_AUTH_BANNER2=Authentification requise.
 DLG_AUTH_BANNER2_FAILED=Authentification \xE9chou\xE9e. R\xE9essayez.
 DLG_AUTH_USERNAME=&Nom d'utilisateur:
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=&Phrase secr\xE8te:
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=Garder le mot de passe en &m\xE9moire
 DLG_AUTH_FWDAGENT=F&orward agent
 DLG_AUTH_METHOD_PASSWORD=Utiliser mot de passe pour la connexion
@@ -604,7 +609,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH: Configuration de l'authentification
 DLG_AUTHSETUP_BANNER=Configuration par d\xE9faut:
-DLG_AUTHSETUP_USERNAME=Nom d'utilisateur:
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=Util. mot de passe pour la conn.
 DLG_AUTHSETUP_METHOD_RSA=Util. cl\xE9 &RSA/DSA/ECDSA/ED25519 pour conn.
 DLG_AUTHSETUP_METHOD_RHOST=Util. r&hosts pour conn.(SSH1)

Modified: trunk/installer/release/lang/German.lng
===================================================================
--- trunk/installer/release/lang/German.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/German.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 ; Last translated (German language) by Frederik Schwarzer (2010-05-17)
 
 [Tera Term]
@@ -582,7 +582,12 @@
 DLG_AUTH_BANNER2=Authentifikation notwendig.
 DLG_AUTH_BANNER2_FAILED=Authentifikation fehlgeschlagen. Bitte versuchen Sie es erneut.
 DLG_AUTH_USERNAME=Benutzername:
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=Passphrase:
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=Passphrase speichern
 DLG_AUTH_FWDAGENT=F&orward agent
 DLG_AUTH_METHOD_PASSWORD=Passwortauthentifikation verwenden
@@ -604,7 +609,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH: Authentifikation-Einstellungen
 DLG_AUTHSETUP_BANNER=Standard-Einstellungen f\xFCr Authentifikation:
-DLG_AUTHSETUP_USERNAME=Benutzername:
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=Passwortauthentifikation verwenden
 DLG_AUTHSETUP_METHOD_RSA=DSA/RSA/ECDSA/ED25519-Schl\xFCssel verwenden
 DLG_AUTHSETUP_METHOD_RHOST=rhosts verwenden (SSH1)

Modified: trunk/installer/release/lang/Japanese.lng
===================================================================
--- trunk/installer/release/lang/Japanese.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/Japanese.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 
 [Tera Term]
 DLG_SYSTEM_FONT=\x82l\x82r \x82o\x83S\x83V\x83b\x83N,12,128
@@ -581,7 +581,12 @@
 DLG_AUTH_BANNER2=\x94F\x8F؂\xAA\x95K\x97v\x82ł\xB7.
 DLG_AUTH_BANNER2_FAILED=\x94F\x8F؂Ɏ\xB8\x94s\x82\xB5\x82܂\xB5\x82\xBD. \x8DĎ\x8E\x8Ds\x82\xB5\x82Ă\xAD\x82\xBE\x82\xB3\x82\xA2.
 DLG_AUTH_USERNAME=\x83\x86\x81[\x83U\x96\xBC(&N):
+DLG_AUTH_PASTE_WINDOWS_USERNAME=\x83V\x83X\x83e\x83\x80\x83\x86\x81[\x83U\x96\xBC\x82\xF0\x83y\x81[\x83X\x83g(&W)
 DLG_AUTH_PASSWORD=\x83p\x83X\x83t\x83\x8C\x81[\x83Y(&P):
+DLG_AUTH_PASTE_CLIPBOARD=\x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA9\x82\xE7\x83y\x81[\x83X\x83g(&C)
+DLG_AUTH_CLEAR_CLIPBOARD=\x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA9\x82\xE7\x83y\x81[\x83X\x83g\x82\xB5\x82\xBD\x8C\xE3\x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xF0\x83N\x83\x8A\x83A\x82\xB7\x82\xE9(&E)
+DLG_AUTH_USE_CONTORL_CHARACTERS=\x83p\x83X\x83t\x83\x8C\x81[\x83Y\x82ɐ\xA7\x8C\xE4\x83R\x81[\x83h\x82\xF0\x8Eg\x97p\x82\xB7\x82\xE9(&T)
+DLG_AUTH_SHOW_PASSPHRASE=\x83p\x83X\x83t\x83\x8C\x81[\x83Y\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9(&S)
 DLG_AUTH_REMEMBER_PASSWORD=\x83p\x83X\x83\x8F\x81[\x83h\x82\xF0\x83\x81\x83\x82\x83\x8A\x8F\xE3\x82ɋL\x89\xAF\x82\xB7\x82\xE9(&M)
 DLG_AUTH_FWDAGENT=\x83G\x81[\x83W\x83F\x83\x93\x83g\x93]\x91\x97\x82\xB7\x82\xE9(&O)
 DLG_AUTH_METHOD_PASSWORD=\x83v\x83\x8C\x83C\x83\x93\x83p\x83X\x83\x8F\x81[\x83h\x82\xF0\x8Eg\x82\xA4(&L)
@@ -601,7 +606,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH: \x94F\x8Fؐݒ\xE8
 DLG_AUTHSETUP_BANNER=\x92ʏ\xED\x8Eg\x97p\x82\xB7\x82\xE9\x94F\x8Fؕ\xFB\x8E\xAE:
-DLG_AUTHSETUP_USERNAME=\x83\x86\x81[\x83U\x96\xBC(&N):
+DLG_AUTHSETUP_NO_USERNAME=\x93\xFC\x97͂\xB5\x82Ȃ\xA2(&D)
+DLG_AUTHSETUP_USERNAME=\x8E\x9F\x82̃\x86\x81[\x83U\x96\xBC\x82\xF0\x8Eg\x97p(&N):
+DLG_AUTHSETUP_SYSTEM_USERNAME=\x83V\x83X\x83e\x83\x80\x82̃\x86\x81[\x83U\x96\xBC\x82\xF0\x8Eg\x97p(&E):
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=\x8C\xBB\x8D݂̃\x8D\x83O\x83C\x83\x93\x83\x86\x81[\x83U\x96\xBC "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=\x83v\x83\x8C\x83C\x83\x93\x83p\x83X\x83\x8F\x81[\x83h\x82\xF0\x8Eg\x82\xA4(&L)
 DLG_AUTHSETUP_METHOD_RSA=&RSA/DSA/ECDSA/ED25519\x8C\xAE\x82\xF0\x8Eg\x82\xA4
 DLG_AUTHSETUP_METHOD_RHOST=r&hosts\x82\xF0\x8Eg\x82\xA4(SSH1)

Modified: trunk/installer/release/lang/Korean.lng
===================================================================
--- trunk/installer/release/lang/Korean.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/Korean.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 ; Last translated (Korean language) by Daehong Kim (2013-07-25)
 
 [Tera Term]
@@ -582,7 +582,12 @@
 DLG_AUTH_BANNER2=\xC0\xCE\xC1\xF5\xC0\xCC \xC7ʿ\xE4\xC7\xD4.
 DLG_AUTH_BANNER2_FAILED=\xC0\xCF\xC1\xF5 \xBD\xC7\xC6\xD0. \xB4ٽ\xC3 \xBDõ\xB5\xC7\xD8\xC1ּ\xBC\xBF\xE4.
 DLG_AUTH_USERNAME=\xBB\xE7\xBF\xEB\xC0\xDA \xC0̸\xA7(&N):
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=\xBE\xCFȣ(&P):
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=\xB8޸𸮿\xA1 \xBE\xCFȣ\xB1\xE2\xBE\xEF(&M)
 DLG_AUTH_FWDAGENT=\xBF\xA1\xC0\xCC\xC0\xFCƮ\xB7\xCE \xC0\xFC\xB4\xDE(&O)
 DLG_AUTH_METHOD_PASSWORD=\xC0Ϲ\xDD\xC5ؽ\xBAƮ \xBE\xCFȣ \xB7α\xD7\xC0\xCE(&L)
@@ -604,7 +609,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH: \xC0\xCE\xC1\xF5 \xBC\xB3\xC1\xA4
 DLG_AUTHSETUP_BANNER=\xB1⺻ \xC0\xCE\xC1\xF5 \xBC\xB1\xC5\xC3:
-DLG_AUTHSETUP_USERNAME=\xBB\xE7\xBF\xEB\xC0\xDA \xC0̸\xA7(&N):
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=\xC0Ϲ\xDD\xC5ؽ\xBAƮ \xBE\xCFȣ \xB7α\xD7\xC0\xCE(&L)
 DLG_AUTHSETUP_METHOD_RSA=RSA/DSA/ECDSA/ED25519 Ű \xB7α\xD7\xC0\xCE(&R)
 DLG_AUTHSETUP_METHOD_RHOST=rhosts \xB7α\xD7\xC0\xCE(SSH1)(&H)

Modified: trunk/installer/release/lang/Russian.lng
===================================================================
--- trunk/installer/release/lang/Russian.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/Russian.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 ; Last translated (Russian language) by Ryumik Sergey (2017-07-19)
 
 [Tera Term]
@@ -582,7 +582,12 @@
 DLG_AUTH_BANNER2=\xD2\xF0\xE5\xE1\xF3\xE5\xF2\xF1\xFF \xE0\xF3\xF2\xE5\xED\xF2\xE8\xF4\xE8\xEA\xE0\xF6\xE8\xFF.
 DLG_AUTH_BANNER2_FAILED=\xCE\xF8\xE8\xE1\xEA\xE0 \xE0\xF3\xF2\xE5\xED\xF2\xE8\xF4\xE8\xEA\xE0\xF6\xE8\xE8. \xCF\xEE\xE2\xF2\xEE\xF0\xE8\xF2\xE5 \xEF\xEE\xEF\xFB\xF2\xEA\xF3.
 DLG_AUTH_USERNAME=&\xC8\xEC\xFF \xEF\xEE\xEB\xFC\xE7\xEE\xE2\xE0\xF2\xE5\xEB\xFF:
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=&\xD4\xF0\xE0\xE7\xE0 \xEF\xE0\xF0\xEE\xEB\xFF:
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=&\xC7\xE0\xEF\xEE\xEC\xED\xE8\xF2\xFC \xEF\xE0\xF0\xEE\xEB\xFC \xE2 \xEF\xE0\xEC\xFF\xF2\xE8
 DLG_AUTH_FWDAGENT=&\xCF\xE5\xF0\xE2\xFB\xE9 \xE0\xE3\xE5\xED\xF2
 DLG_AUTH_METHOD_PASSWORD=&\xC2\xF5\xEE\xE4 \xF1 \xEF\xF0\xEE\xF1\xF2\xFB\xEC \xEF\xE0\xF0\xEE\xEB\xE5\xEC
@@ -604,7 +609,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH: \xCD\xE0\xF1\xF2\xF0\xEE\xE9\xEA\xE0 \xE0\xF3\xF2\xE5\xED\xF2\xE8\xF4\xE8\xEA\xE0\xF6\xE8\xE8
 DLG_AUTHSETUP_BANNER=\xC2\xFB\xE1\xF0\xE0\xF2\xFC \xEF\xEE \xF3\xEC\xEE\xEB\xF7\xE0\xED\xE8\xFE:
-DLG_AUTHSETUP_USERNAME=&\xC8\xEC\xFF:
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=&\xC2\xF5\xEE\xE4 \xF1 \xEF\xF0\xEE\xF1\xF2\xFB\xEC \xEF\xE0\xF0\xEE\xEB\xE5\xEC
 DLG_AUTHSETUP_METHOD_RSA=&\xC2\xF5\xEE\xE4 \xF1 \xEA\xEB\xFE\xF7\xEE\xEC RSA/DSA/ECDSA/ED25519
 DLG_AUTHSETUP_METHOD_RHOST=&\xC2\xF5\xEE\xE4 \xF1 rhosts (SSH1)

Modified: trunk/installer/release/lang/Simplified Chinese.lng
===================================================================
--- trunk/installer/release/lang/Simplified Chinese.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/Simplified Chinese.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 ; Last translated (Simplified Chinese language) by LiShaohui (2017-04-11)
 
 [Tera Term]
@@ -582,7 +582,12 @@
 DLG_AUTH_BANNER2=\xD0\xE8Ҫ\xC8\xCF֤\xA1\xA3
 DLG_AUTH_BANNER2_FAILED=\xC8\xCF֤ʧ\xB0ܣ\xAC\xC7\xEB\xD6\xD8\xCAԡ\xA3
 DLG_AUTH_USERNAME=\xD3û\xA7\xC3\xFB(&N)\xA3\xBA
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=\xC3\xDC\xC2\xEB(&P)\xA3\xBA
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=\xBC\xC7ס\xC3\xDC\xC2\xEB(&M)
 DLG_AUTH_FWDAGENT=\xB4\xFA\xC0\xEDת\xB7\xA2(&O)
 DLG_AUTH_METHOD_PASSWORD=ʹ\xD3ü򵥵\xC4\xC3\xDC\xC2\xEB\xC0\xB4\xB5\xC7¼(&L)
@@ -604,7 +609,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH\xA3\xBA\xC8\xCF֤\xC9\xE8\xD6\xC3
 DLG_AUTHSETUP_BANNER=\xC9\xE8\xD6\xC3Ĭ\xC8\xCF\xC8\xCF֤\xD0\xC5Ϣ\xA3\xBA
-DLG_AUTHSETUP_USERNAME=\xD3û\xA7\xC3\xFB(&N)\xA3\xBA
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=ʹ\xD3ü򵥵\xC4\xC3\xDC\xC2\xEB\xC0\xB4\xB5\xC7¼(&L)
 DLG_AUTHSETUP_METHOD_RSA=ʹ\xD3\xC3 &RSA/DSA/ECDSA/ED25519 \xC3\xDCԿ\xB5\xC7¼
 DLG_AUTHSETUP_METHOD_RHOST=ʹ\xD3\xC3 r&hosts \xB5\xC7¼(SSH1)

Modified: trunk/installer/release/lang/Traditional Chinese.lng
===================================================================
--- trunk/installer/release/lang/Traditional Chinese.lng	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/installer/release/lang/Traditional Chinese.lng	2019-04-26 17:18:36 UTC (rev 7632)
@@ -1,4 +1,4 @@
-; Updated by TeraTerm Project (2019-04-22)
+; Updated by TeraTerm Project (2019-04-24)
 ; Last translated (Traditional Chinese language) by kikiqqp (2014-09-20)
 
 [Tera Term]
@@ -582,7 +582,12 @@
 DLG_AUTH_BANNER2=\xBBݭn\xBB{\xC3ҡC
 DLG_AUTH_BANNER2_FAILED=\xBB{\xC3ҥ\xA2\xB1ѡA\xBDЭ\xAB\xB8աC
 DLG_AUTH_USERNAME=\xA5Τ\xE1\xA6W(&N)\xA1G
+DLG_AUTH_PASTE_WINDOWS_USERNAME=Paste &Windows Username
 DLG_AUTH_PASSWORD=\xB1K\xBDX(&P)\xA1G
+DLG_AUTH_PASTE_CLIPBOARD=Paste from &clipboard
+DLG_AUTH_CLEAR_CLIPBOARD=Paste from clipboard and cl&ear clipboard
+DLG_AUTH_USE_CONTORL_CHARACTERS=Use control charac&ters
+DLG_AUTH_SHOW_PASSPHRASE=&Show passphrase
 DLG_AUTH_REMEMBER_PASSWORD=\xB0O\xA6\xED\xB1K\xBDX(&M)
 DLG_AUTH_FWDAGENT=\xA5N\xB2z\xC2\xE0\xB5o(&O)
 DLG_AUTH_METHOD_PASSWORD=\xA8ϥ\xCE²\xB3檺\xB1K\xBDX\xA8ӵn\xBF\xFD(&L)
@@ -604,7 +609,10 @@
 ; dlg auth setup
 DLG_AUTHSETUP_TITLE=TTSSH\xA1G\xBB{\xC3ҳ]\xA9w
 DLG_AUTHSETUP_BANNER=\xB3]\xA9w\xC0q\xBB{\xBB{\xC3Ҹ\xEA\xB0T\xA1G
-DLG_AUTHSETUP_USERNAME=\xA5Τ\xE1\xA6W(&N)\xA1G
+DLG_AUTHSETUP_NO_USERNAME=&Do not enter username
+DLG_AUTHSETUP_USERNAME=U&se following username
+DLG_AUTHSETUP_SYSTEM_USERNAME=Us&e system username
+DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT=urrent username is "%s"
 DLG_AUTHSETUP_METHOD_PASSWORD=\xA8ϥ\xCE²\xB3檺\xB1K\xBDX\xA8ӵn\xBF\xFD(&L)
 DLG_AUTHSETUP_METHOD_RSA=\xA8ϥ\xCE &RSA/DSA/ECDSA/ED25519 \xB1K\xC6_\xB5n\xBF\xFD
 DLG_AUTHSETUP_METHOD_RHOST=\xA8ϥ\xCE r&hosts \xB5n\xBF\xFD(SSH1)

Modified: trunk/teraterm/teraterm/CMakeLists.txt
===================================================================
--- trunk/teraterm/teraterm/CMakeLists.txt	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/teraterm/teraterm/CMakeLists.txt	2019-04-26 17:18:36 UTC (rev 7632)
@@ -198,7 +198,8 @@
   )
 
 # copy .lng files
-if(${CMAKE_GENERATOR} MATCHES "Visual Studio 15 2017")
+if(${MSVC_VERSION} GREATER_EQUAL 1910)
+  # Visual Studio 2017以上の時
   add_custom_target(
     copy_lang ALL
     DEPENDS

Modified: trunk/ttssh2/ttxssh/auth.c
===================================================================
--- trunk/ttssh2/ttxssh/auth.c	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/ttssh2/ttxssh/auth.c	2019-04-26 17:18:36 UTC (rev 7632)
@@ -38,6 +38,7 @@
 #include <fcntl.h>
 #include <stdlib.h>
 #include <errno.h>
+#include <Lmcons.h>		// for UNLEN
 #include <crtdbg.h>
 
 #include "resource.h"
@@ -85,8 +86,17 @@
 	WNDPROC ProcOrg;
 	PTInstVar pvar;
 	TipWin *tipwin;
+	BOOL *UseControlChar;
 } TPasswordControlData;
 
+static void password_wnd_proc_close_tooltip(TPasswordControlData *data)
+{
+	if (data->tipwin != NULL) {
+		TipWinDestroy(data->tipwin);
+		data->tipwin = NULL;
+	}
+}
+
 static LRESULT CALLBACK password_wnd_proc(HWND control, UINT msg,
 										  WPARAM wParam, LPARAM lParam)
 {
@@ -94,7 +104,9 @@
 	TPasswordControlData *data = (TPasswordControlData *)GetWindowLongPtr(control, GWLP_USERDATA);
 	switch (msg) {
 	case WM_CHAR:
-		if ((GetKeyState(VK_CONTROL) & 0x8000) != 0) {
+		if ((data->UseControlChar == NULL || *data->UseControlChar == TRUE) &&
+			(GetKeyState(VK_CONTROL) & 0x8000) != 0)
+		{	// \x90\xA7\x8C䕶\x8E\x9A\x82\xF0\x8Eg\x97p\x82\xB7\x82\xE9 && CTRL\x83L\x81[\x82\xAA\x89\x9F\x82\xB3\x82\xEA\x82Ă\xA2\x82\xE9
 			TCHAR chars[] = { (TCHAR) wParam, 0 };
 
 			SendMessage(control, EM_REPLACESEL, (WPARAM) TRUE,
@@ -118,17 +130,11 @@
 
 			return 0;
 		} else {
-			if (data->tipwin != NULL) {
-				TipWinDestroy(data->tipwin);
-				data->tipwin = NULL;
-			}
+			password_wnd_proc_close_tooltip(data);
 		}
 		break;
 	case WM_KILLFOCUS:
-		if (data->tipwin != NULL) {
-			TipWinDestroy(data->tipwin);
-			data->tipwin = NULL;
-		}
+		password_wnd_proc_close_tooltip(data);
 		break;
 	}
 
@@ -137,10 +143,7 @@
 
 	if (msg == WM_NCDESTROY) {
 		SetWindowLongPtr(control, GWLP_WNDPROC, (LONG_PTR)data->ProcOrg);
-		if (data->tipwin != NULL) {
-			TipWinDestroy(data->tipwin);
-			data->tipwin = NULL;
-		}
+		password_wnd_proc_close_tooltip(data);
 		free(data);
 	}
 
@@ -147,7 +150,7 @@
 	return result;
 }
 
-void init_password_control(PTInstVar pvar, HWND dlg, int item)
+void init_password_control(PTInstVar pvar, HWND dlg, int item, BOOL *UseControlChar)
 {
 	HWND passwordControl = GetDlgItem(dlg, item);
 	TPasswordControlData *data = (TPasswordControlData *)malloc(sizeof(TPasswordControlData));
@@ -154,6 +157,7 @@
 	data->ProcOrg = (WNDPROC)GetWindowLongPtr(passwordControl, GWLP_WNDPROC);
 	data->pvar = pvar;
 	data->tipwin = NULL;
+	data->UseControlChar = UseControlChar;
 	SetWindowLongPtr(passwordControl, GWLP_WNDPROC, (LONG_PTR)password_wnd_proc);
 	SetWindowLongPtr(passwordControl, GWLP_USERDATA, (LONG_PTR)data);
 	SetFocus(passwordControl);
@@ -171,7 +175,7 @@
 
 	EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORDCAPTION), (!TIS_enabled && !PAGEANT_enabled));
 	EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD), (!TIS_enabled && !PAGEANT_enabled));
-	EnableWindow(GetDlgItem(dlg, IDC_FROM_CLIPBOARD), (!TIS_enabled && !PAGEANT_enabled));
+	EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD_OPTION), (!TIS_enabled && !PAGEANT_enabled));
 
 	for (i = IDC_CHOOSERSAFILE; i <= IDC_RSAFILENAME; i++) {
 		EnableWindow(GetDlgItem(dlg, i), RSA_enabled);
@@ -242,62 +246,32 @@
 	}
 }
 
-static void init_auth_dlg(PTInstVar pvar, HWND dlg)
+static void init_auth_dlg(PTInstVar pvar, HWND dlg, BOOL *UseControlChar)
 {
+	const static DlgTextInfo text_info[] = {
+		{ 0, "DLG_AUTH_TITLE" },
+		{ IDC_SSHAUTHBANNER, "DLG_AUTH_BANNER" },
+		{ IDC_SSHAUTHBANNER2, "DLG_AUTH_BANNER2" },
+		{ IDC_SSHUSERNAMELABEL, "DLG_AUTH_USERNAME" },
+		{ IDC_SSHPASSWORDCAPTION, "DLG_AUTH_PASSWORD" },
+		{ IDC_REMEMBER_PASSWORD, "DLG_AUTH_REMEMBER_PASSWORD" },
+		{ IDC_FORWARD_AGENT, "DLG_AUTH_FWDAGENT" },
+		{ IDC_SSHUSEPASSWORD, "DLG_AUTH_METHOD_PASSWORD" },
+		{ IDC_SSHUSERSA, "DLG_AUTH_METHOD_RSA" },
+		{ IDC_SSHUSERHOSTS, "DLG_AUTH_METHOD_RHOST" },
+		{ IDC_SSHUSEPAGEANT, "DLG_AUTH_METHOD_PAGEANT" },
+		{ IDC_RSAFILENAMELABEL, "DLG_AUTH_PRIVATEKEY" },
+		{ IDC_LOCALUSERNAMELABEL, "DLG_AUTH_LOCALUSER" },
+		{ IDC_HOSTRSAFILENAMELABEL, "DLG_AUTH_HOST_PRIVATEKEY" },
+		{ IDOK, "BTN_OK" },
+		{ IDCANCEL, "BTN_DISCONNECT" },
+	};
 	int default_method = pvar->session_settings.DefaultAuthMethod;
-	char uimsg[MAX_UIMSG];
 
-	GetWindowText(dlg, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_TITLE", pvar, uimsg);
-	SetWindowText(dlg, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHAUTHBANNER, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_BANNER", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHAUTHBANNER2, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_BANNER2", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHAUTHBANNER2, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_USERNAME", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHPASSWORDCAPTION, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_PASSWORD", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHPASSWORDCAPTION, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_REMEMBER_PASSWORD, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_REMEMBER_PASSWORD", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_REMEMBER_PASSWORD, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_FORWARD_AGENT, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_FWDAGENT", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_FORWARD_AGENT, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSEPASSWORD, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_METHOD_PASSWORD", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSERSA, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_METHOD_RSA", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSERHOSTS, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_METHOD_RHOST", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSEPAGEANT, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_METHOD_PAGEANT", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSEPAGEANT, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_CHOOSERSAFILE, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_PRIVATEKEY", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_LOCALUSER", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_HOST_PRIVATEKEY", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("BTN_OK", pvar, uimsg);
-	SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDCANCEL, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("BTN_DISCONNECT", pvar, uimsg);
-	SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg);
+	SetI18DlgStrs("TTSSH", dlg, text_info, _countof(text_info), pvar->ts->UILanguageFile);
 
 	init_auth_machine_banner(pvar, dlg);
-	init_password_control(pvar, dlg, IDC_SSHPASSWORD);
+	init_password_control(pvar, dlg, IDC_SSHPASSWORD, UseControlChar);
 
 	// \x94F\x8F؎\xB8\x94s\x8C\xE3\x82̓\x89\x83x\x83\x8B\x82\xF0\x8F\x91\x82\xAB\x8A\xB7\x82\xA6
 	if (pvar->auth_state.failed_method != SSH_AUTH_NONE) {
@@ -333,6 +307,7 @@
 	if (pvar->auth_state.user != NULL) {
 		SetDlgItemText(dlg, IDC_SSHUSERNAME, pvar->auth_state.user);
 		EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAME), FALSE);
+		EnableWindow(GetDlgItem(dlg, IDC_USERNAME_OPTION), FALSE);
 		EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAMELABEL), FALSE);
 	}
 	else if (strlen(pvar->ssh2_username) > 0) {
@@ -339,12 +314,38 @@
 		SetDlgItemText(dlg, IDC_SSHUSERNAME, pvar->ssh2_username);
 		if (pvar->ssh2_autologin == 1) {
 			EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAME), FALSE);
+			EnableWindow(GetDlgItem(dlg, IDC_USERNAME_OPTION), FALSE);
 			EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAMELABEL), FALSE);
 		}
 	}
-	else if (pvar->session_settings.DefaultUserName[0] != 0) {
-		SetDlgItemText(dlg, IDC_SSHUSERNAME,
-		               pvar->session_settings.DefaultUserName);
+	else {
+		switch(pvar->session_settings.DefaultUserType) {
+		case 0:
+			// \x93\xFC\x97͂\xB5\x82Ȃ\xA2
+			break;
+		case 1:
+			// use DefaultUserName
+			if (pvar->session_settings.DefaultUserName[0] == 0) {
+				// \x81u\x93\xFC\x97͂\xB5\x82Ȃ\xA2\x81v\x82ɂ\xB5\x82Ă\xA8\x82\xAD
+				pvar->session_settings.DefaultUserType = 0;
+			} else {
+				SetDlgItemText(dlg, IDC_SSHUSERNAME,
+							   pvar->session_settings.DefaultUserName);
+			}
+			break;
+		case 2: {
+			TCHAR user_name[UNLEN+1];
+			DWORD len = _countof(user_name);
+			BOOL r = GetUserName(user_name, &len);
+			if (r != 0) {
+				SetDlgItemText(dlg, IDC_SSHUSERNAME, user_name);
+			}
+			break;
+		}
+		default:
+			// \x93\xFC\x97͂\xB5\x82Ȃ\xA2\x82ɂ\xB5\x82Ă\xA8\x82\xAD
+			pvar->session_settings.DefaultUserType = 0;
+		}
 	}
 
 	if (strlen(pvar->ssh2_password) > 0) {
@@ -352,7 +353,7 @@
 		if (pvar->ssh2_autologin == 1) {
 			EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD), FALSE);
 			EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORDCAPTION), FALSE);
-			EnableWindow(GetDlgItem(dlg, IDC_FROM_CLIPBOARD), FALSE);
+			EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD_OPTION), FALSE);
 		}
 	}
 
@@ -379,7 +380,7 @@
 	} else if (pvar->ssh2_authmethod == SSH_AUTH_TIS) {
 		CheckRadioButton(dlg, IDC_SSHUSEPASSWORD, MAX_AUTH_CONTROL, IDC_SSHUSETIS);
 		EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD), FALSE);
-		EnableWindow(GetDlgItem(dlg, IDC_FROM_CLIPBOARD), FALSE);
+		EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD_OPTION), FALSE);
 		SetDlgItemText(dlg, IDC_SSHPASSWORD, "");
 
 	// /auth=pageant \x82\xF0\x92lj\xC1
@@ -386,7 +387,7 @@
 	} else if (pvar->ssh2_authmethod == SSH_AUTH_PAGEANT) {
 		CheckRadioButton(dlg, IDC_SSHUSEPASSWORD, MAX_AUTH_CONTROL, IDC_SSHUSEPAGEANT);
 		EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD), FALSE);
-		EnableWindow(GetDlgItem(dlg, IDC_FROM_CLIPBOARD), FALSE);
+		EnableWindow(GetDlgItem(dlg, IDC_SSHPASSWORD_OPTION), FALSE);
 		SetDlgItemText(dlg, IDC_SSHPASSWORD, "");
 
 	} else {
@@ -798,6 +799,8 @@
 	PTInstVar pvar;
 //	LOGFONT logfont;
 //	HFONT font;
+	static BOOL UseControlChar;
+	static BOOL ShowPassPhrase;
 
 	switch (msg) {
 	case WM_INITDIALOG:
@@ -805,7 +808,9 @@
 		pvar->auth_state.auth_dialog = dlg;
 		SetWindowLong(dlg, DWL_USER, lParam);
 
-		init_auth_dlg(pvar, dlg);
+		UseControlChar = TRUE;
+		ShowPassPhrase = FALSE;
+		init_auth_dlg(pvar, dlg, &UseControlChar);
 #if 0
 		font = (HFONT)SendMessage(dlg, WM_GETFONT, 0, 0);
 		GetObject(font, sizeof(LOGFONT), &logfont);
@@ -836,6 +841,7 @@
 			DlgAuthFont = NULL;
 		}
 #endif
+
 		// SSH2 autologin\x82\xAA\x97L\x8C\xF8\x82̏ꍇ\x82́A\x83^\x83C\x83}\x82\xF0\x8Ed\x8A|\x82\xAF\x82\xE9\x81B (2004.12.1 yutaka)
 		if (pvar->ssh2_autologin == 1) {
 			autologin_sent_none = FALSE;
@@ -918,6 +924,7 @@
 
 					// \x83\x86\x81[\x83U\x96\xBC\x82\xF0\x95ύX\x82\xB3\x82\xB9\x82Ȃ\xA2
 					EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAME), FALSE);
+					EnableWindow(GetDlgItem(dlg, IDC_USERNAME_OPTION), FALSE);
 
 					// \x94F\x8F؃\x81\x83\\x83b\x83h none \x82𑗂\xE9
 					do_SSH2_userauth(pvar);
@@ -1011,6 +1018,7 @@
 
 					// \x83\x86\x81[\x83U\x96\xBC\x82\xF0\x95ύX\x82\xB3\x82\xB9\x82Ȃ\xA2
 					EnableWindow(GetDlgItem(dlg, IDC_SSHUSERNAME), FALSE);
+					EnableWindow(GetDlgItem(dlg, IDC_USERNAME_OPTION), FALSE);
 
 					// \x94F\x8F؃\x81\x83\\x83b\x83h none \x82𑗂\xE9
 					do_SSH2_userauth(pvar);
@@ -1041,14 +1049,115 @@
 			pvar->session_settings.ForwardAgent = IsDlgButtonChecked(dlg, IDC_FORWARD_AGENT);
 			return TRUE;
 
-		case IDC_FROM_CLIPBOARD: {
-			char *clipboard = GetClipboardTextA(dlg, TRUE);
-			if (clipboard != NULL) {
-				SetDlgItemTextA(dlg, IDC_SSHPASSWORD, clipboard);
-				free(clipboard);
-				SendMessage(dlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(dlg, IDOK), TRUE);
-				return FALSE;
+		case IDC_SSHPASSWORD_OPTION: {
+			TCHAR uimsg[MAX_UIMSG];
+			HMENU hMenu= CreatePopupMenu();
+			GetI18nStrT("TTSSH", "DLG_AUTH_PASTE_CLIPBOARD",
+						uimsg, _countof(uimsg),
+						"Paste from &clipboard",
+						pvar->ts->UILanguageFile);
+			AppendMenu(hMenu, MF_ENABLED | MF_STRING, 1, uimsg);
+			GetI18nStrT("ttssh", "DLG_AUTH_CLEAR_CLIPBOARD",
+						uimsg, _countof(uimsg),
+						"Paste from &clipboard and cl&ear clipboard",
+						pvar->ts->UILanguageFile);
+			AppendMenu(hMenu, MF_ENABLED | MF_STRING, 2, uimsg);
+			GetI18nStrT("ttssh", "DLG_AUTH_USE_CONTORL_CHARACTERS",
+						uimsg, _countof(uimsg),
+						"Use control charac&ters",
+						pvar->ts->UILanguageFile);
+			AppendMenu(hMenu, MF_ENABLED | MF_STRING  | (UseControlChar ? MFS_CHECKED : 0), 3, uimsg);
+			GetI18nStrT("ttssh", "DLG_AUTH_SHOW_PASSPHRASE",
+						uimsg, _countof(uimsg),
+						"&Show passphrase",
+						pvar->ts->UILanguageFile);
+			AppendMenu(hMenu, MF_ENABLED | MF_STRING | (ShowPassPhrase ? MFS_CHECKED : 0), 4, uimsg);
+			RECT rect;
+			HWND hWndButton = GetDlgItem(dlg, IDC_SSHPASSWORD_OPTION);
+			GetWindowRect(hWndButton, &rect);
+			int result = TrackPopupMenu(hMenu, TPM_RETURNCMD, rect.left, rect.bottom, 0 , hWndButton, NULL);
+			DestroyMenu(hMenu);
+			switch(result) {
+			case 1:
+			case 2: {
+				// \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA9\x82\xE7\x83y\x81[\x83X\x83g
+				BOOL clear_clipboard = result == 2;
+				char *clipboard = GetClipboardTextA(dlg, clear_clipboard);
+				if (clipboard != NULL) {
+					SetDlgItemTextA(dlg, IDC_SSHPASSWORD, clipboard);
+					free(clipboard);
+					SendDlgItemMessage(dlg, IDC_SSHPASSWORD, EM_SETSEL, 0, -1);
+					SendMessage(dlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(dlg, IDC_SSHPASSWORD), TRUE);
+					return FALSE;
+				}
+				return TRUE;
 			}
+			case 3:
+				// \x90\xA7\x8C\xE4\x83R\x81[\x83h\x8Eg\x97p/\x96\xA2\x8Eg\x97p
+				UseControlChar = !UseControlChar;
+				break;
+			case 4:
+				// \x83p\x83X\x83t\x83\x8C\x81[\x83Y\x95\\x8E\xA6/\x94\xF1\x95\\x8E\xA6
+				ShowPassPhrase = !ShowPassPhrase;
+				{
+					// \x95\x9A\x82\xB9\x8E\x9A on/off \x82\xF0\x90؂\xE8\x91ւ\xA6\x82\xE9
+					HWND hWnd = GetDlgItem(dlg, IDC_SSHPASSWORD);
+					static wchar_t password_char;
+					if (password_char == 0) {
+						wchar_t c = (wchar_t)SendMessage(hWnd, EM_GETPASSWORDCHAR, 0, 0);
+						password_char = c;
+					}
+					if (ShowPassPhrase) {
+						SendMessage(hWnd, EM_SETPASSWORDCHAR, 0, 0);
+					} else {
+#if !defined(UNICODE)
+						if (password_char < 0x100) {
+							SendMessageA(hWnd, EM_SETPASSWORDCHAR, (WPARAM)password_char, 0);
+						} else {
+							// TODO W\x8Cn\x92\xBC\x8CĂ\xD1 \x81\xAB\x82\xA4\x82܂\xAD\x82\xA2\x82\xA9\x82Ȃ\xA2
+							//SendMessageW(hWnd, EM_SETPASSWORDCHAR, (WPARAM)password_char, 0);
+							SendMessageA(hWnd, EM_SETPASSWORDCHAR, (WPARAM)'*', 0);
+						}
+#else
+						SendMessageW(hWnd, EM_SETPASSWORDCHAR, (WPARAM)password_char, 0);
+#endif
+					}
+					//InvalidateRect(hWnd, NULL, TRUE);
+					SendDlgItemMessage(dlg, IDC_SSHPASSWORD, EM_SETSEL, 0, -1);
+					SendMessage(dlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(dlg, IDC_SSHPASSWORD), TRUE);
+					return TRUE;
+				}
+				break;
+			}
+			break;
+		}
+
+		case IDC_USERNAME_OPTION: {
+			TCHAR uimsg[MAX_UIMSG];
+			HMENU hMenu= CreatePopupMenu();
+			GetI18nStrT("TTSSH", "DLG_AUTH_PASTE_WINDOWS_USERNAME",
+						uimsg, _countof(uimsg),
+						"Paste &Windows username",
+						pvar->ts->UILanguageFile);
+			AppendMenu(hMenu, MF_ENABLED | MF_STRING, 1, uimsg);
+			RECT rect;
+			HWND hWndButton = GetDlgItem(dlg, IDC_USERNAME_OPTION);
+			GetWindowRect(hWndButton, &rect);
+			int result = TrackPopupMenu(hMenu, TPM_RETURNCMD, rect.left, rect.bottom, 0 , hWndButton, NULL);
+			DestroyMenu(hMenu);
+			switch (result) {
+			case 1: {
+				TCHAR user_name[UNLEN+1];
+				DWORD len = _countof(user_name);
+				BOOL r = GetUserName(user_name, &len);
+				if (r != 0) {
+					SetDlgItemText(dlg, IDC_SSHUSERNAME, user_name);
+					SendDlgItemMessage(dlg, IDC_SSHUSERNAME, EM_SETSEL, 0, -1);
+					SendMessage(dlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(dlg, IDC_SSHUSERNAME), TRUE);
+				}
+				break;
+			}
+			}
 			return TRUE;
 		}
 
@@ -1225,7 +1334,7 @@
 	SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg);
 
 	init_auth_machine_banner(pvar, dlg);
-	init_password_control(pvar, dlg, IDC_SSHPASSWORD);
+	init_password_control(pvar, dlg, IDC_SSHPASSWORD, NULL);
 
 	if (pvar->auth_state.TIS_prompt != NULL) {
 		if (strlen(pvar->auth_state.TIS_prompt) > 10000) {
@@ -1363,50 +1472,32 @@
 
 static void init_default_auth_dlg(PTInstVar pvar, HWND dlg)
 {
-	char uimsg[MAX_UIMSG];
+	int id;
+	TCHAR user_name[UNLEN+1];
+	DWORD len;
+	TCHAR uimsg[MAX_UIMSG];
+	TCHAR uimsg2[MAX_UIMSG];
+	const static DlgTextInfo text_info[] = {
+		{ 0, "DLG_AUTHSETUP_TITLE" },
+		{ IDC_SSHAUTHBANNER, "DLG_AUTHSETUP_BANNER" },
+		{ IDC_SSH_NO_USERNAME, "DLG_AUTHSETUP_NO_USERNAME" },
+		{ IDC_SSH_DEFAULTUSERNAME, "DLG_AUTHSETUP_USERNAME" },
+		{ IDC_SSH_WINDOWS_USERNAME, "DLG_AUTHSETUP_SYSTEM_USERNAME" },
+		{ IDC_SSH_WINDOWS_USERNAME_TEXT, "DLG_AUTHSETUP_SYSTEM_USERNAME_TEXT" },
+		{ IDC_SSHUSEPASSWORD, "DLG_AUTHSETUP_METHOD_PASSWORD" },
+		{ IDC_SSHUSERSA, "DLG_AUTHSETUP_METHOD_RSA" },
+		{ IDC_SSHUSERHOSTS, "DLG_AUTHSETUP_METHOD_RHOST" },
+		{ IDC_SSHUSETIS, "DLG_AUTHSETUP_METHOD_CHALLENGE" },
+		{ IDC_SSHUSEPAGEANT, "DLG_AUTHSETUP_METHOD_PAGEANT" },
+		{ IDC_RSAFILENAMELABEL, "DLG_AUTH_PRIVATEKEY" },
+		{ IDC_LOCALUSERNAMELABEL, "DLG_AUTH_LOCALUSER" },
+		{ IDC_HOSTRSAFILENAMELABEL, "DLG_AUTH_HOST_PRIVATEKEY" },
+		{ IDC_CHECKAUTH, "DLG_AUTHSETUP_CHECKAUTH" },
+		{ IDOK, "BTN_OK" },
+		{ IDCANCEL, "BTN_CANCEL" },
+	};
 
-	GetWindowText(dlg, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_TITLE", pvar, uimsg);
-	SetWindowText(dlg, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHAUTHBANNER, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_BANNER", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHAUTHBANNER, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_USERNAME", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSERNAMELABEL, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSEPASSWORD, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_PASSWORD", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSEPASSWORD, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSERSA, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_RSA", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSERSA, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSERHOSTS, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_RHOST", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSERHOSTS, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSETIS, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_CHALLENGE", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSETIS, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_SSHUSEPAGEANT, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_METHOD_PAGEANT", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_SSHUSEPAGEANT, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_CHOOSERSAFILE, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_PRIVATEKEY", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_CHOOSERSAFILE, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_LOCALUSER", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_LOCALUSERNAMELABEL, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTH_HOST_PRIVATEKEY", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_CHOOSEHOSTRSAFILE, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDC_CHECKAUTH, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("DLG_AUTHSETUP_CHECKAUTH", pvar, uimsg);
-	SetDlgItemText(dlg, IDC_CHECKAUTH, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("BTN_OK", pvar, uimsg);
-	SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
-	GetDlgItemText(dlg, IDCANCEL, uimsg, sizeof(uimsg));
-	UTIL_get_lang_msg("BTN_CANCEL", pvar, uimsg);
-	SetDlgItemText(dlg, IDCANCEL, pvar->ts->UIMsg);
+	SetI18DlgStrs("TTSSH", dlg, text_info, _countof(text_info), pvar->ts->UILanguageFile);
 
 	switch (pvar->settings.DefaultAuthMethod) {
 	case SSH_AUTH_RSA:
@@ -1443,6 +1534,22 @@
 	if (pvar->settings.CheckAuthListFirst) {
 		CheckDlgButton(dlg, IDC_CHECKAUTH, TRUE);
 	}
+
+	if (pvar->session_settings.DefaultUserName[0] == 0) {
+		// \x8B\xF3\x82Ȃ̂Łu\x93\xFC\x97͂\xB5\x82Ȃ\xA2\x81v\x82ɂ\xB5\x82Ă\xA8\x82\xAD
+		pvar->session_settings.DefaultUserType = 0;
+	}
+	id = pvar->settings.DefaultUserType == 1 ? IDC_SSH_DEFAULTUSERNAME :
+		pvar->settings.DefaultUserType == 2 ? IDC_SSH_WINDOWS_USERNAME :
+		IDC_SSH_NO_USERNAME;
+	CheckRadioButton(dlg, IDC_SSH_NO_USERNAME, IDC_SSH_WINDOWS_USERNAME, id);
+
+	len = _countof(user_name);
+	GetUserName(user_name, &len);
+
+	GetDlgItemText(dlg, IDC_SSH_WINDOWS_USERNAME_TEXT, uimsg, _countof(uimsg));
+	_stprintf_s(uimsg2, _countof(uimsg2), uimsg, user_name);
+	SetDlgItemText(dlg, IDC_SSH_WINDOWS_USERNAME_TEXT, uimsg2);
 }
 
 static BOOL end_default_auth_dlg(PTInstVar pvar, HWND dlg)
@@ -1474,6 +1581,9 @@
 	GetDlgItemText(dlg, IDC_LOCALUSERNAME,
 	               pvar->settings.DefaultRhostsLocalUserName,
 	               sizeof(pvar->settings.DefaultRhostsLocalUserName));
+	pvar->settings.DefaultUserType =
+		IsDlgButtonChecked(dlg, IDC_SSH_DEFAULTUSERNAME) ? 1 :
+		IsDlgButtonChecked(dlg, IDC_SSH_WINDOWS_USERNAME) ? 2 : 0;
 
 	if (IsDlgButtonChecked(dlg, IDC_CHECKAUTH)) {
 		pvar->settings.CheckAuthListFirst = TRUE;

Modified: trunk/ttssh2/ttxssh/auth.h
===================================================================
--- trunk/ttssh2/ttxssh/auth.h	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/ttssh2/ttxssh/auth.h	2019-04-26 17:18:36 UTC (rev 7632)
@@ -73,7 +73,7 @@
 void AUTH_notify_end_error(PTInstVar pvar);
 void AUTH_end(PTInstVar pvar);
 void destroy_malloced_string(char **str);
-void init_password_control(PTInstVar pvar, HWND dlg, int item);
+void init_password_control(PTInstVar pvar, HWND dlg, int item, BOOL *UseControlChar);
 
 #define AUTH_get_cur_cred(pvar) (&(pvar)->auth_state.cur_cred)
 

Modified: trunk/ttssh2/ttxssh/resource.h
===================================================================
--- trunk/ttssh2/ttxssh/resource.h	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/ttssh2/ttxssh/resource.h	2019-04-26 17:18:36 UTC (rev 7632)
@@ -117,7 +117,6 @@
 #define IDC_ECDSA256_TYPE               1067
 #define IDC_HISTORY_LABEL               1068
 #define IDC_ECDSA384_TYPE               1068
-#define IDC_EDIT1                       1069
 #define IDC_FINGER_PRINT                1069
 #define IDC_SENDFILE_EDIT               1069
 #define IDC_PASSWD                      1069
@@ -177,7 +176,6 @@
 #define IDC_RECVFILE_TO                 1101
 #define IDC_CHOOSEHOSTRSAFILE           1102
 #define IDC_HOSTRSAFILENAME             1103
-#define IDC_EDIT3                       1103
 #define IDC_FP_RANDOMART                1103
 #define IDC_CONFIRM_PASSWD              1103
 #define IDC_TTSSH_ICON                  1104
@@ -201,7 +199,6 @@
 #define IDC_SSHUSEPAGEANT               1205
 #define IDC_SSHUSETIS2                  1206
 #define IDC_REMEMBERPASSWORD            1207
-#define IDC_EDIT2                       1208
 #define IDC_SENDFILE_TO                 1208
 #define IDC_SFTP_CONSOLE                1208
 #define IDC_REMOVEKEY_EDIT              1208
@@ -227,15 +224,22 @@
 #define IDC_SSHDYNFROMPORT              1228
 #define IDC_SSHFWDLOCALDYNAMIC_LISTEN   1229
 #define IDC_SSHDYNLISTENADDR            1230
-#define IDC_FROM_CLIPBOARD              1231
+#define IDC_SSHPASSWORD_OPTION          1231
+#define IDC_USERNAME_OPTION             1232
+#define IDC_HOSTRSAFILENAMELABEL        1235
+#define IDC_RSAFILENAMELABEL            1236
+#define IDC_SSH_NO_USERNAME             1237
+#define IDC_SSH_DEFAULTUSERNAME         1238
+#define IDC_SSH_WINDOWS_USERNAME        1239
+#define IDC_SSH_WINDOWS_USERNAME_TEXT   1241
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        115
+#define _APS_NEXT_RESOURCE_VALUE        118
 #define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1232
+#define _APS_NEXT_CONTROL_VALUE         1242
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif

Modified: trunk/ttssh2/ttxssh/ttxssh.c
===================================================================
--- trunk/ttssh2/ttxssh/ttxssh.c	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/ttssh2/ttxssh/ttxssh.c	2019-04-26 17:18:36 UTC (rev 7632)
@@ -446,6 +446,8 @@
 	}
 
 	READ_STD_STRING_OPTION(DefaultUserName);
+	settings->DefaultUserType = GetPrivateProfileInt("TTSSH", "DefaultUserType", 1, fileName);
+
 	READ_STD_STRING_OPTION(DefaultForwarding);
 	READ_STD_STRING_OPTION(DefaultRhostsLocalUserName);
 	READ_STD_STRING_OPTION(DefaultRhostsHostPrivateKeyFile);
@@ -570,6 +572,8 @@
 	_itoa(settings->CompressionLevel, buf, 10);
 	WritePrivateProfileString("TTSSH", "Compression", buf, fileName);
 
+	_itoa(settings->DefaultUserType, buf, 10);
+	WritePrivateProfileString("TTSSH", "DefaultUserType", buf, fileName);
 	WritePrivateProfileString("TTSSH", "DefaultUserName",
 	                          settings->DefaultUserName, fileName);
 
@@ -4398,8 +4402,8 @@
 		}
 #endif
 
-		init_password_control(pvar, dlg, IDC_KEY_EDIT);
-		init_password_control(pvar, dlg, IDC_CONFIRM_EDIT);
+		init_password_control(pvar, dlg, IDC_KEY_EDIT, NULL);
+		init_password_control(pvar, dlg, IDC_CONFIRM_EDIT, NULL);
 
 		// default key type
 		SendMessage(GetDlgItem(dlg, IDC_RSA_TYPE), BM_SETCHECK, BST_CHECKED, 0);

Modified: trunk/ttssh2/ttxssh/ttxssh.h
===================================================================
--- trunk/ttssh2/ttxssh/ttxssh.h	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/ttssh2/ttxssh/ttxssh.h	2019-04-26 17:18:36 UTC (rev 7632)
@@ -136,6 +136,8 @@
 typedef struct _TS_SSH {
 	BOOL Enabled;
 	int CompressionLevel; /* 0 = NONE, else 1-9 */
+
+	int DefaultUserType;	/* 0/1/2 = no input/DefaultUserName/Windows logon user */
 	char DefaultUserName[256];
 
 	/* this next option is a string of digits. Each digit represents a

Modified: trunk/ttssh2/ttxssh/ttxssh.rc
===================================================================
--- trunk/ttssh2/ttxssh/ttxssh.rc	2019-04-26 17:16:12 UTC (rev 7631)
+++ trunk/ttssh2/ttxssh/ttxssh.rc	2019-04-26 17:18:36 UTC (rev 7632)
@@ -19,10 +19,8 @@
 // \x89p\x8C\xEA (\x95č\x91) resources
 
 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 #pragma code_page(1252)
-#endif //_WIN32
 
 /////////////////////////////////////////////////////////////////////////////
 //
@@ -51,42 +49,41 @@
     DEFPUSHBUTTON   "OK",IDOK,112,310,50,14
 END
 
-IDD_SSHAUTH DIALOGEX 0, 0, 330, 262
+IDD_SSHAUTH DIALOGEX 0, 0, 307, 247
 STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "SSH Authentication"
 FONT 8, "Tahoma", 0, 0, 0x0
 BEGIN
     LTEXT           "Logging in to %s",IDC_SSHAUTHBANNER,6,3,166,10
-    LTEXT           "Authentication required.",IDC_SSHAUTHBANNER2,6,16,296,10
-    RTEXT           "User &name:",IDC_SSHUSERNAMELABEL,13,31,57,8,0,WS_EX_RIGHT
-    EDITTEXT        IDC_SSHUSERNAME,75,29,145,12,ES_AUTOHSCROLL
-    RTEXT           "&Passphrase:",IDC_SSHPASSWORDCAPTION,14,48,56,8,0,WS_EX_RIGHT
-    EDITTEXT        IDC_SSHPASSWORD,75,46,145,12,ES_PASSWORD | ES_AUTOHSCROLL
-    PUSHBUTTON      "&From Clipboard",IDC_FROM_CLIPBOARD,225,46,60,14
+    LTEXT           "Authentication required.",IDC_SSHAUTHBANNER2,6,16,281,10
+    LTEXT           "User &name:",IDC_SSHUSERNAMELABEL,17,31,46,8
+    EDITTEXT        IDC_SSHUSERNAME,73,29,146,12,ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_USERNAME_OPTION,224,28,14,14,BS_BITMAP
+    LTEXT           "&Passphrase:",IDC_SSHPASSWORDCAPTION,17,46,47,8
+    EDITTEXT        IDC_SSHPASSWORD,73,44,146,12,ES_PASSWORD | ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_SSHPASSWORD_OPTION,224,43,14,14
     CONTROL         "Remember password in &memory",IDC_REMEMBER_PASSWORD,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,75,61,132,10
-    CONTROL         "F&orward agent",IDC_FORWARD_AGENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,75,74,132,10
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,61,132,10
+    CONTROL         "F&orward agent",IDC_FORWARD_AGENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,75,132,10
     CONTROL         "Use p&lain password to log in",IDC_SSHUSEPASSWORD,
-                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,94,219,10
+                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,102,252,10
     CONTROL         "Use &RSA/DSA/ECDSA/ED25519 key to log in",IDC_SSHUSERSA,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,122,152,10
-    CONTROL         "Use r&hosts to log in (SSH1)",IDC_SSHUSERHOSTS,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,149,99,10
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,16,115,251,10
+    CONTROL         "Use r&hosts to log in (SSH1)",IDC_SSHUSERHOSTS,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,17,140,250,10
     CONTROL         "Use SSH1:challenge/response(&TIS) / SSH2:keyboard-interactive to log in",IDC_SSHUSETIS,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,193,300,10
-    CONTROL         "Use P&ageant to log in",IDC_SSHUSEPAGEANT,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,219,276,10
-    PUSHBUTTON      "Private &key file:",IDC_CHOOSERSAFILE,169,120,58,14,WS_GROUP
-    EDITTEXT        IDC_RSAFILENAME,231,121,89,13,ES_AUTOHSCROLL
-    RTEXT           "Local &user name:",IDC_LOCALUSERNAMELABEL,120,150,91,8,0,WS_EX_RIGHT
-    EDITTEXT        IDC_LOCALUSERNAME,214,148,106,13,ES_AUTOHSCROLL
-    PUSHBUTTON      "Host private key &file:",IDC_CHOOSEHOSTRSAFILE,92,164,73,14
-    EDITTEXT        IDC_HOSTRSAFILENAME,169,164,151,13,ES_AUTOHSCROLL
-    DEFPUSHBUTTON   "OK",IDOK,96,242,50,14,WS_GROUP
-    PUSHBUTTON      "&Disconnect",IDCANCEL,183,242,50,14
-    GROUPBOX        "",IDC_STATIC,6,85,320,25
-    GROUPBOX        "",IDC_STATIC,6,113,320,25
-    GROUPBOX        "",IDC_STATIC,6,140,320,42
-    GROUPBOX        "",IDC_STATIC,6,184,320,25
-    GROUPBOX        "",IDC_STATIC,6,210,320,25
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,17,187,252,10
+    CONTROL         "Use P&ageant to log in",IDC_SSHUSEPAGEANT,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,17,203,249,8
+    LTEXT           "Private &key file:",IDC_RSAFILENAMELABEL,29,129,88,8
+    EDITTEXT        IDC_RSAFILENAME,122,127,150,13,ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_CHOOSERSAFILE,276,127,13,13,WS_GROUP
+    LTEXT           "Local &user name:",IDC_LOCALUSERNAMELABEL,29,155,88,8
+    EDITTEXT        IDC_LOCALUSERNAME,122,153,106,13,ES_AUTOHSCROLL
+    LTEXT           "Host private key &file:",IDC_HOSTRSAFILENAMELABEL,28,173,88,8
+    EDITTEXT        IDC_HOSTRSAFILENAME,122,171,151,13,ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_CHOOSEHOSTRSAFILE,276,171,13,13
+    DEFPUSHBUTTON   "OK",IDOK,199,227,50,14,WS_GROUP
+    PUSHBUTTON      "&Disconnect",IDCANCEL,255,227,47,14
+    GROUPBOX        "Authentication methods ",IDC_STATIC,6,89,295,132
 END
 
 IDD_HOSTDLG DIALOGEX 20, 20, 240, 128
@@ -214,37 +211,39 @@
     DEFPUSHBUTTON   "&Disconnect",IDCANCEL,145,256,50,14,WS_GROUP
 END
 
-IDD_SSHAUTHSETUP DIALOGEX 0, 0, 330, 228
+IDD_SSHAUTHSETUP DIALOGEX 0, 0, 305, 345
 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "TTSSH: Authentication Setup"
 FONT 8, "Tahoma", 0, 0, 0x0
 BEGIN
     LTEXT           "Select defaults for authentication:",IDC_SSHAUTHBANNER,6,7,166,10
-    LTEXT           "User &name:",IDC_SSHUSERNAMELABEL,13,24,57,8,0,WS_EX_RIGHT
-    EDITTEXT        IDC_SSHUSERNAME,75,22,145,12,ES_AUTOHSCROLL
+    GROUPBOX        "User name",IDC_STATIC,6,22,295,88
+    CONTROL         "&Do not enter username",IDC_SSH_NO_USERNAME,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,35,152,10
+    CONTROL         "U&se following username",IDC_SSH_DEFAULTUSERNAME,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,50,152,10
+    CONTROL         "Us&e system username",IDC_SSH_WINDOWS_USERNAME,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,78,152,10
+    EDITTEXT        IDC_SSHUSERNAME,35,62,145,12,ES_AUTOHSCROLL
+    LTEXT           "Current username is ""%s""",IDC_SSH_WINDOWS_USERNAME_TEXT,35,93,128,10
+    GROUPBOX        "Authentication methods ",IDC_STATIC,6,120,295,200
     CONTROL         "Use p&lain password to log in",IDC_SSHUSEPASSWORD,
-                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,45,120,10
+                    "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,19,134,120,10
     CONTROL         "Use &RSA/DSA/ECDSA/ED25519 key to log in",IDC_SSHUSERSA,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,73,152,10
-    CONTROL         "Use r&hosts to log in (SSH1)",IDC_SSHUSERHOSTS,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,100,99,10
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,148,152,10
+    CONTROL         "Use r&hosts to log in (SSH1)",IDC_SSHUSERHOSTS,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,191,99,10
     CONTROL         "Use SSH1:challenge/response(&TIS) / SSH2:keyboard-interactive to log in",IDC_SSHUSETIS,
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,144,300,10
-    CONTROL         "Use P&ageant to log in",IDC_SSHUSEPAGEANT,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,171,278,10
-    PUSHBUTTON      "Private &key file:",IDC_CHOOSERSAFILE,169,72,58,14,WS_GROUP
-    EDITTEXT        IDC_RSAFILENAME,231,73,89,13,ES_AUTOHSCROLL
-    RTEXT           "Local &user name:",IDC_LOCALUSERNAMELABEL,118,100,91,8,0,WS_EX_RIGHT
-    EDITTEXT        IDC_LOCALUSERNAME,214,99,106,13,ES_AUTOHSCROLL
-    PUSHBUTTON      "Host private key &file:",IDC_CHOOSEHOSTRSAFILE,92,114,73,14
-    EDITTEXT        IDC_HOSTRSAFILENAME,169,115,151,13,ES_AUTOHSCROLL
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,271,282,10
+    CONTROL         "Use P&ageant to log in",IDC_SSHUSEPAGEANT,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,19,286,278,10
+    LTEXT           "Private &key file:",IDC_RSAFILENAMELABEL,35,160,144,8
+    EDITTEXT        IDC_RSAFILENAME,46,172,153,13,ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_CHOOSERSAFILE,207,172,15,14,WS_GROUP
+    LTEXT           "Local &user name:",IDC_LOCALUSERNAMELABEL,35,206,91,8
+    EDITTEXT        IDC_LOCALUSERNAME,46,219,106,13,ES_AUTOHSCROLL
+    LTEXT           "Host private key &file:",IDC_HOSTRSAFILENAMELABEL,35,234,165,8
+    EDITTEXT        IDC_HOSTRSAFILENAME,46,247,151,13,ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_CHOOSEHOSTRSAFILE,210,246,15,14
     CONTROL         "&Check the enabled authentication methods before login (SSH2)",IDC_CHECKAUTH,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,192,281,10
-    DEFPUSHBUTTON   "OK",IDOK,96,207,50,14,WS_GROUP
-    PUSHBUTTON      "Cancel",IDCANCEL,183,207,50,14
-    GROUPBOX        "",IDC_STATIC,6,36,320,25
-    GROUPBOX        "",IDC_STATIC,6,64,320,25
-    GROUPBOX        "",IDC_STATIC,6,91,320,42
-    GROUPBOX        "",IDC_STATIC,6,135,320,25
-    GROUPBOX        "",IDC_STATIC,6,162,320,25
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,303,281,10
+    DEFPUSHBUTTON   "OK",IDOK,195,324,50,14,WS_GROUP
+    PUSHBUTTON      "Cancel",IDCANCEL,251,324,50,14
 END
 
 IDD_SSHFWDSETUP DIALOGEX 0, 0, 309, 185
@@ -449,7 +448,7 @@
 //
 
 #ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
+GUIDELINES DESIGNINFO
 BEGIN
     IDD_ABOUTDIALOG, DIALOG
     BEGIN
@@ -463,8 +462,23 @@
     BEGIN
         LEFTMARGIN, 6
         RIGHTMARGIN, 302
+        VERTGUIDE, 17
+        VERTGUIDE, 28
+        VERTGUIDE, 40
+        VERTGUIDE, 73
+        VERTGUIDE, 117
+        VERTGUIDE, 122
+        VERTGUIDE, 219
+        VERTGUIDE, 224
+        VERTGUIDE, 276
+        VERTGUIDE, 287
         TOPMARGIN, 3
-        BOTTOMMARGIN, 256
+        BOTTOMMARGIN, 241
+        HORZGUIDE, 35
+        HORZGUIDE, 50
+        HORZGUIDE, 133
+        HORZGUIDE, 159
+        HORZGUIDE, 177
     END
 
     IDD_HOSTDLG, DIALOG
@@ -501,9 +515,12 @@
     IDD_SSHAUTHSETUP, DIALOG
     BEGIN
         LEFTMARGIN, 6
-        RIGHTMARGIN, 302
+        RIGHTMARGIN, 301
+        VERTGUIDE, 19
+        VERTGUIDE, 35
+        VERTGUIDE, 46
         TOPMARGIN, 7
-        BOTTOMMARGIN, 221
+        BOTTOMMARGIN, 338
     END
 
     IDD_SSHFWDSETUP, DIALOG
@@ -602,7 +619,10 @@
 
 2 TEXTINCLUDE 
 BEGIN
-    "#include ""afxres.h""\r\n"
+    "#include <windows.h>\r\n"
+    "#ifndef IDC_STATIC\r\n"
+    "#define IDC_STATIC -1\r\n"
+    "#endif\r\n"
     "\0"
 END
 
@@ -623,8 +643,27 @@
 // Icon with lowest ID value placed first to ensure application icon
 // remains consistent on all systems.
 IDI_SECURETT            ICON                    "ttsecure.ico"
+
 IDI_SECURETT_GREEN      ICON                    "ttsecure_green.ico"
+
 IDI_SECURETT_YELLOW     ICON                    "ttsecure_yellow.ico"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// AFX_DIALOG_LAYOUT
+//
+
+IDD_SSHAUTH AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_SSHAUTHSETUP AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
 #endif    // \x89p\x8C\xEA (\x95č\x91) resources
 /////////////////////////////////////////////////////////////////////////////
 


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