X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=cmdline.c;h=327a585a4580ed0ebada38e63a3059cb8108142a;hb=068b67d2f6e9b186b3107ebcb1e88a141b7b5ebc;hp=bafb939914af4ca0ea24165e40d104fcadff2bd1;hpb=85d1e7608ebbb8c717a7e64f13beb936ad51e1fd;p=PuTTY.git diff --git a/cmdline.c b/cmdline.c index bafb9399..327a585a 100644 --- a/cmdline.c +++ b/cmdline.c @@ -236,6 +236,21 @@ int cmdline_process_param(char *p, char *value, int need_save, Conf *conf) SAVEABLE(0); conf_set_str(conf, CONF_loghost, value); } + if (!strcmp(p, "-hostkey")) { + char *dup; + RETURN(2); + UNAVAILABLE_IN(TOOLTYPE_NONNETWORK); + SAVEABLE(0); + dup = dupstr(value); + if (!validate_manual_hostkey(dup)) { + cmdline_error("'%s' is not a valid format for a manual host " + "key specification", value); + sfree(dup); + return ret; + } + conf_set_str_str(conf, CONF_ssh_manual_hostkeys, dup, ""); + sfree(dup); + } if ((!strcmp(p, "-L") || !strcmp(p, "-R") || !strcmp(p, "-D"))) { char type, *q, *qq, *key, *val; RETURN(2); @@ -261,9 +276,9 @@ int cmdline_process_param(char *p, char *value, int need_save, Conf *conf) type = p[1]; /* 'L' or 'R' */ - q = qq = strchr(value, ':'); + q = qq = host_strchr(value, ':'); while (qq) { - char *qqq = strchr(qq+1, ':'); + char *qqq = host_strchr(qq+1, ':'); if (qqq) q = qq; qq = qqq; @@ -301,7 +316,7 @@ int cmdline_process_param(char *p, char *value, int need_save, Conf *conf) UNAVAILABLE_IN(TOOLTYPE_FILETRANSFER | TOOLTYPE_NONNETWORK); SAVEABLE(0); - portp = strchr(value, ':'); + portp = host_strchr(value, ':'); if (!portp) { cmdline_error("-nc expects argument of form 'host:port'"); return ret;