summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2009-03-02 18:03:11 +0000
committerowsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2009-03-02 18:03:11 +0000
commitfd3974b70af83b4e329b01a2d1acf7eaf1122c2a (patch)
tree22ff7441aeee2a6fdd442810316a5fab8b6bd593
parent6c4fd0c8cf685bc2860d5033e80d7f2271f2f8a3 (diff)
downloadrdiff-backup-fd3974b70af83b4e329b01a2d1acf7eaf1122c2a.tar.gz
Don't crash when filesytem can't set ACL.
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/branches/r1-2@1029 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r--rdiff-backup/CHANGELOG3
-rw-r--r--rdiff-backup/rdiff_backup/eas_acls.py10
2 files changed, 12 insertions, 1 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 2efe209..6b8db63 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.2.7 (????/??/??)
---------------------------
+Don't crash when filesystem can't set ACL. Thanks to Matt Thompson for the bug
+report. (Andrew Ferguson)
+
Properly disable hardlinks by default on Windows.
Fix Python 2.2 compatibility. Closes Savannah bug #25529. (Andrew Ferguson)
diff --git a/rdiff-backup/rdiff_backup/eas_acls.py b/rdiff-backup/rdiff_backup/eas_acls.py
index 7052373..da01051 100644
--- a/rdiff-backup/rdiff_backup/eas_acls.py
+++ b/rdiff-backup/rdiff_backup/eas_acls.py
@@ -377,7 +377,15 @@ def set_rp_acl(rp, entry_list = None, default_entry_list = None,
assert rp.conn is Globals.local_connection
if entry_list: acl = list_to_acl(entry_list, map_names)
else: acl = posix1e.ACL()
- acl.applyto(rp.path)
+
+ try:
+ acl.applyto(rp.path)
+ except IOError, exc:
+ if exc[0] == errno.EOPNOTSUPP:
+ log.Log("Warning: unable to set ACL on %s: %s" %
+ (repr(rp.path), exc), 4)
+ return
+ else: raise
if rp.isdir():
if default_entry_list: