OPNSense/core dd03157src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php, src/opnsense/mvc/app/library/OPNsense/Firewall Rule.php

mvc: PortField: make "well-known" port numbers known #9835

After team discussion it makes sense to not bloat the list
or otherwise adapt it except for the fact that the legacy
GUI has a lookup array now folded into PortField for maximum
effect.

Make the labels nicer and unify them and resolve the service
name via getWellKnown() lookup trick.

We don't need the test anymore.  The PortField use in the
shaper is different and unaffected for better or worse.
We should revisit but not before someone runs into this as
this hasn't happend for many years?

FWIW, the new rules GUI pages could use a better formatter
but then again we were talking about only storing numbers
anyway which the legacy code is doing.  In that case we could
offer a full label to protocol numbers, but not before also
migrating service names to port numbers.
DeltaFile
+56-41src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php
+7-50src/www/guiconfig.inc
+9-3src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+2-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+0-3src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/PortFieldTest.php
+74-995 files

OPNSense/core 4950d77src/www guiconfig.inc

ui: appears to be unused
DeltaFile
+0-8src/www/guiconfig.inc
+0-81 files

OPNSense/core ccd32dasrc/www guiconfig.inc

ui: moved definition to openvpn legacy plugin
DeltaFile
+0-7src/www/guiconfig.inc
+0-71 files

OPNSense/core 52e8010src/opnsense/mvc/app/controllers/OPNsense/Core/forms wizard_deployment_type.xml, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms general.xml

dnsmask: use "Dnsmasq" consequently

(cherry picked from commit eb02f720dfb47f7a137de705422fab0aa8a90098)
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Core/forms/wizard_deployment_type.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+3-32 files

OPNSense/core eb02f72src/opnsense/mvc/app/controllers/OPNsense/Core/forms wizard_deployment_type.xml, src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms general.xml

dnsmask: use "Dnsmasq" consequently
DeltaFile
+2-2src/opnsense/mvc/app/controllers/OPNsense/Core/forms/wizard_deployment_type.xml
+1-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/general.xml
+3-32 files

OPNSense/core 866e642src/etc/inc/plugins.inc.d core.inc

interfaces: protect device reads against forcing empty "arrays" into $config

(cherry picked from commit 39dc18d580f71df1caf5b30394c171d49271e4bb)
DeltaFile
+7-7src/etc/inc/plugins.inc.d/core.inc
+7-71 files

OPNSense/core 37c5ccasrc/etc/inc console.inc

shell: initial port configuration DHCP setting using new config access functions
DeltaFile
+8-10src/etc/inc/console.inc
+8-101 files

OPNSense/core c624a31src/etc/inc/plugins.inc.d webgui.inc

system: adapt web GUI certificate renew using new config access function
DeltaFile
+1-4src/etc/inc/plugins.inc.d/webgui.inc
+1-41 files

OPNSense/core 15123eesrc/opnsense/scripts/shell setaddr.php

shell: adapt DHCP address setup for new config access functions
DeltaFile
+9-9src/opnsense/scripts/shell/setaddr.php
+9-91 files

OPNSense/core c7a8884src/etc/inc filter.lib.inc, src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

firewall: clean up for the cleanup in 0c3a937cc

Ideally "inet46" should be removed to no negative effect.  At the
moment it creates two rules for its users but in practice that's
only for two auto-generated rules that are very likely fine either
way.
DeltaFile
+4-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+3-0src/etc/inc/filter.lib.inc
+7-42 files

OPNSense/core 0c3a937src/opnsense/scripts/filter list_non_mvc_rules.php

Firewall: Rules [new] - cleanup https://github.com/opnsense/core/commit/d348a53d03f54b3b1429b7b61daf1b67adf3486d as discussed, empty ipprotocol should render as * as the actual protocol may depend on other fields. for https://github.com/opnsense/core/issues/9858
DeltaFile
+0-1src/opnsense/scripts/filter/list_non_mvc_rules.php
+0-11 files

