commit 3e684cd: [Minor] Allow utf8 identifiers in the selectors
Vsevolod Stakhov
vsevolod at highsecure.ru
Wed May 19 14:14:04 UTC 2021
Author: Vsevolod Stakhov
Date: 2021-05-19 15:10:21 +0100
URL: https://github.com/rspamd/rspamd/commit/3e684cd1590504ef6509edf75db59a9b7cda219d
[Minor] Allow utf8 identifiers in the selectors
---
lualib/lua_selectors/init.lua | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lualib/lua_selectors/init.lua b/lualib/lua_selectors/init.lua
index e971e14c3..1d49f4e5d 100644
--- a/lualib/lua_selectors/init.lua
+++ b/lualib/lua_selectors/init.lua
@@ -216,7 +216,11 @@ end
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 cont = l.R("\128\191") -- continuation byte
+ local utf8_high = l.R("\194\223") * cont
+ + l.R("\224\239") * cont * cont
+ + l.R("\240\244") * cont * cont * cont
+ local atom = l.C((l.R("az") + l.R("AZ") + l.R("09") + l.S("_-") + utf8_high)^1)
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
More information about the Commits
mailing list