diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml b/src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
index d3ea98262..1258c368d 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+++ b/src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
@@ -128,10 +128,8 @@
Log packets that are handled by this rule
- rule.nopfsync
-
- checkbox
- Hint: This prevents states created by this rule to be sync'ed over pfsync.
+ header
+
rule.statetype
@@ -149,6 +147,19 @@
Interface bound states are more secure, floating more flexible
+
+ rule.statetimeout
+
+ text
+ State Timeout in seconds (TCP only)
+ true
+
+
+ rule.nopfsync
+
+ checkbox
+ Hint: This prevents states created by this rule to be sync'ed over pfsync.
+ header
diff --git a/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php b/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
index 788975f9b..785c8330c 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+++ b/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
@@ -118,6 +118,18 @@ class Filter extends BaseModel
$rule->interfacenot->__reference
));
}
+ if ($rule->statetype == 'none' && !empty((string)$rule->statetimeout)) {
+ $messages->appendMessage(new Message(
+ gettext("You cannot specify the state timeout (advanced option) if statetype is none."),
+ $rule->statetimeout->__reference
+ ));
+ }
+ if (!in_array($rule->protocol, ['TCP', 'TCP/UDP']) && !empty((string)$rule->statetimeout)) {
+ $messages->appendMessage(new Message(
+ gettext("You can only specify the state timeout (advanced option) for TCP protocol."),
+ $rule->statetimeout->__reference
+ ));
+ }
}
}
}
diff --git a/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml b/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
index 1025734d7..73afc51d3 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
@@ -139,6 +139,10 @@
0Y
+
+ 1
+ 65536
+