OPNSense/core 568146dsrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes ConfigdActionsField.php ProtocolField.php

mvc: BaseListField: shared implementation of $internalStaticOptionList, refactor remaining base fieldtypes, closes https://github.com/opnsense/core/issues/9816
DeltaFile
+50-52src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ConfigdActionsField.php
+41-45src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/ProtocolField.php
+37-39src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/VirtualIPField.php
+25-30src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/AuthenticationServerField.php
+22-28src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/NetworkAliasField.php
+175-1945 files

OPNSense/core 4010090src/etc/inc auth.inc, src/opnsense/mvc/app/controllers/OPNsense/Auth/Api UserController.php

auth: unify pwd_changed_at usage, remove requirement to configure password_policy_length and update the timestamp via console and admin pages as well. closes https://github.com/opnsense/core/issues/9857
DeltaFile
+0-7src/www/system_usermanager_passwordmg.php
+1-0src/etc/inc/auth.inc
+1-0src/opnsense/mvc/app/controllers/OPNsense/Auth/Api/UserController.php
+2-73 files

OPNSense/core ab7e80asrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php FilterController.php, src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogFilterRule.xml

firewall: align IPv4+6 display using "*" instead for #9858
DeltaFile
+1-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+1-0src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogFilterRule.xml
+4-44 files

OPNSense/core 23d3be4src/etc/inc/plugins.inc.d core.inc, src/opnsense/service/templates/OPNsense/Syslog/local routing.conf

system: remove miniupnpd for plugin registration

PR: https://github.com/opnsense/plugins/pull/5126
DeltaFile
+1-2src/opnsense/service/templates/OPNsense/Syslog/local/routing.conf
+1-1src/etc/inc/plugins.inc.d/core.inc
+2-32 files

OPNSense/core d348a53src/opnsense/scripts/filter list_non_mvc_rules.php

Firewall: Rules [new] - default ipprotocol mismatch, when not specified, both are indicated. closes https://github.com/opnsense/core/issues/9858
DeltaFile
+1-1src/opnsense/scripts/filter/list_non_mvc_rules.php
+1-11 files

OPNSense/core 5423b72src/opnsense/scripts/openvpn ovpn_event.py

