version 1.2, 2001/02/04 15:32:25 |
version 1.3, 2001/02/06 22:05:25 |
|
|
int |
int |
main(int argc, char **argv) |
main(int argc, char **argv) |
{ |
{ |
int in, out, i, debug_level, compress_flag; |
int in, out, ch, debug_level, compress_flag; |
pid_t sshpid; |
pid_t sshpid; |
char *cp; |
char *host, *userhost; |
LogLevel ll; |
LogLevel ll; |
|
extern int optind; |
|
extern char *optarg; |
|
|
debug_level = compress_flag = 0; |
debug_level = compress_flag = 0; |
for(i = 1; i < argc && argv[i][0] == '-'; i++) { |
|
if (!strcmp(argv[i], "-v")) |
while ((ch = getopt(argc, argv, "hCvo:")) != -1) { |
debug_level = MIN(3, debug_level + 1); |
switch (ch) { |
else if (!strcmp(argv[i], "-C")) |
case 'C': |
compress_flag = 1; |
compress_flag = 1; |
else if (!strncmp(argv[i], "-o", 2)) { |
break; |
make_ssh_args(argv[i]); |
case 'v': |
} else { |
debug_level = MIN(3, debug_level + 1); |
fprintf(stderr, "Unknown option \"%s\"\n", argv[i]); |
break; |
|
case 'o': |
|
make_ssh_args(optarg); |
|
break; |
|
case 'h': |
|
default: |
usage(); |
usage(); |
} |
} |
} |
} |
|
|
if (i == argc || argc > (i + 1)) |
if (optind == argc || argc > (optind + 1)) |
usage(); |
usage(); |
|
|
if ((cp = strchr(argv[i], '@')) == NULL) |
userhost = argv[optind]; |
cp = argv[i]; |
|
|
if ((host = strchr(userhost, '@')) == NULL) |
|
host = userhost; |
else { |
else { |
*cp = '\0'; |
*host = '\0'; |
if (!argv[i][0]) { |
if (!userhost[0]) { |
fprintf(stderr, "Missing username\n"); |
fprintf(stderr, "Missing username\n"); |
usage(); |
usage(); |
} |
} |
make_ssh_args("-l"); |
make_ssh_args("-l"); |
make_ssh_args(argv[i]); |
make_ssh_args(userhost); |
cp++; |
host++; |
} |
} |
|
|
if (!*cp) { |
if (!*host) { |
fprintf(stderr, "Missing hostname\n"); |
fprintf(stderr, "Missing hostname\n"); |
usage(); |
usage(); |
} |
} |
|
|
|
|
log_init(argv[0], ll, SYSLOG_FACILITY_USER, 1); |
log_init(argv[0], ll, SYSLOG_FACILITY_USER, 1); |
|
|
make_ssh_args(cp); |
make_ssh_args(host); |
|
|
fprintf(stderr, "Connecting to %s...\n", cp); |
fprintf(stderr, "Connecting to %s...\n", host); |
|
|
connect_to_server(make_ssh_args(NULL), &in, &out, &sshpid); |
connect_to_server(make_ssh_args(NULL), &in, &out, &sshpid); |
|
|