OPNSense/core 227bbd3src/etc/inc interfaces.inc, src/www interfaces.php

interfaces: fix PHP warnings and do not write unset ones

Pertains to interafces.php mostly but let's fix this so we
can see if the new interface settings work the same.
DeltaFile
+33-27src/www/interfaces.php
+2-2src/etc/inc/interfaces.inc
+35-292 files

OPNSense/core 4fe0a5esrc/opnsense/mvc/app/library/OPNsense/System/Status DiskSpaceStatus.php

system: style sweep
DeltaFile
+2-2src/opnsense/mvc/app/library/OPNsense/System/Status/DiskSpaceStatus.php
+2-21 files

OPNSense/core 28f5377src/opnsense/mvc/app/views/OPNsense/Interface assignment.volt

interfaces: adjust message to sound similar to the old
DeltaFile
+1-1src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+1-11 files

OPNSense/core 69f3d12src/opnsense/mvc/app/views/OPNsense/Interface assignment.volt

interfaces: second half of previous
DeltaFile
+5-0src/opnsense/mvc/app/views/OPNsense/Interface/assignment.volt
+5-01 files

OPNSense/core dfb019dsrc/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

interafces: add pending action to make the apply banner persistent

This allows to emulate the old GUI's banner, but in a more modern way.
DeltaFile
+10-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+10-01 files

OPNSense/core 857b290src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

interfaces: retain empty fields also written by legacy GUI
DeltaFile
+9-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+9-01 files

OPNSense/core 4eb1e9e. plist, src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api SystemController.php

