]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Allow double quotes in selectors arguments and escapes
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 21 Aug 2018 17:30:28 +0000 (18:30 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 21 Aug 2018 17:30:55 +0000 (18:30 +0100)
lualib/lua_selectors.lua

index 7a14340ec002cdeb112c2fee47315c577a3c1d8d..3efdfe123699bc00c84aace09fa2eee3f9ef370c 100644 (file)
@@ -455,7 +455,9 @@ local function make_grammar()
   local l = require "lpeg"
   local spc = l.S(" \t\n")^0
   local atom = l.C((l.R("az") + l.R("AZ") + l.R("09") + l.S("_-"))^1)
-  local argument = atom + (l.P("'") * l.C((1-l.S("'"))^0) * l.P("'"))
+  local singlequoted_string = l.P "'" * l.C(((1 - l.S "'\r\n\f\\") + (l.P'\\' * 1))^0) * "'"
+  local doublequoted_string = l.P '"' * l.C(((1 - l.S'"\r\n\f\\') + (l.P'\\' * 1))^0) * '"'
+  local argument = atom + singlequoted_string + doublequoted_string
   local dot = l.P(".")
   local obrace = "(" * spc
   local ebrace = spc * ")"