summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rdiff-backup/CHANGELOG3
-rw-r--r--rdiff-backup/rdiff_backup/eas_acls.py2
2 files changed, 5 insertions, 0 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 64ead05..bc3cb4e 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.2.3 (????/??/??)
---------------------------
+Workaround for broken support for symlink extended attributes in pyxattr <
+0.2.2. Thanks to Leo Bergolth for reporting the issue. (Andrew Ferguson)
+
Handle ELOOP ("Too many levels of symbolic links") error when reading extended
attributes from symlinks. Closes Savannah bug #24790. (Andrew Ferguson)
diff --git a/rdiff-backup/rdiff_backup/eas_acls.py b/rdiff-backup/rdiff_backup/eas_acls.py
index 8fa4035..e13efd1 100644
--- a/rdiff-backup/rdiff_backup/eas_acls.py
+++ b/rdiff-backup/rdiff_backup/eas_acls.py
@@ -79,6 +79,8 @@ class ExtendedAttributes:
# File probably modified while reading, just continue
if exc[0] == errno.ENODATA: continue
elif exc[0] == errno.ENOENT: break
+ # Handle bug in pyxattr < 0.2.2
+ elif exc[0] == errno.ERANGE: continue
else: raise
def clear_rp(self, rp):