From a9b725a7b1d3f089f2f3780bb37ffd3bb9865fcd Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 2 Aug 2026 21:27:08 +1000 Subject: [PATCH] exclude: path resolving to operator path supplied --filter file (cherry picked from commit 4572d1743ccc131f344310c06c50b02e990a0cf4) --- exclude.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exclude.c b/exclude.c index 724b78d7..74aa638f 100644 --- a/exclude.c +++ b/exclude.c @@ -41,6 +41,7 @@ extern int sanitize_paths; extern int protocol_version; extern int trust_sender_args; extern int module_id; +extern int operator_path_resolve; extern char curr_dir[MAXPATHLEN]; extern unsigned int curr_dir_len; @@ -1553,7 +1554,12 @@ void parse_filter_file(filter_rule_list *listp, const char *fname, const filter_ open_path = line; } else open_path = fname; + + int save_opr = operator_path_resolve; + operator_path_resolve = 1; fd = open_no_attacker_symlinks(open_path, O_RDONLY, 0); + operator_path_resolve = save_opr; + if (fd < 0) fp = NULL; else if (!(fp = fdopen(fd, "rb")))