summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 54b48de..5fd39d5 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.3.2 (????/??/??)
---------------------------
+Don't crash when filesystem can't set ACL. Thanks to Matt Thompson for the bug
+report. (Andrew Ferguson)
+
Fix Security Error when performing non-backup operations on Windows. Thanks to
Tommy Keene for the bug report. (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: