Trust the sender on a local transfer.
[rsync.git] / main.c
diff --git a/main.c b/main.c
index 9f36904dd0daf5cdf9163b30700c88c1ab23f9ee..0c60b86d134e3e466e222a66c749418182e3ca8b 100644 (file)
--- a/main.c
+++ b/main.c
@@ -89,6 +89,8 @@ extern int backup_dir_len;
 extern int basis_dir_cnt;
 extern int default_af_hint;
 extern int stdout_format_has_i;
+extern int trust_sender_filter;
+extern int trust_sender_args;
 extern struct stats stats;
 extern char *stdout_format;
 extern char *logfile_format;
@@ -1471,8 +1473,10 @@ static int start_client(int argc, char *argv[])
        }
 
        /* A local transfer doesn't unbackslash anything, so leave the args alone. */
-       if (local_server)
+       if (local_server) {
                old_style_args = 2;
+               trust_sender_args = trust_sender_filter = 1;
+       }
 
        if (!rsync_port && remote_argc && !**remote_argv) /* Turn an empty arg into a dot dir. */
                *remote_argv = ".";