From 3b93db99f8c5b89663a8cfa740d511769bdbec84 Mon Sep 17 00:00:00 2001 From: Rudd-O Date: Wed, 24 Oct 2018 08:00:20 +0000 Subject: [PATCH] Fix logic bug. --- init/functions | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/init/functions b/init/functions index 81d571d..68edab8 100644 --- a/init/functions +++ b/init/functions @@ -1,7 +1,8 @@ #!/bin/bash # Location of files which contains list of protected files -PROTECTED_FILE_LIST='/etc/qubes/protected-files.d /rw/qubes/protected-files.d' +PROTECTED_FILE_LIST='/etc/qubes/protected-files.d' +PER_VM_PROTECTED_FILE_LIST='/rw/qubes/protected-files.d' qsvc() { # Returns whether a service is enabled. @@ -100,7 +101,16 @@ reload_random_seed() { } is_protected_file() { - grep -Fxrq --exclude='*.rpmsave' --exclude='*~' --exclude='*.rpmnew' --exclude='*.rpmold' -- "${1}" $PROTECTED_FILE_LIST 2>/dev/null + local ret=0 + local pfilelist + for pfilelist in "$PROTECTED_FILE_LIST" "$PER_VM_PROTECTED_FILE_LIST" ; do + if test -d "$pfilelist" ; then + # If this succeeds, we return immediately to the caller. + # If not, we let the loop continue. + grep -Fxrq --exclude='*.rpmsave' --exclude='*~' --exclude='*.rpmnew' --exclude='*.rpmold' -- "${1}" "$pfilelist" 2>/dev/null && return 0 || ret="$?" + fi + done + return "$ret" } umount_retry() {