stand: lua: module names should permit more

The module entries should generally allow whatever is allowed as an
env_var in the pattern table.  Notably, we're missing periods which
would allow proper entries for .dtb files in loader.conf that don't need
to specify a module_name entry for it.

%d in this expression is actually redundant as %w is actually
"all alphanumerics," but I've included it for now to match the env_var
entry.  We should really remove it from both.

Reported by:	"aribi" on the forums via allanjude@
Approved by:	re (gjb)

(cherry picked from commit 5bc1e0c228)
(cherry picked from commit 6b2f0a3c31)
This commit is contained in:
Kyle Evans 2023-09-04 21:21:34 -05:00
parent 34cffc25b7
commit 380f42e2ed

View File

@ -61,7 +61,10 @@ local MSG_FAILSYN_EOLESC = "Stray escape at end of line"
local MSG_FAILSYN_EOLVAR = "Unescaped $ at end of line"
local MSG_FAILSYN_BADVAR = "Malformed variable expression at position '%d'"
local MODULEEXPR = '([-%w_]+)'
-- MODULEEXPR should more or less allow the exact same set of characters as the
-- env_var entries in the pattern table. This is perhaps a good target for a
-- little refactoring.
local MODULEEXPR = '([%w%d-_.]+)'
local QVALEXPR = '"(.*)"'
local QVALREPL = QVALEXPR:gsub('%%', '%%%%')
local WORDEXPR = "([-%w%d][-%w%d_.]*)"