From 420600f59943b8fd20a3cc6853b1d6e7a1bb2bb1 Mon Sep 17 00:00:00 2001 From: bescoto Date: Sat, 20 Aug 2005 06:06:07 +0000 Subject: Fix for bug 14209 (security violation with --restrict) git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@625 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/testing/securitytest.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'rdiff-backup/testing/securitytest.py') diff --git a/rdiff-backup/testing/securitytest.py b/rdiff-backup/testing/securitytest.py index f8796ff..cd83635 100644 --- a/rdiff-backup/testing/securitytest.py +++ b/rdiff-backup/testing/securitytest.py @@ -1,4 +1,4 @@ -import os, unittest, time +import os, unittest, time, traceback, sys from commontest import * import rdiff_backup.Security as Security @@ -12,7 +12,10 @@ class SecurityTest(unittest.TestCase): problem. """ - assert isinstance(exc, Security.Violation), exc + if not isinstance(exc, Security.Violation): + type, value, tb = sys.exc_info() + print "".join(traceback.format_tb(tb)) + raise exc #assert str(exc).find("Security") >= 0, "%s\n%s" % (exc, repr(exc)) def test_vet_request_ro(self): @@ -188,6 +191,15 @@ class SecurityTest(unittest.TestCase): extra_args = '-r now', success = 0) + def test_restrict_bug(self): + """Test for bug 14209 --- mkdir outside --restrict arg""" + Myrm('testfiles/output') + self.secure_rdiff_backup('testfiles/various_file_types', + 'testfiles/output', 1, + '--restrict foobar', success = 0) + output = rpath.RPath(Globals.local_connection, 'testfiles/output') + assert not output.lstat() + if __name__ == "__main__": unittest.main() -- cgit v1.2.1