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
	 Johan Danielsson
					Johan Danielsson