Output a syntax error if both the source and destination are remote.
authorWayne Davison <wayned@samba.org>
Fri, 15 Jul 2005 19:06:43 +0000 (19:06 +0000)
committerWayne Davison <wayned@samba.org>
Fri, 15 Jul 2005 19:06:43 +0000 (19:06 +0000)
NEWS
main.c

diff --git a/NEWS b/NEWS
index 7bb1d6b..91220e7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,10 @@ Changes since 2.6.5:
       ended in either a trailing slash or a trailing "/.", and a non-existing
       destination dir to tickle the bug in a recent version).
 
+    - If the user specifies a remote-host for both the source and destination,
+      we now output a syntax error rather than trying to open the destination
+      hostspec as a filename.
+
   ENHANCEMENTS:
 
     - Made the "max verbosity" setting in the rsyncd.conf file settable on a
diff --git a/main.c b/main.c
index c0196d2..5ebe2dd 100644 (file)
--- a/main.c
+++ b/main.c
@@ -872,6 +872,13 @@ static int start_client(int argc, char *argv[])
                argc--;
                shell_path = check_for_hostspec(argv[0], &shell_machine, &rsync_port);
                if (shell_path) { /* source is remote */
+                       char *dummy1;
+                       int dummy2;
+                       if (check_for_hostspec(argv[argc], &dummy1, &dummy2)) {
+                               rprintf(FERROR,
+                                       "The source and destination cannot both be remote.\n");
+                               exit_cleanup(RERR_SYNTAX);
+                       }
                        argv++;
                        if (filesfrom_host && *filesfrom_host
                            && strcmp(filesfrom_host, shell_machine) != 0) {