OPNSense/core 570b96dsrc/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogWireless.xml

Interfaces: Wireless: Devices - Migrate to MVC code, second phase, move settings from Interfaces into Wireless. closes https://github.com/opnsense/core/issues/10751

Move all settings from interface.XXX.wireless to wireless.clone and cleanup code referencing the old spot.

The console menu contained some, likely incomplete, code, which we will remove here as well, it doesn't feel very usefull trying to offer console configuration for wireless anyway.
Not all validations are being migrated, only the most relevant ones, which should be good enough.
DeltaFile
+0-999src/www/interfaces.php
+365-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogWireless.xml
+182-1src/opnsense/mvc/app/models/OPNsense/Interfaces/Wireless.xml
+32-133src/etc/inc/interfaces.inc
+101-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Migrations/WIFI1_0_0.php
+61-0src/opnsense/scripts/interfaces/list_regdomain.py
+741-1,1365 files not shown
+798-1,16611 files

OPNSense/core b1bd9a4src/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogWireless.xml

Interfaces: Wireless: Devices - Migrate to MVC code, second phase, move settings from Interfaces into Wireless. for https://github.com/opnsense/core/issues/10751

Move all settings from interface.XXX.wireless to wireless.clone and cleanup code referencing the old spot.

console : seemed to show the parent interfaces, but without a useful implementation, removed it
DeltaFile
+0-999src/www/interfaces.php
+365-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogWireless.xml
+182-1src/opnsense/mvc/app/models/OPNsense/Interfaces/Wireless.xml
+32-133src/etc/inc/interfaces.inc
+101-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Migrations/WIFI1_0_0.php
+61-0src/opnsense/scripts/interfaces/list_regdomain.py
+741-1,1365 files not shown
+798-1,16611 files

OPNSense/core 445533asrc/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogWireless.xml

Interfaces: Wireless: Devices - Migrate to MVC code, second phase, move settings from Interfaces into Wireless. for https://github.com/opnsense/core/issues/10751

Move all settings from interface.XXX.wireless to wireless.clone and cleanup code referencing the old spot.

console : seemed to show the parent interfaces, but without a useful implementation, removed it
DeltaFile
+0-999src/www/interfaces.php
+365-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogWireless.xml
+182-1src/opnsense/mvc/app/models/OPNsense/Interfaces/Wireless.xml
+32-133src/etc/inc/interfaces.inc
+101-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Migrations/WIFI1_0_0.php
+61-0src/opnsense/scripts/interfaces/list_regdomain.py
+741-1,1365 files not shown
+798-1,16611 files

OPNSense/core c4c48b0src/opnsense/mvc/app/views/layout_partials form_input_tr.volt base_form.volt

incomplete test
DeltaFile
+7-3src/opnsense/mvc/app/views/layout_partials/base_form.volt
+1-1src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+8-42 files

OPNSense/core 79045e2src/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogWireless.xml

Interfaces: Wireless: Devices - Migrate to MVC code, second phase, move settings from Interfaces into Wireless. for https://github.com/opnsense/core/issues/10751

Move all settings from interface.XXX.wireless to wireless.clone and cleanup code referencing the old spot.

console : seemed to show the parent interfaces, but without a useful implementation, removed it
DeltaFile
+0-999src/www/interfaces.php
+356-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogWireless.xml
+182-1src/opnsense/mvc/app/models/OPNsense/Interfaces/Wireless.xml
+32-133src/etc/inc/interfaces.inc
+101-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Migrations/WIFI1_0_0.php
+61-0src/opnsense/scripts/interfaces/list_regdomain.py
+732-1,1364 files not shown
+788-1,16510 files

OPNSense/core 89fe70dsrc/etc/inc interfaces.inc, src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms dialogWireless.xml

Interfaces: Wireless: Devices - Migrate to MVC code, second phase, move settings from Interfaces into Wireless. for https://github.com/opnsense/core/issues/10751

Move all settings from interface.XXX.wireless to wireless.clone and cleanup code referencing the old spot.

console : seemed to show the parent interfaces, but without a useful implementation, removed it
DeltaFile
+0-999src/www/interfaces.php
+356-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/forms/dialogWireless.xml
+182-1src/opnsense/mvc/app/models/OPNsense/Interfaces/Wireless.xml
+32-133src/etc/inc/interfaces.inc
+101-0src/opnsense/mvc/app/models/OPNsense/Interfaces/Migrations/WIFI1_0_0.php
+61-0src/opnsense/scripts/interfaces/list_regdomain.py
+732-1,1364 files not shown
+788-1,16510 files

OPNSense/core b3047e4src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogOneToOneRule.xml dialogNptRule.xml, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php

Merge remote-tracking branch 'origin/master' into firewall-received-on
DeltaFile
+161-22src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasNameField.php
+147-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+75-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogOneToOneRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogNptRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+605-2326 files not shown
+845-10432 files

OPNSense/core 1b601a1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/library/OPNsense/Firewall SNatRule.php