system: diag.disk rework (#10875)

changes diag.disk to return total bytes as well as formatted bytes so the API returns more info but keeps functionality the same.
DeltaFile
+98-0src/opnsense/scripts/system/disk_info.py
+19-47src/opnsense/mvc/app/library/OPNsense/System/Status/DiskSpaceStatus.php
+2-28src/opnsense/www/js/widgets/Disk.js
+1-23src/opnsense/mvc/app/controllers/OPNsense/Diagnostics/Api/SystemController.php
+1-1src/opnsense/service/conf/actions.d/actions_system.conf
+1-0plist
+122-996 files

OPNSense/core 320f8b6src/etc config.xml.sample

interfaces: a bit more fiddling with current defaults
DeltaFile
+2-8src/etc/config.xml.sample
+2-81 files

OPNSense/core b785e5esrc/etc config.xml.sample

config: add descr to interface defaults since that is what legacy page does
DeltaFile
+2-0src/etc/config.xml.sample
+2-01 files

OPNSense/core 6d9eb1fsrc/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.xml

interfaces: remove spurious default too
DeltaFile
+0-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+0-11 files

OPNSense/core abb50easrc/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.xml NetworkInterface.php

interfaces: requiring dhcp6-ia-pd-len will punch it into LAN config, too

While here add some style and proper parenthesis.
DeltaFile
+3-3src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+0-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.xml
+3-42 files

OPNSense/core 3fad5a0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

interfaces: handle these as well

They are correct but it doesn't hurt to keep them in the list
to avoid noise in the config diff for now.  It's easier to
spot actual issues such as "<dhcp6-ia-pd-len>0</dhcp6-ia-pd-len>"
being written to a LAN configuration.
DeltaFile
+2-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+2-01 files

OPNSense/core 2f2d989src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

interfaces: another one for previous
DeltaFile
+1-0src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+1-01 files

OPNSense/core d6a1f01src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api AssignmentController.php

interfaces: handle legacy booleans for #10881
DeltaFile
+13-3src/opnsense/mvc/app/controllers/OPNsense/Interfaces/Api/AssignmentController.php
+13-31 files

OPNSense/core c31e763src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes NetworkInterfaceField.php

interfaces: round-trip the DHCPv6/track6 hex ID fields (#10879)

NetworkInterfaceContainerField::toLegacy() guards the hex-to-decimal conversion
for dhcp6-prefix-id, dhcp6_ifid, track6-prefix-id and track6_ifid with
"if (!$this->$fld->isSet())". BaseField::isSet() is "getValue() !== ''", so the
conversion runs only for fields the operator left empty, and a field they
actually filled in is never emitted.
DeltaFile
+3-1src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+3-11 files

OPNSense/core dc5fdc6src/opnsense/mvc/app/models/OPNsense/DHCRelay/ACL ACL.xml

dhcrelay: in hindsight shared ACL is better
DeltaFile
+2-7src/opnsense/mvc/app/models/OPNsense/DHCRelay/ACL/ACL.xml
+2-71 files

OPNSense/core f862ff6. plist, src/etc/rc.syshook.d/early 99-selftest

system: run file and configuration selfchecks

Execute these just before rc.bootup would start bringing
up the system.  This would still have to audit-log, but
syslog-ng has not started yet.

Check for consistency rather than cryptographic correctness.
If the binaries match the cryptography should follow.
DeltaFile
+77-0src/etc/rc.syshook.d/early/99-selftest
+1-0plist
+78-02 files

OPNSense/core 01a4da8src/etc/inc system.inc, src/opnsense/service/templates/OPNsense/Trust openssl.cnf

system: selftest POC with OpenSSL FIPS

Feeds the FIPS config to the OpenSSL config, but needs
an untainted config to run.  Wires base OpenSSL to use
the same FIPS module since base does not have one.

Activation confirmed by seeing fips for both base and
ports using:

     # /usr(/local)/bin/openssl list -providers
DeltaFile
+16-15src/opnsense/service/templates/OPNsense/Trust/openssl.cnf
+29-0src/etc/inc/system.inc
+45-152 files

OPNSense/core 866926fsrc/opnsense/scripts/shell firmware.sh

firmware: add simple prompt to console changelog viewer; closes #10889

Suggested-by: @davidemyers
DeltaFile
+1-1src/opnsense/scripts/shell/firmware.sh
+1-11 files

OPNSense/core fd6e572src/etc/inc plugins.inc, src/sbin pluginctl

plugins: add error returns to plugins_configure()

These are not really errors.  They indicate a possible issue
but should not error.  An unknown hook may be normal given
that the plugin owning the hook is not installed.

We also don't consider hooks to return errors in a meaningful
way as they are meant as machinery to run a reconfiguration
which can register its own errors elsewhere in the system.

But this can give the user running manual queries a useful hint.
DeltaFile
+5-1src/sbin/pluginctl
+4-0src/etc/inc/plugins.inc
+9-12 files

OPNSense/core 7046f7a. plist, src/opnsense/service/templates/OPNsense/Auth +TARGETS webgui.pam

system: add webgui PAM config to test with opnsense-login
DeltaFile
+2-0src/opnsense/service/templates/OPNsense/Auth/webgui.pam
+1-0src/opnsense/service/templates/OPNsense/Auth/+TARGETS
+1-0plist
+4-03 files

OPNSense/core 82bc691src/opnsense/mvc/app/library/OPNsense/Auth/Services WebGui.php

system: prevent installer user from loggin in

This works in testing, but opnsense-login doesn't agree
at first glance.  Need to see why.
DeltaFile
+10-0src/opnsense/mvc/app/library/OPNsense/Auth/Services/WebGui.php
+10-01 files

OPNSense/core 4fd8ebfsrc/opnsense/www/js opnsense_bootgrid.js

bootgrid: only schedule dimension changes after data processing, window resizing and table visibility changes

The height recalculation scheduled on renderComplete was too aggressive,
since Tabulator emits that event while virtual rows are rendered during scrolling.
Also prevent setHeight() from running mid-scroll at all times.

This commit fixes the visual glitch of resetting scroll positions introduced
by https://github.com/opnsense/core/commit/050f3c8277

(cherry picked from commit 6e3cda346c858d0b070b77439bdd322d6a0db7c1)
DeltaFile
+30-14src/opnsense/www/js/opnsense_bootgrid.js
+30-141 files

OPNSense/core b809205src/opnsense/mvc/app/library/OPNsense/Auth/Services WebGui.php

system: prevent installer user from loggin in

This works in testing, but opnsense-login doesn't agree
at first glance.  Need to see why.
DeltaFile
+10-0src/opnsense/mvc/app/library/OPNsense/Auth/Services/WebGui.php
+10-01 files

OPNSense/core e226465src/etc/rc.subr.d livemode

system: not sure if the lock is even necessary
DeltaFile
+2-3src/etc/rc.subr.d/livemode
+2-31 files

OPNSense/core 088e8adsrc/etc/inc config.inc, src/etc/rc.subr.d recover livemode

system: bring installer remove code closer together actually

livemode script is unconditional before login prompt so we can
do the proper cleanup at the last possible point in time.
DeltaFile
+9-0src/etc/rc.subr.d/livemode
+0-8src/etc/inc/config.inc
+0-2src/etc/rc.subr.d/recover
+9-103 files

OPNSense/core 22396e7src/etc/inc auth.inc, src/opnsense/mvc/app/models/OPNsense/Auth User.php

system: switch password hashing from bcrypt to argon2id

A bit unfortunate both spots exist, but maybe that can change later on.
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Auth/User.php
+1-1src/etc/inc/auth.inc
+2-22 files

OPNSense/core ad7ead1src/etc/rc.subr.d livemode

system: fix and reindent previous
DeltaFile
+20-22src/etc/rc.subr.d/livemode
+20-221 files

OPNSense/core 7d9dd12src/etc/inc config.inc auth.inc, src/etc/rc.subr.d livemode

system: make the installer user a real user

This allows the installer to use authenticated integration
and SSH keys as a root overlay.
DeltaFile
+46-20src/etc/rc.subr.d/livemode
+24-17src/etc/inc/auth.inc
+11-6src/opnsense/mvc/app/models/OPNsense/Auth/FieldTypes/UidField.php
+8-0src/etc/inc/config.inc
+2-2src/opnsense/mvc/app/models/OPNsense/Auth/User.php
+1-1src/opnsense/scripts/auth/sync_user.php
+92-466 files

OPNSense/core 6e3cda3src/opnsense/www/js opnsense_bootgrid.js

bootgrid: only schedule dimension changes after data processing, window resizing and table visibility changes

The height recalculation scheduled on renderComplete was too aggressive,
since Tabulator emits that event while virtual rows are rendered during scrolling.
Also prevent setHeight() from running mid-scroll at all times.

This commit fixes the visual glitch of resetting scroll positions introduced
by https://github.com/opnsense/core/commit/050f3c8277
DeltaFile
+30-14src/opnsense/www/js/opnsense_bootgrid.js
+30-141 files