add -e (passed to rsh)
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13849 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -43,6 +43,7 @@ int pflag, iamremote, iamrecursive, targetshouldbedirectory;
|
|||||||
int doencrypt, noencrypt;
|
int doencrypt, noencrypt;
|
||||||
int usebroken, usekrb4, usekrb5, forwardtkt;
|
int usebroken, usekrb4, usekrb5, forwardtkt;
|
||||||
char *port;
|
char *port;
|
||||||
|
int eflag = 0;
|
||||||
|
|
||||||
#define CMDNEEDS 64
|
#define CMDNEEDS 64
|
||||||
char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */
|
char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */
|
||||||
@@ -71,6 +72,7 @@ struct getargs args[] = {
|
|||||||
{ NULL, 'x', arg_flag, &doencrypt, "use encryption" },
|
{ NULL, 'x', arg_flag, &doencrypt, "use encryption" },
|
||||||
{ NULL, 'z', arg_flag, &noencrypt, "don't encrypt" },
|
{ NULL, 'z', arg_flag, &noencrypt, "don't encrypt" },
|
||||||
{ NULL, 'd', arg_flag, &targetshouldbedirectory },
|
{ NULL, 'd', arg_flag, &targetshouldbedirectory },
|
||||||
|
{ NULL, 'e', arg_flag, &eflag, "passed to rsh" },
|
||||||
{ NULL, 'f', arg_flag, &fflag },
|
{ NULL, 'f', arg_flag, &fflag },
|
||||||
{ NULL, 't', arg_flag, &tflag },
|
{ NULL, 't', arg_flag, &tflag },
|
||||||
{ "version", 0, arg_flag, &version_flag },
|
{ "version", 0, arg_flag, &version_flag },
|
||||||
@@ -189,16 +191,18 @@ toremote(char *targ, int argc, char **argv)
|
|||||||
else if (!okname(suser))
|
else if (!okname(suser))
|
||||||
continue;
|
continue;
|
||||||
asprintf(&bp,
|
asprintf(&bp,
|
||||||
"%s %s -l %s -n %s %s '%s%s%s:%s'",
|
"%s%s %s -l %s -n %s %s '%s%s%s:%s'",
|
||||||
_PATH_RSH, host, suser, cmd, src,
|
_PATH_RSH, eflag ? " -e" : "",
|
||||||
|
host, suser, cmd, src,
|
||||||
tuser ? tuser : "", tuser ? "@" : "",
|
tuser ? tuser : "", tuser ? "@" : "",
|
||||||
thost, targ);
|
thost, targ);
|
||||||
} else {
|
} else {
|
||||||
asprintf(&bp,
|
asprintf(&bp,
|
||||||
"exec %s %s -n %s %s '%s%s%s:%s'",
|
"exec %s%s %s -n %s %s '%s%s%s:%s'",
|
||||||
_PATH_RSH, argv[i], cmd, src,
|
_PATH_RSH, eflag ? " -e" : "",
|
||||||
tuser ? tuser : "", tuser ? "@" : "",
|
argv[i], cmd, src,
|
||||||
thost, targ);
|
tuser ? tuser : "", tuser ? "@" : "",
|
||||||
|
thost, targ);
|
||||||
}
|
}
|
||||||
if (bp == NULL)
|
if (bp == NULL)
|
||||||
err (1, "malloc");
|
err (1, "malloc");
|
||||||
@@ -768,6 +772,8 @@ do_cmd(char *host, char *remuser, char *cmd, int *fdin, int *fdout)
|
|||||||
args[i++] = "-p";
|
args[i++] = "-p";
|
||||||
args[i++] = port;
|
args[i++] = port;
|
||||||
}
|
}
|
||||||
|
if (eflag)
|
||||||
|
args[i++] = "-e";
|
||||||
if (remuser != NULL) {
|
if (remuser != NULL) {
|
||||||
args[i++] = "-l";
|
args[i++] = "-l";
|
||||||
args[i++] = remuser;
|
args[i++] = remuser;
|
||||||
|
Reference in New Issue
Block a user