From 2e981b24cb15e7edecdbeee15a01c866c65178b3 Mon Sep 17 00:00:00 2001 From: bescoto Date: Thu, 15 Sep 2005 22:31:29 +0000 Subject: Check and fix for bug 14545 git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@633 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/CHANGELOG | 7 +++++++ rdiff-backup/rdiff_backup/Main.py | 4 +--- rdiff-backup/testing/securitytest.py | 7 +++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG index befe070..5f89072 100644 --- a/rdiff-backup/CHANGELOG +++ b/rdiff-backup/CHANGELOG @@ -1,3 +1,10 @@ +New in v1.0.2 (????/??/??) +-------------------------- + +Fix for bug 14545 which was introduced in version 1.0.1: Quoting +caused a spurious security violation. (Important for Mac OS X) + + New in v1.0.1 (2005/09/10) -------------------------- diff --git a/rdiff-backup/rdiff_backup/Main.py b/rdiff-backup/rdiff_backup/Main.py index db0295d..7e475c1 100644 --- a/rdiff-backup/rdiff_backup/Main.py +++ b/rdiff-backup/rdiff_backup/Main.py @@ -435,9 +435,7 @@ def backup_set_fs_globals(rpin, rpout): SetConnections.UpdateGlobal('fsync_directories', dest_fsa.fsync_dirs) SetConnections.UpdateGlobal('change_ownership', dest_fsa.ownership) SetConnections.UpdateGlobal('chars_to_quote', dest_fsa.chars_to_quote) - if Globals.chars_to_quote: - for conn in Globals.connections: - conn.FilenameMapping.set_init_quote_vals() + if Globals.chars_to_quote: FilenameMapping.set_init_quote_vals() def backup_touch_curmirror_local(rpin, rpout): """Make a file like current_mirror.time.data to record time diff --git a/rdiff-backup/testing/securitytest.py b/rdiff-backup/testing/securitytest.py index cd83635..4c566dc 100644 --- a/rdiff-backup/testing/securitytest.py +++ b/rdiff-backup/testing/securitytest.py @@ -200,6 +200,13 @@ class SecurityTest(unittest.TestCase): output = rpath.RPath(Globals.local_connection, 'testfiles/output') assert not output.lstat() + def test_quoting_bug(self): + """Test for bug 14545 --- quoting causes bad violation""" + Myrm('testfiles/output') + self.secure_rdiff_backup('testfiles/various_file_types', + 'testfiles/output', 1, '', + extra_args = '--override-chars-to-quote e') + if __name__ == "__main__": unittest.main() -- cgit v1.2.1