Merge pull request #204 from linuxserver/3.17-secrets

Warn about newlines in secrets (3.17)
This commit is contained in:
Adam 2023-11-11 21:32:24 +00:00 committed by GitHub
commit 585a3e642d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,17 +1,19 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
# shellcheck shell=bash # shellcheck shell=bash
if find /run/s6/container_environment/*"FILE__"* -maxdepth 1 > /dev/null 2>&1; then if find /run/s6/container_environment/FILE__* -maxdepth 1 > /dev/null 2>&1; then
for FILENAME in /run/s6/container_environment/*; do for FILENAME in /run/s6/container_environment/FILE__*; do
if [[ "${FILENAME##*/}" == "FILE__"* ]]; then
SECRETFILE=$(cat "${FILENAME}") SECRETFILE=$(cat "${FILENAME}")
if [[ -f ${SECRETFILE} ]]; then if [[ -f ${SECRETFILE} ]]; then
FILESTRIP=${FILENAME//FILE__/} FILESTRIP=${FILENAME//FILE__/}
if [[ $(tail -n1 "${SECRETFILE}" | wc -l) != 0 ]]; then
echo "[env-init] Your secret: ${FILENAME##*/}"
echo " contains a trailing newline and may not work as expected"
fi
cat "${SECRETFILE}" >"${FILESTRIP}" cat "${SECRETFILE}" >"${FILESTRIP}"
echo "[env-init] ${FILESTRIP##*/} set from ${FILENAME##*/}" echo "[env-init] ${FILESTRIP##*/} set from ${FILENAME##*/}"
else else
echo "[env-init] cannot find secret in ${FILENAME##*/}" echo "[env-init] cannot find secret in ${FILENAME##*/}"
fi fi
fi
done done
fi fi