Skip to content
Permalink
Browse files

findlib: parent dirs should have consistent mode

Previously when creating parent directories Bareos handled the deepest
parent directory special and set permissions on it.
This surfaced when selecting only files, but not directories to restore.
In that case the directory that contains the files got a mode that was
derived from the file mode of the file being restored when the parent
directory was created.
While this in itself is already inconsistent, the effective mode was
also calculated by adding S_IWUSR and S_IXUSR which did not take group
or other in account.

This patch now makes sure that no permission on parent directories is
set explicitly, so you just get what the effective uid, gid and umask
will produce.

(cherry picked from commit 7058607)
  • Loading branch information
arogge committed Dec 17, 2019
1 parent fe22caa commit 68c99eb57b275e75166c05a79e71a72090d5a622
Showing with 1 addition and 1 deletion.
  1. +1 −1 core/src/findlib/mkpath.cc
@@ -266,7 +266,7 @@ bool makepath(Attributes *attr, const char *apath, mode_t mode, mode_t parent_mo
/*
* Set for final component
*/
if (i < ndir && new_dir[i++]) {
if (i < ndir && new_dir[i++] && !keep_dir_modes) {
SetOwnMod(attr, path, owner, group, mode);
}

0 comments on commit 68c99eb

Please sign in to comment.
You can’t perform that action at this time.