version 1.164, 2008/10/10 04:55:16 |
version 1.165, 2009/12/20 07:28:36 |
|
|
close(pout[1]); |
close(pout[1]); |
|
|
replacearg(&args, 0, "%s", ssh_program); |
replacearg(&args, 0, "%s", ssh_program); |
if (remuser != NULL) |
if (remuser != NULL) { |
addargs(&args, "-l%s", remuser); |
addargs(&args, "-l"); |
|
addargs(&args, "%s", remuser); |
|
} |
|
addargs(&args, "--"); |
addargs(&args, "%s", host); |
addargs(&args, "%s", host); |
addargs(&args, "%s", cmd); |
addargs(&args, "%s", cmd); |
|
|
|
|
case 'c': |
case 'c': |
case 'i': |
case 'i': |
case 'F': |
case 'F': |
addargs(&args, "-%c%s", ch, optarg); |
addargs(&args, "-%c", ch); |
|
addargs(&args, "%s", optarg); |
break; |
break; |
case 'P': |
case 'P': |
addargs(&args, "-p%s", optarg); |
addargs(&args, "-p"); |
|
addargs(&args, "%s", optarg); |
break; |
break; |
case 'B': |
case 'B': |
addargs(&args, "-oBatchmode yes"); |
addargs(&args, "-oBatchmode yes"); |
|
|
} else { |
} else { |
host = cleanhostname(argv[i]); |
host = cleanhostname(argv[i]); |
} |
} |
|
addargs(&alist, "--"); |
addargs(&alist, "%s", host); |
addargs(&alist, "%s", host); |
addargs(&alist, "%s", cmd); |
addargs(&alist, "%s", cmd); |
addargs(&alist, "%s", src); |
addargs(&alist, "%s", src); |
|
|
errs = 1; |
errs = 1; |
} else { /* local to remote */ |
} else { /* local to remote */ |
if (remin == -1) { |
if (remin == -1) { |
xasprintf(&bp, "%s -t %s", cmd, targ); |
xasprintf(&bp, "%s -t -- %s", cmd, targ); |
host = cleanhostname(thost); |
host = cleanhostname(thost); |
if (do_cmd(host, tuser, bp, &remin, |
if (do_cmd(host, tuser, bp, &remin, |
&remout) < 0) |
&remout) < 0) |
|
|
addargs(&alist, "-r"); |
addargs(&alist, "-r"); |
if (pflag) |
if (pflag) |
addargs(&alist, "-p"); |
addargs(&alist, "-p"); |
|
addargs(&alist, "--"); |
addargs(&alist, "%s", argv[i]); |
addargs(&alist, "%s", argv[i]); |
addargs(&alist, "%s", argv[argc-1]); |
addargs(&alist, "%s", argv[argc-1]); |
if (do_local_cmd(&alist)) |
if (do_local_cmd(&alist)) |
|
|
suser = pwd->pw_name; |
suser = pwd->pw_name; |
} |
} |
host = cleanhostname(host); |
host = cleanhostname(host); |
xasprintf(&bp, "%s -f %s", cmd, src); |
xasprintf(&bp, "%s -f -- %s", cmd, src); |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) { |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) { |
(void) xfree(bp); |
(void) xfree(bp); |
++errs; |
++errs; |