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.
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)
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)
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.
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.
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.