summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/live-helpers13
1 files changed, 9 insertions, 4 deletions
diff --git a/scripts/live-helpers b/scripts/live-helpers
index f13be57..26783f1 100644
--- a/scripts/live-helpers
+++ b/scripts/live-helpers
@@ -1281,10 +1281,15 @@ get_custom_mounts ()
dest="${source}"
fi
- if echo ${dest} | grep -qe "^/\+$\|^/\+live\(/.*\)\?$"
+ if trim_path ${source} | grep -qe "^\(.*/\)\?\.\.\?\(/.*\)\?$"
then
- # mounting on / or /live could cause trouble
- log_warning_msg "Skipping unsafe custom mount on ${dest}"
+ log_warning_msg "Skipping unsafe custom mount with source ${source}: the source is a relative or absolute path w.r.t. the persistent media root and cannot use \".\" or \"..\""
+ continue
+ fi
+
+ if trim_path ${dest} | grep -q -e "^/$" -e "^/live\(/.*\)\?$" -e "^/\(.*/\)\?\.\.\?\(/.*\)\?$"
+ then
+ log_warning_msg "Skipping unsafe custom mount with desination ${dest}: the destination must be an absolute path using neither \".\" nor \"..\", and cannot be /live (or any sub-directory therein) or / (for the latter, use ${root_overlay_label}-type persistence instead)"
continue
fi
@@ -1481,6 +1486,6 @@ fix_home_rw_compatibility ()
if [ ! -r "${include_list}" ]
then
echo "# home-rw backwards compatibility:
-. /home" > "${include_list}"
+/ /home" > "${include_list}"
fi
}