commit af9c1b5: [Minor] Lua_util: Add maybe_smtp_quote_value

Vsevolod Stakhov vsevolod at highsecure.ru
Mon Oct 12 16:14:06 UTC 2020


Author: Vsevolod Stakhov
Date: 2020-10-12 17:01:41 +0100
URL: https://github.com/rspamd/rspamd/commit/af9c1b5d66d1b63ae15746a8a0abdb0de76f7b4a

[Minor] Lua_util: Add maybe_smtp_quote_value

---
 lualib/lua_util.lua | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/lualib/lua_util.lua b/lualib/lua_util.lua
index bcb697e2c..a7a0e6938 100644
--- a/lualib/lua_util.lua
+++ b/lualib/lua_util.lua
@@ -1431,4 +1431,20 @@ exports.is_skip_local_or_authed = function(task, conf, ip)
   return false
 end
 
+---[[[
+-- @function lua_util.maybe_smtp_quote_value(str)
+-- Checks string for the forbidden elements (tspecials in RFC and quote string if needed)
+-- @param {string} str input string
+-- @return {string} original or quoted string
+--]]]
+local tspecial = lpeg.S"()<>@,;:\\\"/[]?= \t\v"
+local special_match = lpeg.P((1 - tspecial)^0 * tspecial^1)
+exports.maybe_smtp_quote_value = function(str)
+  if special_match:match(str) then
+    return string.format('"%s"', str:gsub('"', '\\"'))
+  end
+
+  return str
+end
+
 return exports


More information about the Commits mailing list