Skip to content

Commit 3855224

Browse files
committed
Allow special character inside redis password
1 parent f231861 commit 3855224

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

core/files/entrypoint_fpm.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ term_proc() {
99
trap term_proc SIGTERM
1010

1111
change_php_vars() {
12+
ESCAPED=$(printf '%s\n' "$REDIS_PASSWORD" | sed -e 's/[\/&]/\\&/g')
1213
for FILE in /etc/php/*/fpm/php.ini
1314
do
1415
[[ -e $FILE ]] || break
@@ -23,8 +24,8 @@ change_php_vars() {
2324
echo "Configure PHP | Setting 'max_input_time = ${PHP_MAX_INPUT_TIME}'"
2425
sed -i "s/max_input_time = .*/max_input_time = ${PHP_MAX_INPUT_TIME}/" "$FILE"
2526
sed -i "s/session.save_handler = .*/session.save_handler = redis/" "$FILE"
26-
echo "Configure PHP | Setting 'session.save_path = '$(echo $REDIS_HOST | grep -E '^\w+://' || echo tcp://$REDIS_HOST):6379?auth=${REDIS_PASSWORD}'"
27-
sed -i "s|.*session.save_path = .*|session.save_path = '$(echo $REDIS_HOST | grep -E '^\w+://' || echo tcp://$REDIS_HOST):6379?auth=${REDIS_PASSWORD}'|" "$FILE"
27+
echo "Configure PHP | Setting 'session.save_path = '$(echo $REDIS_HOST | grep -E '^\w+://' || echo tcp://$REDIS_HOST):$REDIS_PORT?auth=${ESCAPED}'"
28+
sed -i "s|.*session.save_path = .*|session.save_path = '$(echo $REDIS_HOST | grep -E '^\w+://' || echo tcp://$REDIS_HOST):$REDIS_PORT?auth=${ESCAPED}'|" "$FILE"
2829
sed -i "s/session.sid_length = .*/session.sid_length = 64/" "$FILE"
2930
sed -i "s/session.use_strict_mode = .*/session.use_strict_mode = 1/" "$FILE"
3031
done

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ services:
1313

1414
redis:
1515
image: valkey/valkey:7.2
16-
command: "--requirepass ${REDIS_PASSWORD:-redispassword}"
16+
command: "--requirepass '${REDIS_PASSWORD:-redispassword}'"
1717
healthcheck:
18-
test: "valkey-cli -a ${REDIS_PASSWORD:-redispassword} ping || exit 1"
18+
test: "valkey-cli -a '${REDIS_PASSWORD:-redispassword}' -p ${REDIS_PORT:-6379} ping | grep -q PONG || exit 1"
1919
interval: 2s
2020
timeout: 1s
2121
retries: 3

template.env

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,10 @@ SYNCSERVERS_1_PULL_RULES=
8383
# MYSQL_ROOT_PASSWORD=
8484
# MYSQL_DATABASE=
8585

86-
# optional and used to set redis password
86+
# optional and used to set redis
8787
# REDIS_HOST=
8888
# REDIS_PORT=
89+
# remember to escape special character '$', e.g., 'test1%<$1323>' becomes 'test1%<$$1323>'
8990
# REDIS_PASSWORD=
9091

9192
# These variables allows overriding some MISP email values.

0 commit comments

Comments
 (0)