|
Lines 273-279
Link Here
|
| 273 |
addargs(&args, "-l"); |
273 |
addargs(&args, "-l"); |
| 274 |
addargs(&args, "%s", remuser); |
274 |
addargs(&args, "%s", remuser); |
| 275 |
} |
275 |
} |
| 276 |
addargs(&args, "--"); |
276 |
/* "--" breaks some non-getopt clients, only use if needed */ |
|
|
277 |
if (strchr("-?*", host[0]) != NULL) |
| 278 |
addargs(&args, "--"); |
| 277 |
addargs(&args, "%s", host); |
279 |
addargs(&args, "%s", host); |
| 278 |
addargs(&args, "%s", cmd); |
280 |
addargs(&args, "%s", cmd); |
| 279 |
|
281 |
|
|
Lines 322-328
Link Here
|
| 322 |
addargs(&args, "-l"); |
324 |
addargs(&args, "-l"); |
| 323 |
addargs(&args, "%s", remuser); |
325 |
addargs(&args, "%s", remuser); |
| 324 |
} |
326 |
} |
| 325 |
addargs(&args, "--"); |
327 |
/* "--" breaks some non-getopt clients, only use if needed */ |
|
|
328 |
if (strchr("-?*", host[0]) != NULL) |
| 329 |
addargs(&args, "--"); |
| 326 |
addargs(&args, "%s", host); |
330 |
addargs(&args, "%s", host); |
| 327 |
addargs(&args, "%s", cmd); |
331 |
addargs(&args, "%s", cmd); |
| 328 |
|
332 |
|
|
Lines 601-612
Link Here
|
| 601 |
host = cleanhostname(argv[i]); |
605 |
host = cleanhostname(argv[i]); |
| 602 |
suser = NULL; |
606 |
suser = NULL; |
| 603 |
} |
607 |
} |
| 604 |
xasprintf(&bp, "%s -f -- %s", cmd, src); |
608 |
/* "--" breaks some non-getopt clients, only use if needed */ |
|
|
609 |
xasprintf(&bp, "%s -f %s%s", cmd, |
| 610 |
strchr("-?*", src[0]) != NULL ? "-- " : "", src); |
| 605 |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) |
611 |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) |
| 606 |
exit(1); |
612 |
exit(1); |
| 607 |
(void) xfree(bp); |
613 |
(void) xfree(bp); |
| 608 |
host = cleanhostname(thost); |
614 |
host = cleanhostname(thost); |
| 609 |
xasprintf(&bp, "%s -t -- %s", cmd, targ); |
615 |
xasprintf(&bp, "%s -t %s%s", cmd, |
|
|
616 |
strchr("-?*", targ[0]) != NULL ? "-- " : "", targ); |
| 610 |
if (do_cmd2(host, tuser, bp, remin, remout) < 0) |
617 |
if (do_cmd2(host, tuser, bp, remin, remout) < 0) |
| 611 |
exit(1); |
618 |
exit(1); |
| 612 |
(void) xfree(bp); |
619 |
(void) xfree(bp); |
|
Lines 641-647
Link Here
|
| 641 |
} else { |
648 |
} else { |
| 642 |
host = cleanhostname(argv[i]); |
649 |
host = cleanhostname(argv[i]); |
| 643 |
} |
650 |
} |
| 644 |
addargs(&alist, "--"); |
651 |
/* "--" breaks some non-getopt clients, only use if needed */ |
|
|
652 |
if (strchr("-?*", host[0]) != NULL) |
| 653 |
addargs(&alist, "--"); |
| 645 |
addargs(&alist, "%s", host); |
654 |
addargs(&alist, "%s", host); |
| 646 |
addargs(&alist, "%s", cmd); |
655 |
addargs(&alist, "%s", cmd); |
| 647 |
addargs(&alist, "%s", src); |
656 |
addargs(&alist, "%s", src); |
|
Lines 652-658
Link Here
|
| 652 |
errs = 1; |
661 |
errs = 1; |
| 653 |
} else { /* local to remote */ |
662 |
} else { /* local to remote */ |
| 654 |
if (remin == -1) { |
663 |
if (remin == -1) { |
| 655 |
xasprintf(&bp, "%s -t -- %s", cmd, targ); |
664 |
xasprintf(&bp, "%s -t %s%s", cmd, |
|
|
665 |
strchr("-?*", targ[0]) != NULL ? "-- " : "", targ); |
| 656 |
host = cleanhostname(thost); |
666 |
host = cleanhostname(thost); |
| 657 |
if (do_cmd(host, tuser, bp, &remin, |
667 |
if (do_cmd(host, tuser, bp, &remin, |
| 658 |
&remout) < 0) |
668 |
&remout) < 0) |
|
Lines 685-691
Link Here
|
| 685 |
addargs(&alist, "-r"); |
695 |
addargs(&alist, "-r"); |
| 686 |
if (pflag) |
696 |
if (pflag) |
| 687 |
addargs(&alist, "-p"); |
697 |
addargs(&alist, "-p"); |
| 688 |
addargs(&alist, "--"); |
698 |
/* "--" breaks some non-getopt clients, only use if needed */ |
|
|
699 |
if (strchr("-?*", argv[i][0]) != NULL) |
| 700 |
addargs(&alist, "--"); |
| 689 |
addargs(&alist, "%s", argv[i]); |
701 |
addargs(&alist, "%s", argv[i]); |
| 690 |
addargs(&alist, "%s", argv[argc-1]); |
702 |
addargs(&alist, "%s", argv[argc-1]); |
| 691 |
if (do_local_cmd(&alist)) |
703 |
if (do_local_cmd(&alist)) |
|
Lines 705-711
Link Here
|
| 705 |
suser = pwd->pw_name; |
717 |
suser = pwd->pw_name; |
| 706 |
} |
718 |
} |
| 707 |
host = cleanhostname(host); |
719 |
host = cleanhostname(host); |
| 708 |
xasprintf(&bp, "%s -f -- %s", cmd, src); |
720 |
xasprintf(&bp, "%s -f %s%s", cmd, |
|
|
721 |
strchr("-?*", src[0]) != NULL ? "-- " : "", src); |
| 709 |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) { |
722 |
if (do_cmd(host, suser, bp, &remin, &remout) < 0) { |
| 710 |
(void) xfree(bp); |
723 |
(void) xfree(bp); |
| 711 |
++errs; |
724 |
++errs; |