7ccdacd294
In addition to significant internal differences in check_site_lib.lua (in particular unifying error handling to a single place for the upcoming multi-domain support), this changes the way fields are addressed in site check scripts: rather than providing a string like 'next_node.ip6', the path is passed as an array {'next_node', 'ip6'}. Other changes in site check scripts: * need_array and need_table now pass the full path to the sub fields to the subcheck instead of the key and value * Any check referring to a field inside a table implies that all higher levels must be tables if they exist: a check for {'next_node', 'ip6'} adds an implicit (optional) check for {'next_node'}, which allows to remove many explicit checks for such tables
16 lines
535 B
Lua
16 lines
535 B
Lua
need_string_match(in_domain({'next_node', 'mac'}), '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$', false)
|
|
|
|
if need_string_match(in_domain({'next_node', 'ip4'}), '^%d+.%d+.%d+.%d+$', false) then
|
|
need_string_match(in_domain({'prefix4'}), '^%d+.%d+.%d+.%d+/%d+$')
|
|
end
|
|
|
|
need_string_match(in_domain({'next_node', 'ip6'}), '^[%x:]+$', false)
|
|
|
|
|
|
for _, config in ipairs({'wifi24', 'wifi5'}) do
|
|
if need_table({config}, nil, false) then
|
|
need_string(in_domain({config, 'ap', 'ssid'}))
|
|
need_boolean({config, 'ap', 'disabled'}, false)
|
|
end
|
|
end
|