Commit 0d94b004 authored by owsla's avatar owsla

When unreadable dirs are updated, remove them from the list of dirs whose

permissions need to be reset later since we do it during the backup.


git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup@876 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
parent 41850a15
New in v1.1.16 (????/??/??) New in v1.1.16 (????/??/??)
--------------------------- ---------------------------
Correctly handle updates to nested directories with unreadable permissions.
Thanks to John Goerzen for the bug report. Closes Debian bugs #389134 and
#411849. (Andrew Ferguson)
Manpage improvements from Justin Pryzby. Manpage improvements from Justin Pryzby.
Improve the handling of directories with many small files when backing-up Improve the handling of directories with many small files when backing-up
......
...@@ -651,6 +651,15 @@ class PatchITRB(rorpiter.ITRBranch): ...@@ -651,6 +651,15 @@ class PatchITRB(rorpiter.ITRBranch):
"""Finish processing directory""" """Finish processing directory"""
if self.dir_update: if self.dir_update:
assert self.base_rp.isdir() assert self.base_rp.isdir()
if (Globals.process_uid != 0 and
self.dir_update.getperms() % 01000 < 0700):
# Directory's permissions were adjusted at the start to
# make it readable -- remove it from the list since they
# will be reset by the copy_attribs() call
self.CCPP.dir_perms_list.remove((self.base_rp,
self.dir_update.getperms()))
rpath.copy_attribs(self.dir_update, self.base_rp) rpath.copy_attribs(self.dir_update, self.base_rp)
elif self.dir_replacement: elif self.dir_replacement:
self.base_rp.rmdir() self.base_rp.rmdir()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment