]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - unix/uxplink.c
Key rollover: rewrite the PGP keys manual appendix.
[PuTTY.git] / unix / uxplink.c
index ee45dc045883782753643928c3b092b181df290b..6290a2c2a713b7adb2a4bd7fc1debd99591ae058 100644 (file)
@@ -113,14 +113,12 @@ static void *backhandle;
 static Conf *conf;
 
 /*
- * Default settings that are specific to pterm.
+ * Default settings that are specific to Unix plink.
  */
 char *platform_default_s(const char *name)
 {
     if (!strcmp(name, "TermType"))
        return dupstr(getenv("TERM"));
-     if (!strcmp(name, "UserName"))
-       return get_username();
     if (!strcmp(name, "SerialLine"))
        return dupstr("/dev/ttyS0");
     return NULL;
@@ -542,7 +540,7 @@ void uxsel_input_remove(int id) { }
  */
 static void usage(void)
 {
-    printf("PuTTY Link: command-line connection utility\n");
+    printf("Plink: command-line connection utility\n");
     printf("%s\n", ver);
     printf("Usage: plink [options] [user@]host [command]\n");
     printf("       (\"host\" can also be a PuTTY saved session name)\n");
@@ -556,6 +554,8 @@ static void usage(void)
     printf("  -P port   connect to specified port\n");
     printf("  -l user   connect with specified username\n");
     printf("  -batch    disable all interactive prompts\n");
+    printf("  -sercfg configuration-string (e.g. 19200,8,n,1,X)\n");
+    printf("            Specify the serial configuration (serial only)\n");
     printf("The following options only apply to SSH connections:\n");
     printf("  -pw passw login with specified password\n");
     printf("  -D [listen-IP:]listen-port\n");
@@ -570,16 +570,16 @@ static void usage(void)
     printf("  -1 -2     force use of particular protocol version\n");
     printf("  -4 -6     force use of IPv4 or IPv6\n");
     printf("  -C        enable compression\n");
-    printf("  -i key    private key file for authentication\n");
+    printf("  -i key    private key file for user authentication\n");
     printf("  -noagent  disable use of Pageant\n");
     printf("  -agent    enable use of Pageant\n");
+    printf("  -hostkey aa:bb:cc:...\n");
+    printf("            manually specify a host key (may be repeated)\n");
     printf("  -m file   read remote command(s) from file\n");
     printf("  -s        remote command is an SSH subsystem (SSH-2 only)\n");
     printf("  -N        don't start a shell/command (SSH-2 only)\n");
     printf("  -nc host:port\n");
     printf("            open tunnel in place of session (SSH-2 only)\n");
-    printf("  -sercfg configuration-string (e.g. 19200,8,n,1,X)\n");
-    printf("            Specify the serial configuration (serial only)\n");
     exit(1);
 }
 
@@ -880,6 +880,18 @@ int main(int argc, char **argv)
      */
     cmdline_run_saved(conf);
 
+    /*
+     * If we have no better ideas for the remote username, use the local
+     * one, as 'ssh' does.
+     */
+    if (conf_get_str(conf, CONF_username)[0] == '\0') {
+       char *user = get_username();
+       if (user) {
+           conf_set_str(conf, CONF_username, user);
+           sfree(user);
+       }
+    }
+
     /*
      * Apply subsystem status.
      */