printf(" -pgpfp print PGP key fingerprints and exit\n");
printf(" -v show verbose messages\n");
printf(" -load sessname Load settings from saved session\n");
- printf(" -ssh -telnet -rlogin -raw\n");
+ printf(" -ssh -telnet -rlogin -raw -serial\n");
printf(" force use of a particular protocol\n");
printf(" -P port connect to specified port\n");
printf(" -l user connect with specified username\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);
}
int exitcode;
int errors;
int use_subsystem = 0;
+ int got_host = FALSE;
void *ldisc;
long now;
errors = 1;
}
} else if (*p) {
- if (!cfg_launchable(&cfg)) {
+ if (!cfg_launchable(&cfg) || !(got_host || loaded_session)) {
char *q = p;
/*
cfg.port = -1;
strncpy(cfg.host, q, sizeof(cfg.host) - 1);
cfg.host[sizeof(cfg.host) - 1] = '\0';
+ got_host = TRUE;
} else {
char *r, *user, *host;
/*
strncpy(cfg.host, host, sizeof(cfg.host) - 1);
cfg.host[sizeof(cfg.host) - 1] = '\0';
cfg.port = default_port;
+ got_host = TRUE;
} else {
cfg = cfg2;
+ loaded_session = TRUE;
}
}
if (errors)
return 1;
- if (!cfg_launchable(&cfg)) {
+ if (!cfg_launchable(&cfg) || !(got_host || loaded_session)) {
usage();
}