From 5a016db9b6bbc811e569f85f59c55659fc821cb8 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 28 Jan 2005 21:28:08 +0000 Subject: [PATCH] Don't allow the user to specify a filter file that is excluded by a daemon's config options. --- exclude.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/exclude.c b/exclude.c index 88f2cbbb..351c6e4b 100644 --- a/exclude.c +++ b/exclude.c @@ -27,6 +27,7 @@ #include "rsync.h" extern int verbose; +extern int am_server; extern int eol_nulls; extern int list_only; extern int recurse; @@ -817,9 +818,17 @@ void add_filter_file(struct filter_list_struct *listp, const char *fname, if (!fname || !*fname) return; - if (*fname != '-' || fname[1]) - fp = fopen(fname, "rb"); - else + if (*fname != '-' || fname[1] || am_server) { + if (server_filter_list.head) { + strlcpy(line, fname, sizeof line); + clean_fname(line, 1); + if (check_filter(&server_filter_list, line, 0) < 0) + fp = NULL; + else + fp = fopen(line, "rb"); + } else + fp = fopen(fname, "rb"); + } else fp = stdin; if (!fp) { if (xflags & XFLG_FATAL_ERRORS) { -- 2.34.1