Browse Source

[Postfix] Sanitize string in smtpd last login script with printf

andryyy 4 years ago
parent
commit
9245bd8636
1 changed files with 2 additions and 1 deletions
  1. 2 1
      data/Dockerfiles/postfix/smtpd_last_login.sh

+ 2 - 1
data/Dockerfiles/postfix/smtpd_last_login.sh

@@ -16,7 +16,8 @@ while read QUERY; do
     echo -ne "action=dunno\n\n"
     echo -ne "action=dunno\n\n"
   # We found a username, log and return
   # We found a username, log and return
   elif [[ "${QUERY[0]}" =~ sasl_username ]]; then
   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"
     echo -ne "action=dunno\n\n"
   fi
   fi
 done
 done