chroots=$(dchroot -l 2>&1 | awk -F": " '{print $2}' | tr ' ' '\n')
method=dchroot
suffix[${#suffix[*]}]="_$(dpkg --print-architecture)"
+ allowed_filter='.'
elif [ -x /usr/bin/schroot ] ; then
chroots=$(schroot -l | awk -F":" '{print $2}' | grep -- '-dchroot$' )
method=schroot
suffix[${#suffix[*]}]=""
suffix[${#suffix[*]}]="-dchroot"
suffix[${#suffix[*]}]="-$(dpkg --print-architecture)-dchroot"
+ allowed_filter='-dchroot$'
else
echo >&2 "Cannot find chroot wrapper."
exit 1
echo >&2 "$CHROOT is not a valid dchroot. Available chroots are:"
echo "$chroots"
exit 1
+elif ! [[ "$requested_chroot" =~ $allowed_filter ]]; then # do not quote the regex
+ echo >&2 "$CHROOT is not a valid dchroot. While it exists, this script may not touch it. Chroot names must match $allowed_filter."
+ exit 1
fi
+
case "$APTCMD" in
install|remove|purge|build-dep|update|upgrade|dist-upgrade)
# those are the allowed apt sub-commands