OPNSense/core 633a313src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.php Filter.xml

Firewall: NAT: Source NAT: add pool options and source hash key (#10815)
DeltaFile
+20-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+14-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+9-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+2-0src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+45-04 files

OPNSense/core 7729c98src/etc rc.freebsd

rc: add watchdog to shutdown, reboot and reload_all cases (#10813)

This will prevent shutdown/reboot actions from getting stuck indefinitely if a process misbehaves by ignoring the term signal. The timeout is set to 30 seconds and relies on the rc status call to provide a valid pid to determine if a process is stuck.
DeltaFile
+31-0src/etc/rc.freebsd
+31-01 files

OPNSense/core 0d8331bsrc/etc rc.freebsd

rc: keep this as it was
DeltaFile
+1-1src/etc/rc.freebsd
+1-11 files

OPNSense/core f4f93e7src/etc rc.freebsd

rc: remove equality check, current_pid can be anything
DeltaFile
+5-7src/etc/rc.freebsd
+5-71 files

OPNSense/core 760e601src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

Use values consistently
DeltaFile
+6-6src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+6-61 files

OPNSense/core 5847e45src/etc rc.freebsd

rc: log timeout case as well
DeltaFile
+2-0src/etc/rc.freebsd
+2-01 files

OPNSense/core 33b4c24src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml

Can be visible in grid
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+2-21 files

OPNSense/core 2894df8src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml Filter.php

Firewall: NAT: Source NAT: add source hash key
DeltaFile
+10-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+9-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+4-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+1-0src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+24-04 files

OPNSense/core 64ad201src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/models/OPNsense/Firewall Filter.xml

Firewall: NAT: Source NAT: add pool options
DeltaFile
+11-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+10-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+1-0src/opnsense/scripts/filter/list_legacy_outbound_nat.php
+22-03 files

OPNSense/core e0226besrc/etc rc.freebsd

rc: simplify further, switch to 30 seconds
DeltaFile
+12-32src/etc/rc.freebsd
+12-321 files

OPNSense/core 96c281dsrc/etc rc.freebsd

rc: simplify by backgrounding watchdog first
DeltaFile
+22-31src/etc/rc.freebsd
+22-311 files

OPNSense/core 25d2f55src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes FilterRuleField.php

Add comment about set tos behavior
DeltaFile
+1-0src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php
+1-01 files

OPNSense/core bf16bfcsrc/opnsense/www/js opnsense_ui.js

ui: improve form matching for help/advanced

PR: https://forum.opnsense.org/index.php?topic=52828.0
(cherry picked from commit a4629593ee5c4c47649d2d82089ad161eda577ee)
DeltaFile
+2-2src/opnsense/www/js/opnsense_ui.js
+2-21 files

OPNSense/core c3228b0src/opnsense/www/js opnsense_bootgrid.js

ui: Fix _showMaximized() height calculation when mobile navigation triggers below 768px width

(cherry picked from commit a410dc4dde12de28918338ca3efe987124e42386)
DeltaFile
+3-1src/opnsense/www/js/opnsense_bootgrid.js
+3-11 files

OPNSense/core f24c007src/etc/inc system.inc

system: normalize output if gateways aren't provided. Closes https://github.com/opnsense/core/issues/10800

(cherry picked from commit 3fc11b2451d6bd258eb165cd41781a3ad7d5f249)
DeltaFile
+1-1src/etc/inc/system.inc
+1-11 files

OPNSense/core 0ef0cecsrc/etc/inc interfaces.inc

interfaces: batch VIP post-reload for proxyarp/pfsync #10810

(cherry picked from commit 689b926d5b8960d0de9a5dbaba4cdaed4f8de153)
DeltaFile
+10-7src/etc/inc/interfaces.inc
+10-71 files

OPNSense/core 56c640csrc/etc/inc plugins.inc interfaces.inc, src/etc/inc/plugins.inc.d core.inc

interfaces: prevent inline reloads of VLANs via rc.linkup #10810

Since the reload destroys and recreates the VLAN and this code
could not be triggered before provide a programmatic approach
via a reload flag in the device registration code.

  Notice        kernel   <6>[186] vlan3: changing name to 'igc0_vlan26'
  Notice        opnsense         /usr/local/etc/rc.linkup: ROUTING: entering configure using opt5
  Warning       rtsold   <rtsock_input_ifannounce> interface vlan3 removed
  Warning       rtsold   <rtsock_input_ifannounce> interface igc0_vlan26 removed
  Notice        opnsense         /usr/local/etc/rc.linkup: Device igc0_vlan26 requires reload for opt5, configuring now
  Notice        opnsense         /usr/local/etc/rc.linkup: DEVD: Ethernet attached event for opt5(igc0_vlan26)

(cherry picked from commit c2453458083d3e0e7915e42dad669a07278022be)
DeltaFile
+1-1src/etc/inc/interfaces.inc
+1-0src/etc/inc/plugins.inc.d/core.inc
+1-0src/etc/inc/plugins.inc
+3-13 files

OPNSense/core 2d79f6esrc/opnsense/mvc/app/controllers/OPNsense/Monit/Api StatusController.php

monit: use LIBXML_NOCDATA on xml fetch. Closes https://github.com/opnsense/core/issues/10808

(cherry picked from commit d678d9d4c36691b13deb769dd97b3939ac99086f)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Monit/Api/StatusController.php
+1-11 files

OPNSense/core 538c801src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

text-success is better for the match action
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+1-11 files

OPNSense/core 30d01b4src/etc rc.freebsd

rc: stop_result not used anymore
DeltaFile
+0-1src/etc/rc.freebsd
+0-11 files

OPNSense/core 3fc11b2src/etc/inc system.inc

system: normalize output if gateways aren't provided. Closes https://github.com/opnsense/core/issues/10800
DeltaFile
+1-1src/etc/inc/system.inc
+1-11 files

OPNSense/core 689b926src/etc/inc interfaces.inc

interfaces: batch VIP post-reload for proxyarp/pfsync #10810
DeltaFile
+10-7src/etc/inc/interfaces.inc
+10-71 files

OPNSense/core a410dc4src/opnsense/www/js opnsense_bootgrid.js

ui: Fix _showMaximized() height calculation when mobile navigation triggers below 768px width
DeltaFile
+3-1src/opnsense/www/js/opnsense_bootgrid.js
+3-11 files

OPNSense/core 3e4cc0fsrc/etc/inc interfaces.inc

interfaces: revert passing $all_devices for now

This is so that the next patch can be backported cleanly.
DeltaFile
+4-5src/etc/inc/interfaces.inc
+4-51 files

OPNSense/core b4320d9src/etc rc.freebsd

rc: add watchdog to shutdown, reboot and reload_all cases
DeltaFile
+62-1src/etc/rc.freebsd
+62-11 files

OPNSense/core c245345src/etc/inc plugins.inc interfaces.inc, src/etc/inc/plugins.inc.d core.inc

interfaces: prevent inline reloads of VLANs via rc.linkup #10810

Since the reload destroys and recreates the VLAN and this code
could not be triggered before provide a programmatic approach
via a reload flag in the device registration code.

  Notice        kernel   <6>[186] vlan3: changing name to 'igc0_vlan26'
  Notice        opnsense         /usr/local/etc/rc.linkup: ROUTING: entering configure using opt5
  Warning       rtsold   <rtsock_input_ifannounce> interface vlan3 removed
  Warning       rtsold   <rtsock_input_ifannounce> interface igc0_vlan26 removed
  Notice        opnsense         /usr/local/etc/rc.linkup: Device igc0_vlan26 requires reload for opt5, configuring now
  Notice        opnsense         /usr/local/etc/rc.linkup: DEVD: Ethernet attached event for opt5(igc0_vlan26)
DeltaFile
+1-1src/etc/inc/interfaces.inc
+1-0src/etc/inc/plugins.inc.d/core.inc
+1-0src/etc/inc/plugins.inc
+3-13 files

OPNSense/core f57c60dsrc/opnsense/mvc/app/models/OPNsense/Firewall Filter.php

Firewall: Rules: Reuse state option validation fields

Use one shared state field list for match rules and rules configured without state, keeping both validation paths consistent.
DeltaFile
+4-9src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+4-91 files

OPNSense/core 1069ccesrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

Firewall: Rules: Add missing formatter to the checkboxes
DeltaFile
+4-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+4-01 files

OPNSense/core 913a832src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

Firewall: Rules: Mark normalization options as advanced

Keep the normalization section and its scrub controls out of the default rule dialog while retaining them in the shared advanced settings view.
DeltaFile
+6-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+6-01 files

OPNSense/core 7408bb1src/etc/inc filter.inc, src/www system_advanced_firewall.php firewall_scrub.php

Firewall: Rules: Switch global scrubbing to modern PF syntax

As a second stage, emit fragment reassembly as a global option and generate random-ID and interface MSS handling as match scrub rules after NAT. Legacy custom scrub rules remain untouched and no compatibility mode or automatic transition is introduced.

Move the global normalization controls to Firewall Advanced while preserving their existing configuration locations.
DeltaFile
+1-101src/www/firewall_scrub.php
+40-20src/etc/inc/filter.inc
+60-0src/www/system_advanced_firewall.php
+101-1213 files