Fix docker_start.sh not properly handling env vars (#1993)

For example, the COLLECTIONS environment variable is supposed to do a space separated list.
But with the unquoted call to cscli_if_clean without quotes on the $COLLECTIONS environment variable, only the first entry is passed to it.
As a result, only the first entry is installed.

Would likely affect all call sites to cscli_if_clean
This commit is contained in:
Yip Rui Fung 2023-01-15 02:56:27 +08:00 committed by mmetc
parent 8f400f95de
commit a9a2186a76

View file

@ -265,43 +265,43 @@ cscli_if_clean parsers install crowdsecurity/docker-logs
if [ "$COLLECTIONS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean collections install $COLLECTIONS
cscli_if_clean collections install "$COLLECTIONS"
fi
if [ "$PARSERS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean parsers install $PARSERS
cscli_if_clean parsers install "$PARSERS"
fi
if [ "$SCENARIOS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean scenarios install $SCENARIOS
cscli_if_clean scenarios install "$SCENARIOS"
fi
if [ "$POSTOVERFLOWS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean postoverflows install $POSTOVERFLOWS
cscli_if_clean postoverflows install "$POSTOVERFLOWS"
fi
## Remove collections, parsers, scenarios & postoverflows
if [ "$DISABLE_COLLECTIONS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean collections remove $DISABLE_COLLECTIONS
cscli_if_clean collections remove "$DISABLE_COLLECTIONS"
fi
if [ "$DISABLE_PARSERS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean parsers remove $DISABLE_PARSERS
cscli_if_clean parsers remove "$DISABLE_PARSERS"
fi
if [ "$DISABLE_SCENARIOS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean scenarios remove $DISABLE_SCENARIOS
cscli_if_clean scenarios remove "$DISABLE_SCENARIOS"
fi
if [ "$DISABLE_POSTOVERFLOWS" != "" ]; then
# shellcheck disable=SC2086
cscli_if_clean postoverflows remove $DISABLE_POSTOVERFLOWS
cscli_if_clean postoverflows remove "$DISABLE_POSTOVERFLOWS"
fi
## Register bouncers via env