Commit graph

19996 commits

Author SHA1 Message Date
Stephan de Wit
43481bd5bb bootgrid: test disabling scroll 2026-04-14 13:01:00 +02:00
Stephan de Wit
2b43ee5b87 captive portal: regression in 369630d, allowed addresses missing from session ips
If a client is allowed through a statically configured IP, the MAC
becomes secondary, but in the roaming case the set of actual IPs
relied on the MAC address. Since a statically configured IP may not
have a MAC active at a given time, but we do want to keep this IP in
the captive portal pf zone at all time, we merge the primary IP
with the roaming IPs. As a set this will deduplicate automatically.

While here, no MAC address lookup was performed in the case of a
static IP, add it here so it can be actively seen in the sessions
GUI.

Closes https://github.com/opnsense/core/issues/10124
2026-04-14 09:57:17 +02:00
Franco Fichtner
28ba22564b make: add merge target for "community" origin 2026-04-14 08:36:34 +02:00
Ad Schellevis
ae326511d1 mvc: regression in c81417f267, missing descriptions. 2026-04-13 18:11:32 +02:00
Franco Fichtner
a6da34447c system: style sweep and plist fix 2026-04-13 17:23:43 +02:00
Tom Walraven
3acfb5f2a7
System: Routing: Changed disable option to enable (#10027) 2026-04-13 17:19:08 +02:00
Franco Fichtner
3d7cbd8079 interafces: safe gres/gifs iteration 2026-04-13 15:36:29 +02:00
Franco Fichtner
9cd352e408 backend: use bridges/bridged safe iteration 2026-04-13 15:30:28 +02:00
Franco Fichtner
f18878041b system: avoid side effect rendering <item/> during console assignment 2026-04-13 15:23:27 +02:00
Ad Schellevis
5a47632bb1 mvc: BaseField - style 2026-04-13 11:39:23 +02:00
Franco Fichtner
0175c1e1f0 firmware: moved FreeBSD.php duty to opnsense-update
PR: https://github.com/opnsense/update/commit/aeb88a8fb9
2026-04-13 10:39:37 +02:00
Ad Schellevis
913863a72e Services: Kea DHCP: Kea DHCPv6 - fix "Delegated length must be longer than or equal to prefix length" validation, closes https://github.com/opnsense/core/issues/10146
While here, also fix a prefix validation (when x::/64 is specified for example).
2026-04-12 20:23:13 +02:00
Franco Fichtner
c2dcb5ba2f mvc: sweep 2026-04-12 14:45:14 +02:00
Ad Schellevis
dad956e314 Firewall: Rules [new] - refactor searchRuleAction() to use the same filtering and sorting logic on MVC and legacy data.
The current implementation is applying our filter logic twice for MVC records, first it uses the default searchBase() construct, which it then needs to pipe through searchRecordsetBase() again. There are a couple of downsides here, it's more expensive (although the user likely won't notice), but also requires duplication of filter logic.

With the logic introduced in c81417f267 , we can extract the exact same content from our model so we can merge all at once and push it through our filtering and sorting logic.

The idea is to be able to "smarten" searchRecordsetBase() a bit so we can apply some additional logic based on types at some point in time, which requires all data to passthrough the same pipeline at least.

This commit should be backwards compatible with the previous code.
2026-04-12 11:02:57 +02:00
Franco Fichtner
f1a3150fa9 interfaces: minor whitespace change 2026-04-12 10:01:21 +02:00
Franco Fichtner
a11921609e github: add pull request template similar to plugins 2026-04-12 09:52:01 +02:00
Franco Fichtner
5e64948059 mvc: another style sweep 2026-04-12 09:47:04 +02:00
Franco Fichtner
dd226f32a1 mvc: style sweep 2026-04-12 09:40:05 +02:00
Ad Schellevis
c81417f267 mvc: minor cleanup in UIModelGrid, remove flatten() method as getFlatNodes() is almost the same. 2026-04-11 19:07:48 +02:00
Ad Schellevis
d739e53197 Auth/LDAP - move ldap_escape to caller for https://github.com/opnsense/core/issues/10129
Although this 016f66cb46 was the correct fix for the auth sequence, other callers which search the database
with a static set of expressions are influenced by this as well.

To some degree it might be better to have different callers for this, but this increases the impact if the otherwise limited change.
2026-04-11 18:30:59 +02:00
Ad Schellevis
95483e5048 System: Access: Servers - RADIUS, implement NAS-IP-Address attribute. closes https://github.com/opnsense/core/pull/10089
Refactor PR a bit and implement the requested attribute.
For existing setups, the send attributes should be unchanged.
2026-04-11 14:50:50 +02:00
Stephan de Wit
0460e24e29 firewall: live view: decode HTML where necessary to aid filtering. Closes https://github.com/opnsense/core/issues/10107 2026-04-10 14:20:39 +02:00
Franco Fichtner
c62ef330b1 system: more natural cron escaping for command #10075
Changes command output from

  /usr/local/sbin/configctl -d -- 'system remote backup'

