samba-bugs@samba.org
2007-Oct-26 01:17 UTC
DO NOT REPLY [Bug 5043] New: Qualified non-inherited filter rules may be ignored
https://bugzilla.samba.org/show_bug.cgi?id=5043 Summary: Qualified non-inherited filter rules may be ignored Product: rsync Version: 2.6.9 Platform: x64 OS/Version: Linux Status: NEW Severity: normal Priority: P3 Component: core AssignedTo: wayned@samba.org ReportedBy: wolfgang.mayer@unisa.edu.au QAContact: rsync-qa@samba.org It seems that under certain conditions, local filter rules where the pattern is anchored with '/' to prevent rule propagation to sub-directories leads to these rules being dropped entirely. The following simplified example demonstrates the problem: $ TESTDIR=/tmp/rsync-test $ mkdir -p $TESTDIR/{root/{a/b,b/a/c},dst} $ echo "- /a" > $TESTDIR/root/.rsync-filter The following fails to exclude $TESTDIR/root/a, despite the per-directory filter rule stating that sub-directory 'a' should not be considered: $ cd $TESTDIR/dst $ rsync -avvFFR $TESTDIR/root/ $TESTDIR/dst/ sending incremental file list [sender] hiding file /tmp/rsync-test/root/.rsync-filter because of pattern .rsync-filter delta-transmission disabled for local transfer or --whole-file /tmp/ /tmp/rsync-test/ /tmp/rsync-test/root/ /tmp/rsync-test/root/a/ /tmp/rsync-test/root/a/b/ /tmp/rsync-test/root/b/ /tmp/rsync-test/root/b/a/ /tmp/rsync-test/root/b/a/c/ total: matches=0 hash_hits=0 false_alarms=0 data=0 Running rsync without '-R' works as expected, and changing into a directory above $TESTDIR/root and using the relative path to $TESTDIR/root also seems to work without problems. We're running rsync version 2.6.9 protocol version 29, on Fedora7/x86_64 and CentOS5/{i686,x86_64}. The same behaviour appears in the latest version from CVS [3.0.0pre2 protocol version 30.PR12]. -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2007-Oct-26 02:07 UTC
DO NOT REPLY [Bug 5043] Qualified non-inherited filter rules may be ignored
https://bugzilla.samba.org/show_bug.cgi?id=5043 ------- Comment #1 from hashproduct+rsync@gmail.com 2007-10-25 21:07 CST ------- I can reproduce the problem in the latest CVS rsync. The problem appears to be that in rule_matches, rsync prepends an extra copy of the working directory to the rule pattern because the "name++;" on line 531 of exclude.c controverts the "*name != '/'" test on line 541. -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2007-Oct-26 16:58 UTC
DO NOT REPLY [Bug 5043] Qualified non-inherited filter rules may be ignored
https://bugzilla.samba.org/show_bug.cgi?id=5043 wayned@samba.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from wayned@samba.org 2007-10-26 11:58 CST ------- Thanks for the analysis, Matt. I've fixed the bug in CVS. I verified the fix using your test case, Wolfgang, so thanks for the detailed report! -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.