Firewall: NAT: Source NAT: fix port alias and well known port usage in target_port (#10793)

* Firewall: NAT: Source NAT: fix port alias usage in target_port

* Add use statements for BooleanField and ProtocolField
DeltaFile
+22-6src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php
+12-1src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+7-2src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SourceNatRuleField.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+2-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+44-105 files

OPNSense/core 3114792src/opnsense/mvc/app/views/layout_partials form_input_tr.volt

revisit
DeltaFile
+5-5src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+5-51 files

OPNSense/core 4489e19src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes SourceNatRuleField.php

Add use statements for BooleanField and ProtocolField
DeltaFile
+4-2src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SourceNatRuleField.php
+4-21 files

OPNSense/core 48e1c7asrc/opnsense/mvc/app/views/layout_partials form_input_tr.volt

mvc: advanced marker for fields POC

Also adds tooltip for it and help button.
DeltaFile
+4-1src/opnsense/mvc/app/views/layout_partials/form_input_tr.volt
+4-11 files

OPNSense/core dc9ac31src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes AliasNameField.php

Firewall: Alias: Update internally reserved pf keywords (#10794)

* Firewall: Alias: Update internally reserved pf keywords

* Also add missing sprintf() in validation
DeltaFile
+161-22src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasNameField.php
+161-221 files

OPNSense/core 5fd7ca6src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes AliasNameField.php

Also add missing sprintf() in validation
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasNameField.php
+1-11 files

OPNSense/core b387630src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes AliasNameField.php

Firewall: Alias: Update internally reserved pf keywords
DeltaFile
+160-21src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasNameField.php
+160-211 files

OPNSense/core f9da1bdsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml, src/opnsense/mvc/app/library/OPNsense/Firewall FilterRule.php

Firewall: Rules: implement received-on keyword
DeltaFile
+20-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+18-0src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php
+11-1src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+49-13 files

OPNSense/core 6b2026csrc/opnsense/mvc/app/views/OPNsense/Firewall alias.volt, src/opnsense/mvc/app/views/OPNsense/Interface assignment.volt vip.volt

ui: remove spurious _formDialog portion of dialog IDs
DeltaFile
+2-2src/opnsense/mvc/app/views/layout_partials/base_dialog.volt
+2-2src/opnsense/mvc/app/views/OPNsense/OpenVPN/instances.volt
+2-2src/opnsense/mvc/app/views/OPNsense/Interface/vip.volt
+2-2src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Unbound/dot.volt
+1-1src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+10-106 files

OPNSense/core 6dd4cdesrc/opnsense/www/js opnsense_ui.js

ui: apply second half of previous for advanced

The local storage doesn't follow this UI flow now, but
the UI flow is rather consistent.  Might be worth disabling
local storage on key strokes, but that's for later.
DeltaFile
+3-2src/opnsense/www/js/opnsense_ui.js
+3-21 files

OPNSense/core 4b4f0e2src/opnsense/www/js opnsense_ui.js

ui: scope 'all help' toggle to closest relevant form
DeltaFile
+3-2src/opnsense/www/js/opnsense_ui.js
+3-21 files

OPNSense/core 1c6acf1src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php

mvc: audit username with IP if possible

This matches the code in config.inc and the datapoint
can be useful.
DeltaFile
+5-4src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+5-41 files

OPNSense/core 4c67d1dsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml, src/opnsense/mvc/app/library/OPNsense/Firewall SNatRule.php

Firewall: NAT: Source NAT: fix port alias usage in target_port
DeltaFile
+22-6src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php
+12-1src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+3-0src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/SourceNatRuleField.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+2-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.xml
+40-85 files

OPNSense/core c75512esrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes IStructuredInput.php

mvc: style sweep
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/IStructuredInput.php
+1-11 files

OPNSense/core 27ced6asrc/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogSNatRule.xml dialogOneToOneRule.xml, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php

mvc: add JsonAuditField and implement in firewall (#10726)

Adds a reusable audit field type for model records. Models can opt in with a single JsonAuditField, while ApiMutableModelControllerBase manages some of the created and updated information.

The audit data is stored as JSON so it can be extended later without adding more model fields.

An additionally user supplied note field can store why an item has been changed.

A migration moves legacy created/updated into the new JSON fieldtype.

---------

Co-authored-by: Ad Schellevis <ad at opnsense.org>
DeltaFile
+147-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogSNatRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogOneToOneRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogNptRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+74-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+517-013 files not shown
+621-5619 files

OPNSense/core b403dfesrc/opnsense/mvc/app/controllers/OPNsense/Base ControllerBase.php, src/opnsense/mvc/app/controllers/OPNsense/Core/Api MenuController.php

menu: add Favorites section (#10665)

Co-authored-by: Greelan <53196309+Greelan at users.noreply.github.com>

(cherry picked from commit 00738382bf1e0dd1fbdbd291be9cd95a028b1eb1)
(cherry picked from commit 1779698362adff61bb736d99a3a62a3827e63ba4)
(cherry picked from commit 3d7352195a84bf98bdf05a8656940ef611dfbfcb)
(cherry picked from commit 4724744eb79842b0614d715927aa446f02a0d548)
(cherry picked from commit e5f01510072b2602cfe215fbb0d51cda33999035)
(cherry picked from commit ae0088be989720b45c64e359d569a321ddc6454c)
(cherry picked from commit ed2329c9dc74f0d4ed16beaabf2970d649a4d10e)
(cherry picked from commit 745270df5e45695136467b204c8fa1288a89ec5e)
DeltaFile
+153-0src/opnsense/www/js/opnsense_favorites.js
+51-0src/opnsense/mvc/app/models/OPNsense/Core/Menu/Menu.php
+45-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/MenuController.php
+32-0src/opnsense/www/css/opnsense-favorites.css
+26-0src/opnsense/mvc/app/models/OPNsense/Base/Menu/MenuSystem.php
+11-1src/opnsense/mvc/app/controllers/OPNsense/Base/ControllerBase.php
+318-28 files not shown
+344-1014 files

OPNSense/core c73d57eMk version.mk, src/opnsense/service/conf/actions.d actions_interface.conf

Interfaces: Wireless: Devices - add jq dependency and remove local test code from configd action
DeltaFile
+1-2src/opnsense/service/conf/actions.d/actions_interface.conf
+1-0Mk/version.mk
+2-22 files

OPNSense/core 89c75c8src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms general.xml, src/opnsense/mvc/app/models/OPNsense/Dnsmasq Dnsmasq.xml

Services: Dnsmasq DNS & DHCP: add expand-hosts (#10731)

(cherry picked from commit d3ec7b596cb675238213c625ff5afa3d9aee8020)
DeltaFile
+6-0src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+4-0src/opnsense/service/templates/OPNsense/Dnsmasq/dnsmasq.conf
+1-0src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.xml
+11-03 files

OPNSense/core 6562a82src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api ClientController.php, src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms dialogEditWireguardClient.xml dialogConfigBuilder.xml

wireguard: preserve peer generator state for existing peers (#10745)

(cherry picked from commit d1cc0407ac76f68b24a8d3dbd37a74470027593c)
(cherry picked from commit 3f9d774f43a4c40fa4c3a47491066b49ea2b203f)
(cherry picked from commit 2db3c2c46076ea482135809c8caaaa098b3c857c)
(cherry picked from commit 53a0e9ca99afa6b3f0cf7161bff0818fd3f17149)
(cherry picked from commit f95e81516ee0e2fb184f06bb7f858d3dd45da9cc)
(cherry picked from commit 93754ec0dc895660dc4df865a0a7bc19609c84e7)
(cherry picked from commit 802f848e9c89c2ae23a772d37800eff7000df9b7)
(cherry picked from commit 7572d50d56cc8ce0c636df5f6aa081a190f1c2c2)
DeltaFile
+216-87src/opnsense/mvc/app/views/OPNsense/Wireguard/general.volt
+36-0src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardServer.xml
+15-4src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogConfigBuilder.xml
+18-0src/opnsense/mvc/app/controllers/OPNsense/Wireguard/forms/dialogEditWireguardClient.xml
+2-0src/opnsense/mvc/app/models/OPNsense/Wireguard/Client.xml
+1-0src/opnsense/mvc/app/controllers/OPNsense/Wireguard/Api/ClientController.php
+288-911 files not shown
+289-917 files

OPNSense/core 6cbd766src/opnsense/mvc/app/models/OPNsense/Wireguard Server.xml

wireguard: FreeBSD 15 no longer allows addresses without netmasks; closes #10746

> The command </sbin/ifconfig 'wg0' 'inet' '10.0.0.2' alias> returned
> exit code 1 and the output was "ifconfig: ERROR: setting interface
> address without mask is no longer supported."

In 0fdb755 we did a similar change for the client side, but left the
server side as is.  Since this no longer works in FreeBSD we can simply
tighten the validation instead of trying to guess what FreeBSD ifconfig
would have guessed from the IP address.

Still don't think this was a thing that should have been broken, but
it is what it is.

(cherry picked from commit 0b3c513bacb69b0167953ead0a94a70739a77d61)
DeltaFile
+1-0src/opnsense/mvc/app/models/OPNsense/Wireguard/Server.xml
+1-01 files

OPNSense/core cc238aasrc/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php

mvc: add generic JSON audit metadata field for model records and implement in firewall [2]

minor additions to https://github.com/opnsense/core/pull/10726 in order to fix migrations.
DeltaFile
+36-35src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+2-11src/opnsense/mvc/app/models/OPNsense/Firewall/DNat.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+39-473 files

OPNSense/core a04a60dsrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes BaseField.php

mvc: BaseField: add getInitialValue()
DeltaFile
+10-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/BaseField.php
+10-01 files

OPNSense/core 08f5666src/opnsense/mvc/app/library/OPNsense/Backup Local.php

mvc: stale import in backup

(cherry picked from commit f98f933314ea46b15d7bffca1fd832d81314f2ec)
DeltaFile
+0-2src/opnsense/mvc/app/library/OPNsense/Backup/Local.php
+0-21 files