OPNSense/core f2c7f1esrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php, src/opnsense/scripts/filter list_non_mvc_rules.php

Firewall: Rules [new] - split search logic and normalize legacy output, closes https://github.com/opnsense/core/pull/9346

The search filter logic is quite difficult to read, in order to improve readability, move various data formatting actions into their own methods.
DeltaFile
+120-77src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+23-0src/opnsense/scripts/filter/list_non_mvc_rules.php
+143-772 files

OPNSense/core 5e0867dsrc/etc/inc config.inc, src/opnsense/scripts/shell banner.php

system: rework previous again to align with the other code

Only define to null if not set and use it directly.  The actual
interface configuration is already stored and so is 'if' but since
it may be accessed in error cases it's nicer to enforce that the
key exists like is the case with ipaddr(v6).
DeltaFile
+1-1src/etc/inc/config.inc
+1-1src/opnsense/scripts/shell/banner.php
+2-22 files

OPNSense/core c6ef7bbsrc/etc/inc system.inc

Locales: fix typo

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

OPNSense/core 12c63e3src/etc/inc interfaces.inc

interfaces: edge case is clear now without comments
DeltaFile
+0-2src/etc/inc/interfaces.inc
+0-21 files

OPNSense/core c4ad051src/etc/inc/plugins.inc.d radvd.inc

radvd: realif to device
DeltaFile
+11-11src/etc/inc/plugins.inc.d/radvd.inc
+11-111 files

OPNSense/core 543ddbbsrc/opnsense/mvc/app/models/OPNsense/Routing Gateways.php

system: replace realif with device in gateway code
DeltaFile
+9-9src/opnsense/mvc/app/models/OPNsense/Routing/Gateways.php
+9-91 files

OPNSense/core 9982fd7src/etc/inc/plugins.inc.d dhcpd.inc

isc-dhcp: replace realif with device
DeltaFile
+4-4src/etc/inc/plugins.inc.d/dhcpd.inc
+4-41 files

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

Locales: fix typo
DeltaFile
+1-1src/etc/inc/system.inc
+1-11 files

OPNSense/core 0de2217src/opnsense/mvc/app/library/OPNsense/Firewall Plugin.php

firewall: rename realif to device
DeltaFile
+8-8src/opnsense/mvc/app/library/OPNsense/Firewall/Plugin.php
+8-81 files

OPNSense/core 0355cd3src/etc/inc/plugins.inc.d core.inc

interfaces: this wireless code condition no longer applies
DeltaFile
+0-12src/etc/inc/plugins.inc.d/core.inc
+0-121 files

OPNSense/core 1e15611src/etc/inc util.inc

system: realif to devices in get_real_interface()
DeltaFile
+7-7src/etc/inc/util.inc
+7-71 files

OPNSense/core b166a44src/etc/inc/xmlrpc legacy.inc

xmlrpc: replace realif with device
DeltaFile
+3-3src/etc/inc/xmlrpc/legacy.inc
+3-31 files

OPNSense/core 37470f1src/etc/inc interfaces.inc, src/www interfaces.php

interafces: simplify passing old devices here

This requires a reboot, but should be easy enough to ship alongside
one in the near future.
DeltaFile
+2-6src/www/interfaces.php
+2-3src/etc/inc/interfaces.inc
+4-92 files

OPNSense/core 4da41b6src/etc/inc config.inc

system: add failsafe on previous
DeltaFile
+1-1src/etc/inc/config.inc
+1-11 files

OPNSense/core 0f2d20esrc/opnsense/scripts/shell banner.php

system: stray curly brace
DeltaFile
+1-1src/opnsense/scripts/shell/banner.php
+1-11 files

OPNSense/core d3f54f9src/opnsense/scripts/shell banner.php setaddr.php

system: adjust shell script device handling

Rename and reuse for modern approach.
DeltaFile
+2-6src/opnsense/scripts/shell/banner.php
+2-2src/opnsense/scripts/shell/setaddr.php
+4-82 files

OPNSense/core 5cd6c72src/etc/inc config.inc

interfaces: emit 'devices' in legacy interface iterator

Do the array rather than the single one because the feature was not
rooted here and we can always revert to a simpler 'device' key if
needed.
DeltaFile
+1-0src/etc/inc/config.inc
+1-01 files

OPNSense/core bfe5d4bsrc/etc/inc interfaces.inc

interfaces: reduce use of get_real_interface() and $realifXXX variables

Building on the last commit we can get rid of most of the trickery in cases
where we know the device is going to be stored under 'if'.

Although 6rd and 6to4 magic isn't completely gone there may be a future
without it and it's going to be pretty nice.
DeltaFile
+93-108src/etc/inc/interfaces.inc
+93-1081 files

OPNSense/core e48427dsrc/etc/inc interfaces.inc, src/www interfaces.php

interfaces: support link-local IPv6 mode; closes #9328

At the moment we don't transition out of this again as ifdisabled is
not changed afterwards for tunnel device reasons, but maybe this needs
to be made more clever in the future.

Shuffle the remaining $realifv6 idiosyncrasy to 6rd 6to4 spots in the
code and don't make link-local eligible for PPPoE or gateways at this
point.  Both could work under certain constraints but since we never
had this feature before going two steps ahead doesn't seem very sensible.
DeltaFile
+7-9src/etc/inc/interfaces.inc
+4-0src/www/interfaces.php
+11-92 files

OPNSense/core e772937src/opnsense/mvc/app/library/OPNsense/Interface Autoconf.php

interfaces: go through Autoconf for a bit of style

My fault entirely looking at it for the previous issue.

