From 9425918d7495802599a5660a6e09b9ec8e3fd5a6 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 15 Jul 2005 19:06:43 +0000 Subject: [PATCH] Output a syntax error if both the source and destination are remote. --- NEWS | 4 ++++ main.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/NEWS b/NEWS index 7bb1d6b7..91220e72 100644 --- 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 c0196d25..5ebe2ddd 100644 --- 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) { -- 2.34.1