From: Stephan Toggweiler <609601+rheoli@users.noreply.github.com> Date: Fri, 21 Jul 2023 07:15:07 +0000 (+0200) Subject: [Fix] dmarc gramar - allow spaces before ";" X-Git-Tag: 3.6~29^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F4547%2Fhead;p=thirdparty%2Frspamd.git [Fix] dmarc gramar - allow spaces before ";" The ABNF in https://www.rfc-editor.org/rfc/rfc7489#section-6.4 define that its allowed to have spaces before ";" --- diff --git a/lualib/plugins/dmarc.lua b/lualib/plugins/dmarc.lua index b080324b03..24efb50783 100644 --- a/lualib/plugins/dmarc.lua +++ b/lualib/plugins/dmarc.lua @@ -241,7 +241,7 @@ local function gen_dmarc_grammar() lpeg.locale(lpeg) local space = lpeg.space^0 local name = lpeg.C(lpeg.alpha^1) * space - local sep = (lpeg.S("\\;") * space) + (lpeg.space^1) + local sep = space * (lpeg.S("\\;") * space) + (lpeg.space^1) local value = lpeg.C(lpeg.P(lpeg.graph - sep)^1) local pair = lpeg.Cg(name * "=" * space * value) * sep^-1 local list = lpeg.Cf(lpeg.Ct("") * pair^0, rawset) @@ -357,4 +357,4 @@ end exports.dmarc_check_record = dmarc_check_record -return exports \ No newline at end of file +return exports