瀏覽代碼

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

andryyy 4 年之前
父節點
當前提交
9245bd8636
共有 1 個文件被更改,包括 2 次插入1 次删除
  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"
   # 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