summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rdiff-backup/CHANGELOG3
-rw-r--r--rdiff-backup/rdiff_backup/eas_acls.py6
2 files changed, 8 insertions, 1 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 10b7f72..9821b2b 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.1.18 (????/??/??)
---------------------------
+Ignore Extended Attributes which have Unicode characters outside the current
+system representation. These will be correctly handled when rdiff-backup
+switches to Python 3, which will have full Unicode support. (Andrew Ferguson)
New in v1.1.17 (2008/07/17)
diff --git a/rdiff-backup/rdiff_backup/eas_acls.py b/rdiff-backup/rdiff_backup/eas_acls.py
index 6b1e128..856b700 100644
--- a/rdiff-backup/rdiff_backup/eas_acls.py
+++ b/rdiff-backup/rdiff_backup/eas_acls.py
@@ -150,7 +150,11 @@ def EA2Record(ea):
if not val: str_list.append(name)
else:
encoded_val = base64.encodestring(val).replace('\n', '')
- str_list.append('%s=0s%s' % (C.acl_quote(name), encoded_val))
+ try:
+ str_list.append('%s=0s%s' % (C.acl_quote(name), encoded_val))
+ except UnicodeEncodeError:
+ log.Log("Warning: unable to store Unicode extended attribute %s"
+ % repr(name), 3)
return '\n'.join(str_list)+'\n'
def Record2EA(record):