From: Wayne Davison Date: Wed, 14 Sep 2022 14:14:13 +0000 (-0700) Subject: Fix exclusion of /. with --relative. X-Git-Tag: v3.2.7pre1~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71c2b5d0e386b845fb2f4d427568451f098008ff;p=thirdparty%2Frsync.git Fix exclusion of /. with --relative. --- diff --git a/flist.c b/flist.c index 0b259cca..82d686a6 100644 --- a/flist.c +++ b/flist.c @@ -988,7 +988,7 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x exit_cleanup(RERR_UNSUPPORTED); } - if (*thisname != '.' || thisname[1] != '\0') { + if (*thisname == '/' ? thisname[1] != '.' || thisname[2] != '\0' : *thisname != '.' || thisname[1] != '\0') { int filt_flags = S_ISDIR(mode) ? NAME_IS_DIR : NAME_IS_FILE; if (!trust_sender_filter /* a per-dir filter rule means we must trust the sender's filtering */ && filter_list.head && check_server_filter(&filter_list, FINFO, thisname, filt_flags) < 0) {