From 3093d47fd24506b1cfacdd9700e046d80461e658 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 10 Jul 2025 10:13:32 +0200 Subject: [PATCH] Framework: add more model linting --- Mk/plugins.mk | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Mk/plugins.mk b/Mk/plugins.mk index dda43024d..a7a0d3a54 100644 --- a/Mk/plugins.mk +++ b/Mk/plugins.mk @@ -388,6 +388,17 @@ lint-model: (xmllint $${MODEL} --xpath '//*[@type and not(@type="ArrayField") and OptionValues[default[not(@value)] or multiple[not(@value)] or required[not(@value)]]]' 2> /dev/null | grep '^<' || true) | while read LINE; do \ echo "$${MODEL}: $${LINE} option element default/multiple/required without value attribute"; \ done; \ + (xmllint $${MODEL} --xpath '//*[@type="CSVListField" and Mask and (not(MaskPerItem) or MaskPerItem=N)]' 2> /dev/null | grep '^<' || true) | while read LINE; do \ + echo "$${MODEL}: $${LINE} uses Mask regex with MaskPerItem=N"; \ + done; \ + for TYPE in .\\AliasesField .\\DomainIPField HostnameField IPPortField NetworkField MacAddressField .\\RangeAddressField; do \ + (xmllint $${MODEL} --xpath '//*[@type="'$${TYPE}'" and FieldSeparator=","]' 2> /dev/null | grep '^<' || true) | while read LINE; do \ + echo "$${MODEL}: $${LINE} FieldSeparator=, is the default"; \ + done; \ + (xmllint $${MODEL} --xpath '//*[@type="'$${TYPE}'" and AsList="N"]' 2> /dev/null | grep '^<' || true) | while read LINE; do \ + echo "$${MODEL}: $${LINE} AsList=N is the default"; \ + done; \ + done; \ done; fi ACLBIN?= ${.CURDIR}/../../../core/Scripts/dashboard-acl.sh