patch for consideration - support empty '@' in do_cmd()
matthew patton
pattonme at yahoo.com
Thu Oct 18 06:24:22 UTC 2018
It's not exactly un-common to use an "empty" @ in SCP or SFTP connection strings. Rsync though injects a dangling '-l' when constructing the SSH command-line.
Sure, maybe the answer is "stop doing that" but the fix is really simple and I think worth implementing.
diff --git a/main.c b/main.c
index 99dae1c1..d8713cc6 100644
--- a/main.c
+++ b/main.c
@@ -485,15 +485,12 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char **remote_argv, in
#ifdef HAVE_REMSH
/* remsh (on HPUX) takes the arguments the other way around */
args[argc++] = machine;
- if (user && !(daemon_over_rsh && dash_l_set)) {
- args[argc++] = "-l";
- args[argc++] = user;
- }
-#else
- if (user && !(daemon_over_rsh && dash_l_set)) {
+#endif
+ if (user && *user != '\0' && !(daemon_over_rsh && dash_l_set)) {
args[argc++] = "-l";
args[argc++] = user;
}
+#ifndef HAVE_REMSH
args[argc++] = machine;
#endif
More information about the rsync
mailing list