From 9245bd86365a3f15dae00779be1a1d80f3679478 Mon Sep 17 00:00:00 2001 From: andryyy Date: Fri, 6 Nov 2020 12:23:23 +0100 Subject: [PATCH] [Postfix] Sanitize string in smtpd last login script with printf --- data/Dockerfiles/postfix/smtpd_last_login.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/Dockerfiles/postfix/smtpd_last_login.sh b/data/Dockerfiles/postfix/smtpd_last_login.sh index b0fc989e..9d249af9 100755 --- a/data/Dockerfiles/postfix/smtpd_last_login.sh +++ b/data/Dockerfiles/postfix/smtpd_last_login.sh @@ -16,7 +16,8 @@ while read QUERY; do echo -ne "action=dunno\n\n" # We found a username, log and return elif [[ "${QUERY[0]}" =~ sasl_username ]]; then - ${REDIS_CMDLINE} SET "last-login/smtp/$(echo ${QUERY[0]#sasl_username=})" "$(date +%s)" + MUSER=$(printf "%q" ${QUERY[0]#sasl_username=}) + ${REDIS_CMDLINE} SET "last-login/smtp/$MUSER" "$(date +%s)" echo -ne "action=dunno\n\n" fi done