audit: get right protection mask for base directories in the lists

Use the paths' protection mask where available instead of the parent
paths'. ref #1241
cute-signatures
Timo Teräs 2012-07-09 14:59:40 +03:00
parent dde96976d3
commit 5aa6998459
1 changed files with 14 additions and 6 deletions

View File

@ -167,14 +167,22 @@ static int audit_directory_tree_item(void *ctx, int dirfd, const char *name)
int recurse = TRUE;
child = apk_db_dir_query(db, bfull);
if (actx->mode == MODE_BACKUP) {
if (!dbd->has_protected_children)
recurse = FALSE;
if (!dbd->protected)
goto recurse_check;
if (child != NULL) {
if (actx->mode == MODE_BACKUP) {
if (!child->has_protected_children)
recurse = FALSE;
if (!child->protected)
goto recurse_check;
}
} else {
if (child == NULL)
if (actx->mode == MODE_BACKUP) {
if (!dbd->has_protected_children)
recurse = FALSE;
if (!dbd->protected)
goto recurse_check;
} else {
recurse = FALSE;
}
}
reason = audit_directory(actx, db, child, &fi);