(cherry picked from commit deab7e1ba34b0ae40083da89f7d1484d83584845)
DeltaFile
+6-2src/opnsense/mvc/app/library/OPNsense/Interface/Autoconf.php
+6-21 files

OPNSense/core 37b1df3src/opnsense/scripts/interfaces ifctl.sh

interfaces: always allow reads to internal files

(cherry picked from commit f5b1a2e98c531c204fc0306be68bd7ca037febe4)
DeltaFile
+1-0src/opnsense/scripts/interfaces/ifctl.sh
+1-01 files

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

bootgrid: bail out on dynamic resize if data is loading, also move observer logic to a single-shot event

(cherry picked from commit 987a37d363c9a6d9dee8c238471fa7ee3abfc271)
(cherry picked from commit 4691225b5e7be00de879caacd7229b999bb04987)
DeltaFile
+64-65src/opnsense/www/js/opnsense_bootgrid.js
+64-651 files

OPNSense/core 4691225src/opnsense/www/js opnsense_bootgrid.js

bootgrid: allow height adjustment during loading
DeltaFile
+3-7src/opnsense/www/js/opnsense_bootgrid.js
+3-71 files

OPNSense/core 8069d72src/opnsense/mvc/app/controllers/OPNsense/Routing/Api SettingsController.php, src/opnsense/mvc/app/models/OPNsense/Routing Gateways.php

system: amendment for previous #9356

Keep API return data consistent and don't modify the existing
returns as the output differs slightly from raw model data and
should be kept this way.
DeltaFile
+9-3src/opnsense/mvc/app/controllers/OPNsense/Routing/Api/SettingsController.php
+4-0src/opnsense/mvc/app/models/OPNsense/Routing/Gateways.php
+13-32 files

OPNSense/core 21a45dasrc/opnsense/mvc/app/controllers/OPNsense/Routing/Api SettingsController.php, src/opnsense/mvc/app/models/OPNsense/Core InitialSetup.php

system: switch int/bool to string in gateway properties; closes #9356

This is a broader commit for what looks like the right thing to do
for all fields actually anchored in the model for which even BooleanField
returns a string representation of the value.  Most should be benign but
the ones in Gateway.php and SettingsController.php should fix API display
issues.
DeltaFile
+5-5src/opnsense/scripts/shell/setaddr.php
+4-4src/opnsense/mvc/app/models/OPNsense/Core/InitialSetup.php
+2-2src/opnsense/mvc/app/controllers/OPNsense/Routing/Api/SettingsController.php
+2-2src/opnsense/mvc/app/models/OPNsense/Routing/Gateways.php
+13-134 files

OPNSense/core 6965770src/etc/inc/plugins.inc.d hostwatch.inc, src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/ACL ACL.xml

Interfaces: Neighbors: Automatic Discovery - add new hostdiscovery feature (review feedback https://github.com/opnsense/core/pull/9354)
DeltaFile
+10-1src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/ACL/ACL.xml
+0-9src/etc/inc/plugins.inc.d/hostwatch.inc
+10-102 files

OPNSense/core 5e132f2src/etc/inc/plugins.inc.d hostwatch.inc, src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery SettingsController.php

Interfaces: Neighbors: Automatic Discovery - add new hostdiscovery feature

This splits the Neighbors menu item in an existing static assignments and adds the automatic discovery feature which includes logging and insights into the currently known hosts on the network. When automatic discovery is disabled, it drops back to arp/ndp.

By default automatic mode is enabled on all interfaces, but configuration options exists (to limit interfaces and networks).

Other consumers which require host mappings can use the /usr/local/opnsense/scripts/interfaces/list_hosts.py  script to either fetch the sqlite database or arp/ndp data for the selected pprotocol(s).

More information about the hostwatch daemon is available at https://github.com/opnsense/hostwatch
DeltaFile
+119-0src/opnsense/mvc/app/views/OPNsense/Hostdiscovery/settings.volt
+92-0src/opnsense/scripts/interfaces/list_hosts.py
+64-0src/etc/inc/plugins.inc.d/hostwatch.inc
+57-0src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api/ServiceController.php
+39-0src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api/SettingsController.php
+39-0src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/SettingsController.php
+410-013 files not shown
+614-119 files

OPNSense/core c458bafsrc/etc/inc/plugins.inc.d hostwatch.inc, src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery SettingsController.php

Hostdiscovery - work in progress
DeltaFile
+92-0src/opnsense/scripts/interfaces/list_hosts.py
+71-0src/opnsense/mvc/app/views/OPNsense/Hostdiscovery/settings.volt
+57-0src/etc/inc/plugins.inc.d/hostwatch.inc
+40-0src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api/ServiceController.php
+39-0src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/Api/SettingsController.php
+39-0src/opnsense/mvc/app/controllers/OPNsense/Hostdiscovery/SettingsController.php
+338-010 files not shown
+508-116 files

OPNSense/core fff33dbsrc/opnsense/mvc/app/models/OPNsense/Firewall/ACL ACL.xml, src/opnsense/mvc/app/models/OPNsense/Firewall/Menu Menu.xml

firewall/automation: Move menu items to firewall/rules/filter and firewall/nat/sourcenat (#9344)

DeltaFile
+7-9src/opnsense/mvc/app/models/OPNsense/Firewall/Menu/Menu.xml
+2-2src/opnsense/mvc/app/models/OPNsense/Firewall/ACL/ACL.xml
+9-112 files

OPNSense/core ab99a99src/opnsense/mvc/app/views/OPNsense/IPsec sessions.volt

ipsec: status: search phase 2 triggered twice on click, cleanup tooltip event as well
DeltaFile
+0-4src/opnsense/mvc/app/views/OPNsense/IPsec/sessions.volt
+0-41 files