to

  /usr/local/sbin/configctl -d -- system remote backup

which is actually correct and needed since c491376.

Not sure what "\n" had to do with it but in the case of the
command it should be a normal string and risk of injection
is lower than parameter (but still mitigated properly).
2026-04-10 10:39:06 +02:00
Stephan de Wit
7e000a9454 system: shorten static route collection code here 2026-04-10 09:37:36 +02:00
Ad Schellevis
1c2405e480 mvc: introduce JSON field type and refactor dashboard to use it, closes https://github.com/opnsense/core/issues/10064
We can use the same fieldtype for the favorites PR (https://github.com/opnsense/core/pull/10033)
2026-04-09 20:34:13 +02:00
Franco Fichtner
016f66cb46 system: escape LDAP username during search
Reported by: Matt Andreko
PR: GHSA-jpm7-f59c-mp54
2026-04-09 09:33:50 +02:00
Franco Fichtner
a663c3a651 radvd: fix PHP warning for previous 2026-04-08 16:53:10 +02:00
Franco Fichtner
cdf172056f hostwatch: restructure rc.conf to avoid mistakes
This adds one configurable command option per separate if-block.
2026-04-08 16:11:55 +02:00
Stephan de Wit
5a5350e29e dashboard: throw UserException when size limit reached on save. Closes https://github.com/opnsense/core/issues/10096 2026-04-08 09:21:49 +02:00
Greelan
8b5a768ec7
widgets: fix Traffic.js initialization race condition (#10099) 2026-04-08 09:11:34 +02:00
Franco Fichtner
477451d9b7 mvc: clear unused inputs in syslog controller 2026-04-08 08:35:39 +02:00
Franco Fichtner
4f7fccd93e Scripts: add instanceof syntax for import linter 2026-04-08 08:35:39 +02:00
Greelan
7cfb03be5d
mvc: MenuSystem - tweak JavaScript wrapper to match server-side breadcrumb format (#10101) 2026-04-08 08:32:41 +02:00
Franco Fichtner
d092f74bb1 mvc: remove Util imports where not needed 2026-04-08 08:19:01 +02:00
BPplays
267f5a41d9
radvd: allow user controlled hop limit
PR: #9688
2026-04-07 21:29:07 +02:00
Franco Fichtner
a7034c0ede src: whitespace sweep 2026-04-07 20:33:22 +02:00
Franco Fichtner
faa7dab419 system: audit staticroute' config access for #10027 2026-04-07 16:34:27 +02:00
Franco Fichtner
700d6a00d2 src: a few more samples for import linter 2026-04-07 16:14:00 +02:00
Franco Fichtner
2c74e4e4eb Scripts: tweak pattern matching related to #10052 2026-04-07 16:10:47 +02:00
Franco Fichtner
acab676a08 mvc: obvious linter complaint 2026-04-07 16:07:03 +02:00
Franco Fichtner
bbf6ee6cc1 firewall: unused vars/imports 2026-04-07 15:51:28 +02:00
Monviech
e6726ba233 lint: Add linter that finds unused imports in php classes 2026-04-07 15:30:45 +02:00
Monviech
aaf9a1c797 mvc: Remove UIModelGrid imports in IDS, Monit, Syslog SettingsController, unused 2026-04-07 15:29:15 +02:00
Franco Fichtner
fd780bb1dc radvd: make a note for dev/debug and closes #10048
Ideally this should be refactored a bit to flush the configuration
regardless of enabled state, but the legacy code has no separate
template flush so it is tied to service (re)start and we are going
to leave it at a note.
2026-04-07 14:59:43 +02:00
Franco Fichtner
79ba2da564 radvd: refactor and put eligible-test back #10048
Not super happy but make $radvdifs use simpler since $manuallist now
does exclusion and we don't use the values saved in the former anyway.
2026-04-07 14:48:02 +02:00
Franco Fichtner
7116a1f591 radvd: split lists, easier to read and less code #10048 2026-04-07 14:30:35 +02:00
Franco Fichtner
72ccc1e14e radvd: allow to start without primary IPv6 for #10048
Reshuffle the code a little to make it (a bit) more obvious this is
safe to assume and working confirmed by automatic mode already.

Since we have full control via MVC enable/disable this is fine now.
2026-04-07 14:24:41 +02:00
Stephan de Wit
7a6a581209 bootgrid: shorten previous 2026-04-07 11:12:34 +02:00
Stephan de Wit
e67ea61085 bootgrid: limit maintaining scroll position to inplace=true, continuation of 75e60e8
This shouldn't be the default behavior, as a "refresh" would also
maintain scrolling position.
2026-04-07 11:08:31 +02:00
Franco Fichtner
7c8bda9a0e wireguard: sprint clean related to #10094 2026-04-07 11:05:33 +02:00