diff --git a/Makefile b/Makefile
index d59305140..3100d40a3 100644
--- a/Makefile
+++ b/Makefile
@@ -361,11 +361,24 @@ lint-xml:
-name "*.xml*" -type f -print0 | xargs -0 -n1 xmllint --noout
lint-model:
+ # XXX "default" must be changed to upper case "Default"
@for MODEL in $$(find ${.CURDIR}/src/opnsense/mvc/app/models -depth 3 \
-name "*.xml"); do \
(xmllint $${MODEL} --xpath '//*[@type and not(@type="ArrayField") and (not(Required) or Required="N") and default]' 2> /dev/null | grep '^<' || true) | while read LINE; do \
echo "$${MODEL}: $${LINE} has a spurious default value set"; \
done; \
+ (xmllint $${MODEL} --xpath '//*[@type and not(@type="ArrayField") and default=""]' 2> /dev/null | grep '^<' || true) | while read LINE; do \
+ echo "$${MODEL}: $${LINE} has an empty default value set"; \
+ done; \
+ (xmllint $${MODEL} --xpath '//*[@type and not(@type="ArrayField") and BlankDesc="None"]' 2> /dev/null | grep '^<' || true) | while read LINE; do \
+ echo "$${MODEL}: $${LINE} blank description is the default"; \
+ done; \
+ (xmllint $${MODEL} --xpath '//*[@type and not(@type="ArrayField") and BlankDesc and Required="Y"]' 2> /dev/null | grep '^<' || true) | while read LINE; do \
+ echo "$${MODEL}: $${LINE} blank description not applicable on required field"; \
+ done; \
+ (xmllint $${MODEL} --xpath '//*[@type and not(@type="ArrayField") and BlankDesc and Multiple="Y"]' 2> /dev/null | grep '^<' || true) | while read LINE; do \
+ echo "$${MODEL}: $${LINE} blank description not applicable on multiple field"; \
+ done; \
done
SCRIPTDIRS!= find ${.CURDIR}/src/opnsense/scripts -type d -depth 1
diff --git a/src/opnsense/mvc/app/models/OPNsense/CaptivePortal/CaptivePortal.xml b/src/opnsense/mvc/app/models/OPNsense/CaptivePortal/CaptivePortal.xml
index 0ea1bef10..343d3bfb6 100644
--- a/src/opnsense/mvc/app/models/OPNsense/CaptivePortal/CaptivePortal.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/CaptivePortal/CaptivePortal.xml
@@ -19,7 +19,7 @@
Y
- Y
+ Y
lan
/^(?!0).*$/
@@ -29,7 +29,7 @@
N
- Y
+ Y
0
@@ -40,14 +40,14 @@
Y
- 0
+ 0
0
10080
Idle timeout, in minutes, must be between 0 (no timeout) and 10080 (a week)
Y
- 0
+ 0
0
10080
Hard timeout, in minutes, must be between 0 (no timeout) and 10080 (a week)
diff --git a/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml b/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml
index 776655afe..ae29901b2 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Diagnostics/Netflow.xml
@@ -8,14 +8,14 @@
N
- Y
+ Y
/^(?!0).*$/
N
- Y
+ Y
/^(?!0).*$/
diff --git a/src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.xml b/src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.xml
index d51f31cb2..d3823b7cb 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.xml
@@ -78,7 +78,7 @@
name
- Y
+ Y
Related category not found.
N
diff --git a/src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml b/src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml
index d272c84cb..bbe81be7f 100644
--- a/src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/IDS/IDS.xml
@@ -35,7 +35,7 @@
0
- Y
+ Y
Disabled
Alert
@@ -53,12 +53,12 @@
- Y
+ Y
Related ruleset not found.
N
- Y
+ Y
N
Policy rule not found.
@@ -157,7 +157,7 @@
Y
wan
- Y
+ Y
Y
/^(?!0).*$/
diff --git a/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml b/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml
index 2d1b2778f..8ddb64600 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Monit/Monit.xml
@@ -25,7 +25,7 @@
127.0.0.1
Y
- Y
+ Y
/^([0-9a-zA-Z\.,_\-:]){0,1024}$/u
lower
Please specify a valid servername or IP address.
@@ -96,7 +96,7 @@
N
- Y
+ Y
N
@@ -241,7 +241,7 @@
N
- N
+ N
Y
/^(?!0).*$/
@@ -267,7 +267,7 @@
Related item not found
- Y
+ Y
N
@@ -279,7 +279,7 @@
Related item not found
- Y
+ Y
N
diff --git a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
index 22197534b..3c14e955a 100644
--- a/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/OpenVPN/OpenVPN.xml
@@ -193,7 +193,6 @@
N
crl
- None
Please select a valid certificate from the list
@@ -250,7 +249,7 @@
N
- Y
+ Y
AES-256-GCM
AES-128-GCM
@@ -259,7 +258,7 @@
N
- Y
+ Y
AES-256-GCM
AES-128-GCM
@@ -279,15 +278,12 @@
N
- Y
- None
+ Y
-
- N
-
+
N
- Y
+ Y
client-to-client
duplicate-cn
diff --git a/src/opnsense/mvc/app/models/OPNsense/Proxy/Proxy.xml b/src/opnsense/mvc/app/models/OPNsense/Proxy/Proxy.xml
index 376ebb0e1..0ec8c55e5 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Proxy/Proxy.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Proxy/Proxy.xml
@@ -10,7 +10,6 @@
N
- opnsense
Squid
OPNsense
@@ -256,7 +255,7 @@
N
- Y
+ Y
S
/^(?!0).*$/
@@ -340,7 +339,7 @@
N
- Y
+ Y
/^(?!0).*$/
/^((?!dhcp).)*$/
@@ -516,7 +515,7 @@
N
- Y
+ Y
N
@@ -714,7 +713,7 @@
Y
- Y
+ Y
Y
@@ -740,7 +739,7 @@
Y
- Y
+ Y
diff --git a/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.xml b/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.xml
index b5b9a0951..180a1a705 100644
--- a/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/TrafficShaper/TrafficShaper.xml
@@ -158,7 +158,7 @@
1
100
- 100
+ 100
Y
Weight must be between 1...100