VPN: OpenVPN: Instances - debounce learn-address calls so we limit the number of alias updates to a minimum. (#9843)

When a lot of clients connect at the exact same time, it doesn't really make sense to keep calling the alias update procedure as logically we are only interested in the last one.
This change simply opens a file, keeps track of its modification stamp and if another updated it after us, assume that caller is responsible for making the magic happen.

Although there is a small downside to this (clients connecting constantly, nobody resposible for accounting), the gain is likely much bigger as it prevents these calls from floodin the system in all cases (saving a lot of load).
DeltaFile
+19-5src/opnsense/scripts/openvpn/ovpn_event.py
+19-51 files

OPNSense/core d74dc5asrc/opnsense/scripts/openvpn ovpn_event.py

VPN: OpenVPN: Instances - debounce learn-address calls so we limit the number of alias updates to a minimum.

When a lot of clients connect at the exact same time, it doesn't really make sense to keep calling the alias update procedure as logically we are only interested in the last one.
This change simply opens a file, keeps track of its modification stamp and if another updated it after us, assume that caller is responsible for making the magic happen.

Although there is a small downside to this (clients connecting constantly, nobody resposible for accounting), the gain is likely much bigger as it prevents these calls from floodin the system in all cases (saving a lot of load).
DeltaFile
+19-5src/opnsense/scripts/openvpn/ovpn_event.py
+19-51 files

OPNSense/core 672c6fasrc/www interfaces_assign.php

interfaces: fix enter key in assignment description and general cleanup
DeltaFile
+87-97src/www/interfaces_assign.php
+87-971 files

OPNSense/core a72a16esrc/www interfaces_assign.php

interfaces: while we're here overhaul everything
DeltaFile
+5-5src/www/interfaces_assign.php
+5-51 files

OPNSense/core 4f07962src/www interfaces_assign.php

interfaces: remove inconsistent "consistency check" and fix indent

If the VLAN parent isn't there the system has other problems.
Never seen this validation message out in the wild either.

See also: https://github.com/pfsense/pfsense/commit/66bcba1bcd806
DeltaFile
+62-66src/www/interfaces_assign.php
+62-661 files

OPNSense/core e06d2dbsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php FilterController.php, src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt nat_rule.volt

Firewall: Rules [new]: Remove hardcoded colors where possible (#9848)

* Firewall: Rules [new]: Turn hardcoded badge colors into inherited label colors, use chip class for badges in tabulator rows

* Remove hardcoded fallback color from categories as well

* Add empty string as fallback for category color, and do not render the style in frontend if color is empty, that way fa-tag default style can be used here

* Remove hardcoded category colors in NAT templates as well

* Different label for "any" rules, remove font-size

* We do not need to set category_colors, the frontend checks if it exists already
DeltaFile
+26-31src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+18-14src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+45-474 files

OPNSense/core 816b94csrc/opnsense/mvc/app/models/OPNsense/Core InitialSetup.php

wizard: do not scrub unrelated IPv6 DHCP ranges from Dnsmasq LAN config
DeltaFile
+5-4src/opnsense/mvc/app/models/OPNsense/Core/InitialSetup.php
+5-41 files

OPNSense/core 26325b9src/etc/inc config.inc

backend: also introduce config_merge_array() for $config manipulation
DeltaFile
+10-0src/etc/inc/config.inc
+10-01 files

OPNSense/core 5f2baaasrc/opnsense/scripts/shell setaddr.php

dnsmasq: only enable RA in the want-dhcp condition
DeltaFile
+8-6src/opnsense/scripts/shell/setaddr.php
+8-61 files

OPNSense/core f517a26src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api ServiceController.php TemplateController.php

mvc: style sweep
DeltaFile
+0-1src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php
+0-1src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/TemplateController.php
+0-22 files

OPNSense/core adf462a. plist, src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api TemplateController.php ServiceController.php

Services: Captive Portal: Move template actions out of the ServiceController into its own TemplateController, so it can use the ApiMutableModelControllerBase methods (#9799)

Please note that this contains a breaking API change for the Captive Portal template controller.
DeltaFile
+146-0src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/TemplateController.php
+1-119src/opnsense/mvc/app/controllers/OPNsense/CaptivePortal/Api/ServiceController.php
+5-5src/opnsense/mvc/app/views/OPNsense/CaptivePortal/index.volt
+1-0plist
+153-1244 files

OPNSense/core 41902c8src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php

We do not need to set category_colors, the frontend checks if it exists already
DeltaFile
+0-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+0-11 files

OPNSense/core a02ff28src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt nat_rule.volt

Different label for any rules, remove font-size
DeltaFile
+1-2src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+0-1src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+1-32 files

OPNSense/core 710ca3asrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes InterfaceField.php, src/opnsense/mvc/app/views/OPNsense/Firewall nat_rule.volt dnat_rule.volt

Merge remote-tracking branch 'origin/master' into firewall-colors
DeltaFile
+663-0src/opnsense/mvc/app/views/OPNsense/Firewall/nat_rule.volt
+0-649src/opnsense/mvc/app/views/OPNsense/Firewall/dnat_rule.volt
+0-628src/opnsense/mvc/app/views/OPNsense/Firewall/snat_rule.volt
+0-602src/opnsense/mvc/app/views/OPNsense/Firewall/onat_rule.volt
+0-512src/opnsense/mvc/app/views/OPNsense/Firewall/npt_rule.volt
+78-78src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/InterfaceField.php
+741-2,46914 files not shown
+869-2,54320 files