18049 Commits

Author SHA1 Message Date
Franco Fichtner
f482df7d71 system: remove optional defaults, secure access to sysctl node
The node is now empty by default so code peeking into the items
should check beforehand or use a safe iterator like config_read_array().

This is for 25.7 with the infamous two security sysctls flipping back
to FreeBSD defaults.
2025-03-18 16:33:35 +01:00
Franco Fichtner
815a56c8a7 mvc: tunable field consolidation
Bring up static values and fill from current system output,
but only use defaults from static values and do not show
them when marked "optional".
2025-03-18 14:43:15 +01:00
Monviech
62f442526f
interfaces/vip: Fix advanced mode visibility (#8453) 2025-03-18 09:26:18 +01:00
Maxime Thiebaut
7c37b352ab
Suricata: Add JA4 support (#8441) 2025-03-17 15:34:29 +01:00
Monviech
8b01bd2699
dnsmasq: Add option6 to support DHCPv6 options (#8448) 2025-03-17 13:18:09 +01:00
Monviech
d2b78e1639
dnsmasq: Add add-mac, add-subnet and strip-subnet options to general settings (#8447) 2025-03-17 13:16:28 +01:00
Ad Schellevis
d55ecc6ebe auth: rewire system_usermanager_passwordmg.php to /ui/user_portal for cooperation with the next business edition.
This commit consists of two parts:

1) Add user portal privileges to "Lobby: Password" as this replaces the legacy item
2) Rewire password policy constraints to use "ui/user_portal", which will be redirected to the legacy page when BE is not installed.

The impact of this change should be small.
2025-03-17 11:50:30 +01:00
Stephan de Wit
7140a2cf2b Radius: check correct var for error 2025-03-14 16:45:55 +01:00
Leonid Evdokimov
f8b35d0a83
opnsense-beep: serialize access to /dev/speaker (#8281) 2025-03-14 10:53:28 +01:00
Ad Schellevis
ff91932d5d System: Gateways: Configuration - add "Kill states when down" option trigginer a gateway kill for all states with this gateway set, proposal for https://github.com/opnsense/core/issues/6803
* hide monitor options when disabled
* wire configd kill gateway command for 'pfctl -k gateway -k gwip'
* pass required properties in dpinger_status()
2025-03-13 20:23:27 +01:00
Ad Schellevis
e702d4e1dd Firewall: Aliases - rename action ignored due to missing lock, closes https://github.com/opnsense/core/issues/8432 2025-03-13 13:49:15 +01:00
Ad Schellevis
c7c0785e09 Firewall: Aliases - support jq for alias processing, closes https://github.com/opnsense/core/issues/8277
As we already supported a dot [.] terminated format, we should support both advanced queries as simple ones using "container1.container2", by prefixing the simple format with a dot, we can offer both options using the same parser.

While comparing jq with jsonpath, the first option seems to be most practical and easier to explain.
2025-03-12 20:39:51 +01:00
Franco Fichtner
d77bd0a8fb system: remove GDrive backup from core
Still needs migration glue, but mechanics are done.

PR: https://github.com/opnsense/core/issues/8343
2025-03-12 08:11:25 +01:00
Franco Fichtner
717bf17dae system: style in Google Drive backup library header 2025-03-12 07:54:14 +01:00
Franco Fichtner
0ee71a7e68 mvc: style sweep 2025-03-11 10:18:15 +01:00
Ad Schellevis
c9b1af5eb8 Services: Dnsmasq DNS & DHCP - move tags to a less prominent place.
The use of custom tags is more advanced, so better to organize this further to the right. I have looked at combining topics, but tags don't really belong to either options or ranges as they can be used from most entities. Since we also support the default included interfaces as tags, in most cases people will only need ranges and options anyway.
2025-03-11 09:17:07 +01:00
Ad Schellevis
2eb75b2de2 mvc: send audit messsages emitted in the authentication sequence to proper channel and extend them with relevant event information. (ControllerRoot)
Although it is practical to know that a client is calling an endpoint unauthenticated, we would like to know which client it is and which endpoint it tries to access to easier detect abuse.
2025-03-11 08:52:57 +01:00
Ad Schellevis
9b45398fd8 Firewall: Aliases - add missing "urljson" item in grid filter. 2025-03-10 20:54:11 +01:00
Ad Schellevis
676dbb953c Interfaces: Diagnostics: Packet Capture - minor style update, position "(de)select all" button on the same row. 2025-03-10 20:39:22 +01:00
Ad Schellevis
adc37c2cd9 Interfaces: Diagnostics: Packet Capture - add "arp" address family option 2025-03-10 20:19:55 +01:00
Stephan de Wit
7be5ad0a4f dnsmasq: typo 2025-03-10 14:51:03 +01:00
Ad Schellevis
e714342463 Services: Dnsmasq - no_dhcp_interface has moved to dhcp.no_interface . 2025-03-10 09:41:37 +01:00
Franco Fichtner
d7d45dc051 system: style 2025-03-10 09:13:52 +01:00
Franco Fichtner
83723fdb5f system: typo 2025-03-10 09:12:21 +01:00
Franco Fichtner
8591b00bd6 config: adjust a comment 2025-03-10 09:10:43 +01:00
Franco Fichtner
d68d48fdd4 make: add a 'pull' target 2025-03-10 08:57:52 +01:00
Franco Fichtner
13b68dde51 make: clear all files from work/ dir when mfc'ing 2025-03-10 08:53:03 +01:00
Franco Fichtner
84964049b0 tests: style 2025-03-10 08:44:55 +01:00
Ad Schellevis
aa2cff3e66 Services: Unbound DNS: Blocklist - move whitelist (passlist) handling to unbound plugin in stead of the existing prefiltering option. closes https://github.com/opnsense/core/pull/8415
The previous handling "skimmed" the blocklist using regular expressions, but when these lists include wildcards, you need to filter the exact item to exclude it (e.g. *.org.domain in a blocklist will still block a.org.domain in a passlist).

By moving the evaluation to the place where requests are evaluated, we can pass the likely intended domains by their provided regex.
Although there is a performance penalty, it should be limited since we only compile the regex once.
2025-03-08 16:14:47 +01:00
Stephan de Wit
f59c938a58 shaper: move to mwexec and annotate 2025-03-07 16:37:01 +01:00
Stephan de Wit
d52f6ca1f2 shaper: make sure dnctl is started before pf
We cannot guarantee this happens via RC, so skip it there and
unconditionally reload it during the filter reload.
2025-03-07 13:35:16 +01:00
Monviech
78e6a097b7
dnsmasq: Add missing hint for lease time default value (#8413) 2025-03-07 09:28:25 +01:00
Monviech
877b219c64
dnsmasq: Allow domain overrides to be optionally sorted by sequence number to support strict-order (#8411)
* dnsmasq: Allow domain overrides to be optionally sorted by sequence number to support strict-order.

* dnsmasq: Make sequence required, default to 1 and bump model version, simplify sorting in template.
2025-03-07 09:11:23 +01:00
Stephan de Wit
0d8f57f316 ipfw: silence rc output if module not loaded 2025-03-07 08:41:41 +01:00
Monviech
cd23cfce17
dnsmasq: Use interface directly as tag in dhcp options (#8408)
* dnsmasq: Use interface directly as tag in dhcp options

* dnsmasq: Always add tag to interface since set is automatic when interface receives DHCP Broadcast.
2025-03-07 08:23:18 +01:00
Monviech
b11baac9d5
dnsmasq: When dhcp-fqdn is set, there must be a domain without an address set as default (#8405)
* dnsmasq: When dhcp-fqdn is set, there must be a domain without an address set as default
2025-03-07 08:19:57 +01:00
Ad Schellevis
b7ed45db20 System: Access - bring back audit messages (similar to the ones implemented for legacy in cfb84fe8e9, closes https://github.com/opnsense/core/issues/8409 2025-03-06 18:48:32 +01:00
Stephan de Wit
3bf818348c
shaper: move pipe & queue configuration to dnctl service (#8404)
if no shaper (ipfw) rules are present, or these rules are disabled, ipfw will be disabled as well (firewall_enable="NO" and rc.ipfw onestop).

Traffic shaped via pf will not show up in the stats output of dnctl pipe|queue|sched show. Also, there is currently no logic to associate pipes/queues with pf rules.
2025-03-06 10:32:13 +01:00
NOYB
3a1b88bf90
reporting: granularity default item label tweak (#8407) 2025-03-06 07:36:19 +01:00
Franco Fichtner
034fe656fd openvpn: style 2025-03-05 21:46:05 +01:00
Ad Schellevis
01ceab0f02 openvpn: fix regression in dd999d732c, advanced toggle's id changed 2025-03-05 21:02:56 +01:00
Ad Schellevis
eb6e9a9fcf VPN: OpenVPN: Instances - add basic http client option, closes https://github.com/opnsense/core/issues/8342 2025-03-05 20:58:19 +01:00
Ad Schellevis
e7ad0a4fcb VPN: OpenVPN: Instances - only show "Compression migrate" and "Persist address pool" in server mode, minor change for https://github.com/opnsense/core/pull/8396 2025-03-05 20:25:02 +01:00
Ad Schellevis
4d9739d68a VPN: OpenVPN: Instances - add dco validation for fragment size, closes https://github.com/opnsense/core/issues/7989 2025-03-05 20:12:57 +01:00
Ad Schellevis
3e6467758a OpenVPN: add token generation button for "Auth Token secret" input as implemented in https://github.com/opnsense/core/pull/8396 , also fix a minor glitch around advanced options. 2025-03-05 20:04:02 +01:00
Marius Halden
2178e59f05
OpenVPN: Add support for various options (#8396)
Add support for auth-gen-token renawal time.

Add support for auth-gen-token-secrets to allow failover between
servers.

Add support for pushing inactive to clients to have them disconnect
after being idle for a set time.

Add support for explicit-exit-notify and for pushing it. This will allow
UDP connection to notify peers that they are going away.

Add support for ifconfig-pool-persist, which will allow smoother roaming
combined with auth-gen-token since client will keep their ip address.

Add support from compress migrate. This option will conditionally use
stub compression for clients announcing they have compression enabled
while leaving it of for all other clients.
2025-03-05 20:03:42 +01:00
Franco Fichtner
6b4c98726d system: tweak UX of tunables; closes #7440
Build a formatter for the empty default and hide the
virtual fields from the default dialog by default.

The cloning doesn't make a lot of sense here so remove
it completely.

Delete only if in config.
2025-03-05 17:57:00 +01:00
Franco Fichtner
85319e2501 system: migrate 'default' tunable value to empty one #7440
After a bit of back and forth and issues reported with
bootstrapping it's better to get rid of the old keyword
which unifies the default selection under the empty value.
2025-03-05 14:17:58 +01:00
Ad Schellevis
06184a0619 Services: Dnsmasq DNS & DHCP - missing tag: prefix for interfaces 2025-03-05 13:22:18 +01:00
Ad Schellevis
3185ba9cf0 tunables: empty values are defaults in our new mvc model, prevents "sysctl: empty numeric value" messages during boot. 2025-03-05 11:01:31 +01:00