16758 Commits

Author SHA1 Message Date
Franco Fichtner
868a74e058 interfaces: cleanup spurious functions regarding VIP access
We do this for different reasons, but mainly for code maintenance
and simplicity.  It also fixes a few aquire/display bugs with
overlapping linl-local VIPs across interfaces, but not all.
2025-04-04 11:29:51 +02:00
Monviech
7210f016eb
dnsmasq: Implement a light validation for option6 values (#8520)
* dnsmasq: Implement a light validation for option6 values as they require to be wrapped inside square brackets if they contain an IPv6 address

* dnsmasq: Improve the IPv6 bracket check, also handle multiple ipv6 addresses that are comma separated, use isIpv6Address()

* dnsmasq: Put IPv6 value check inline since dhcp-match and dhcp-option have been unified in master.

* Update src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php

Co-authored-by: Ad Schellevis <AdSchellevis@users.noreply.github.com>

* Update src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php

Co-authored-by: Ad Schellevis <AdSchellevis@users.noreply.github.com>

* dnsmasq: trim value directly

---------

Co-authored-by: Ad Schellevis <AdSchellevis@users.noreply.github.com>
2025-04-04 08:42:13 +02:00
Ad Schellevis
905b990dea filter: replace update_params for argparse 2025-04-03 21:05:18 +02:00
Monviech
207bddcad5
TrafficShaper: Implement base_bootgrid_table and base_apply_button (#8524) 2025-04-03 16:08:04 +02:00
Ad Schellevis
f90e5445db System: Trust: Certificates - offer config directory (/usr/local/etc/ssl/ext_sources/) to store locations for certificates not managed by us, but practical to know about their existence. closes https://github.com/opnsense/core/issues/8279
This is useful for services like OPNWAF and Caddy. This commit only adds the facility and changes the admin page, the widget is left unaltered.
2025-04-03 15:11:54 +02:00
Franco Fichtner
63b9f2e1aa system: allow multiple manual DNS search domains; closes #8522
The length and input isn't bound but when writing resolv.conf
we will adhere to the requirement mentioned in the man page:

    The search list is currently limited to six domains
    with a total of 256 characters.

We simply don't always know how many the system was being provided
with from the ISP so it is what it is.
2025-04-03 11:18:25 +02:00
Stephan de Wit
dbf37413b9 Revert "bootgrid: resizable columns (#8496)"
This reverts commit de5dd5f5278edbae14bfa1bc76751ae360b834e0.

table-layout: auto; seems to do more harm than good, while originally
intended to improve out-of-bounds table row situations, it proves
to cause the same issue for long cell content as it now
ignores overflow:ellipsis.
2025-04-03 08:37:26 +02:00
Monviech
732a393fb7
dnsmasq: Unify dhcp-option and dhcp-match in the same grid (#8516)
* dnsmasq: Unify dhcp-option and dhcp-match in the same grid

Both dhcp-option and dhcp-match use almost the same fields in the form and concern the same options.
Unifying them could make sense to remove some duplicate code and potentially improving the UX.

* make plist and remove console log debug statement
2025-04-03 08:10:48 +02:00
Ad Schellevis
7ec7e1d174 Firewall: Aliases - fix regression in alias table in json format (https://github.com/opnsense/core/issues/8277)
In order to support both formats, we should break with the first succesful compile().

A workaround in the current version is to omit the {.} in the path expression.
2025-04-02 18:05:01 +02:00
Franco Fichtner
97da2221d7 radvd: refactor use of get_configured_carp_interface_list() 2025-04-02 16:24:44 +02:00
Monviech
ef1c4e07c8
kea: Fix missing ACL privileges (#8519) 2025-04-02 14:13:58 +02:00
Franco Fichtner
adf95bc108 radvd: fix description lookup for #8512 2025-04-02 13:19:58 +02:00
Robin Müller
25d629fcd3
radvd: fix list of source addresses on overlapping link-locals (#8517) 2025-04-02 13:08:32 +02:00
Franco Fichtner
557b793a4e mvc: style 2025-04-02 12:13:45 +02:00
Ad Schellevis
04b5749010 System: Access: Users - fix two typo's, missing comments in grid and disfunctional default landing page 2025-04-02 09:45:40 +02:00
Ad Schellevis
b55023315c Services: Kea DHCP: Kea DHCPv4 - allow manual configuration for advanced scenarios, closes https://github.com/opnsense/core/issues/7822
This commit adds a toggle which skips config file generation for kea-dhcp4.conf and lets the user handle it manuallt, service startup and control stays in place while manually configured.
When manual mode is selected, all other options will be hidden in the form, which should help people understand (and read) what the purpose of this toggle is (advanced mode).
2025-04-01 21:22:02 +02:00
Ad Schellevis
4de4bd2774 Firewall: Rules - fix presentation when alias name overlaps group name. closes https://github.com/opnsense/core/issues/8423
Unfortunately we can't prevent all overlaps, but at least we cab make it consistent with the rules being generated. loadAliasMap() overlays aliases on top of networks (and interface groups), swapping the order makes sure we thread them equally.
2025-04-01 20:48:29 +02:00
Alexander Lauster
8c609298f3 Sunset mirror dns-root.de 2025-03-31 20:57:40 +02:00
Ad Schellevis
d8adc429f7 VPN: OpenVPN: Client Export - add "Enable static challenge (OTP)" option, closes https://github.com/opnsense/core/issues/8488 2025-03-31 18:52:26 +02:00
Franco Fichtner
f698e25cbb firmware: "fix" the issue of user clicking check after clicking check from dashboard
We could move the check to backend() at the risk of breaking firmware upgrades on
errors.  Breaking the auto-check seems like the lesser evil.

In reality you can always go back to the status tab and re-create the issue by
clicking check for updates again after already having it clicked.  That is why the
page actually switches to the updates tab on click.  The update click is also delayed
to give the status call to fill the status tab first which immitates a normal page
render.

The issue actually appears because:

1. Backend options are detached and are dispatched, but since they run in the backround
   we don't return any feedback because we don't have it.  This then...
2. ... creates a parallel chain of trackStatus() calls which eventually reports the same
   modal.

The issue only appears when no updates are found or triggering a separate error modal.
When updates are found this is handled gracefully.

Making the modals and errors static seems like overkill as well.

Keeping friction and magic out of this page is important too.
2025-03-31 17:06:18 +02:00
Monviech
3f1ed2dff5
auth/user: Fix url hash in link so redirection shows the correct menu path (#8509) 2025-03-31 13:06:47 +02:00
Monviech
c48353cdc1 dnsmasq: Change add_mac OptionValue from default to standard to satisfy lint 2025-03-28 20:57:42 +01:00
Monviech
8d6ca1fa98
dnsmasq: Add full dhcp-host support for IPv4 and IPv6 (#8497)
* dnsmasq: Add full dhcp-host support for IPv4 and IPv6

* dnsmasq: Cleanup previous in dnsmasq.inc

* dnsmasq: Change comma placement in template to reduce one condition

* dnsmasq: Add validation to client_id

* dnsmasq: There can be multiple hardware addresses so change label accordingly

* dnsmasq: Change hostname validation so that client_id is also a valid choice without hostname defined.

* dnsmasq: Add validation that prevents duplicate IP addresses in dhcp-host set

* remove one stray newline

* Services: Dnsmasq DNS & DHCP - minor cleanups in https://github.com/opnsense/core/pull/8497

o fix possible race condition in validations
o simplify jinja template

---------

Co-authored-by: Ad Schellevis <ad@opnsense.org>
2025-03-28 19:48:33 +01:00
Ad Schellevis
ad09e7aa6c Services: Unbound DNS: Blocklist - drop "exclude" phrase from log entry as it doesn't make much sense anymore (as a result of aa2cff3e66) 2025-03-28 17:53:39 +01:00
Franco Fichtner
b2dc6fed7c firmware: add cleanup to audits, small refactor to avoid controller repetition; closes #8154 2025-03-28 13:42:13 +01:00
Franco Fichtner
d8ecd8c31b firmware: hook cleanup as hidden "f"lush command in console #8154
Some may argue the hidden commands are not good, but they are really
only to be intended to be called upon request.  None of these things
magically fix firmware updates on their own, but can be useful (and
copying console output into the forum can also be more difficult).
2025-03-28 12:51:50 +01:00
Franco Fichtner
433d8d62b3 unbound: model style 2025-03-28 12:19:33 +01:00
Franco Fichtner
51a5118d6e ipsec: pre-shared key permission fix
PR: https://forum.opnsense.org/index.php?topic=46595.0
2025-03-28 12:17:51 +01:00
Franco Fichtner
2774a9b498 firmware: add cleanup script #8154 2025-03-28 09:51:53 +01:00
Ad Schellevis
e4203d81eb Reporting / Insight - cleanup frontend code and move some processing to the backend for easier handling.
Eventually we want to replace the d3 graphs, but before doing that, it's likely a good idea to cleanup the code for readability.
2025-03-27 20:53:28 +01:00
Stephan de Wit
de5dd5f527
bootgrid: resizable columns (#8496) 2025-03-27 16:10:29 +01:00
Franco Fichtner
7fc2ab43a4 dnsmasq: style sweep 2025-03-27 11:29:05 +01:00
Ad Schellevis
a7cb604301 System: Gateways: Group - fix typo in trigger level, loss or latency is actually both combined. 2025-03-27 11:24:55 +01:00
Monviech
92881adb40
firewall/filter: Use fetch_options from opnsense_ui.js to build interface_select selectpicker (#8493)
* firewall/filter: Use fetch_options from opnsense_ui.js to build interface_select selectpicker

* Update src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php

Co-authored-by: Franco Fichtner <franco@opnsense.org>

---------

Co-authored-by: Franco Fichtner <franco@opnsense.org>
2025-03-27 11:23:35 +01:00
Ad Schellevis
d73ec9feae Reporting / Insight - move single_pass to command line parameters for easier debugging 2025-03-27 11:22:33 +01:00
Monviech
8db4e28614
dnsmasq: Add filter function for interfaces and tags with multiselect (#8465)
* dnsmasq: Add filter function for interfaces and tags with multiselect

* dnsmasq: Small cleanup in filter selectpicker previous

* Refactor search actions and tag filtering

- Use single helper function for building filter
- Use tag UUIDs instead of names for filtering
- Avoid building filter functions when filters are empty
- Pass null to searchBase() when no filtering is required
- Use UUID-based filtering for dhcp_tags via record attributes

* dnsmasq: Make tags and interfaces dropdown just a tad nicer

* Services: Dnsmasq DNS & DHCP - cleanups for https://github.com/opnsense/core/pull/8465

simplify recurring pattern for tag search and move select options generation into common jquery function.

---------

Co-authored-by: Ad Schellevis <ad@opnsense.org>
2025-03-26 18:05:00 +01:00
Franco Fichtner
b163c68bf9 backend: restore missing Python module
PR: https://forum.opnsense.org/index.php?topic=46556.0
2025-03-26 15:40:41 +01:00
Franco Fichtner
7dae89eadf system: small audit of auth.inc 2025-03-26 08:55:41 +01:00
Franco Fichtner
fd98874ce7 firewall: use the established "; exit 0" idiom here
Eventually it may be more helpful to have a property such as...

    errors: no
2025-03-26 07:37:42 +01:00
Franco Fichtner
e57aeea3e8 openvpn: whitespace in comment 2025-03-26 07:35:01 +01:00
Ad Schellevis
7f9444f754 Reporting / Insight - remove some unused imports 2025-03-25 21:36:11 +01:00
Monviech
46999a32c3
auth/user: Remove styles conflicting with 387c381300 (#8483) 2025-03-25 15:05:38 +01:00
Franco Fichtner
384af7f019 firewall: tweak 2025-03-25 14:40:21 +01:00
Franco Fichtner
8ca6916fd0 system: two minor tweaks 2025-03-25 14:31:36 +01:00
Franco Fichtner
32c9ad3a4a system: minor consolidation on previous 2025-03-25 14:17:24 +01:00
Ad Schellevis
b61f21ae6b System: Gateways: Configuration - move affected gateways into monitor event (introduced monitor_killstates in ff91932d5d) and kill states in 20-recover when configured. for https://github.com/opnsense/core/issues/6803 2025-03-25 13:49:07 +01:00
Monviech
0538ef324e
dnsmasq: Require interface when ra_mode is selected due to ra-param interface requirement. (#8482)
* dnsmasq: Require interface when ra_mode is selected due to ra-param interface requirement. Hide ra-param in dialog when ra_mode is default, since then the global enable_ra defaults are used instead.

* Update src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/forms/dialogDHCPrange.xml

Co-authored-by: Franco Fichtner <franco@opnsense.org>

* Update src/opnsense/mvc/app/models/OPNsense/Dnsmasq/Dnsmasq.php

Co-authored-by: Franco Fichtner <franco@opnsense.org>

* Update src/opnsense/mvc/app/views/OPNsense/Dnsmasq/settings.volt

Co-authored-by: Franco Fichtner <franco@opnsense.org>

---------

Co-authored-by: Franco Fichtner <franco@opnsense.org>
2025-03-25 11:48:12 +01:00
cd3c2eefd2
system: add comments to OpenVPN widget for #8476 (#8480) 2025-03-25 07:01:40 +01:00
Stephan de Wit
370fdcffcb system: set senderr_demotion_factor to 0, fixes https://github.com/opnsense/core/issues/8437 2025-03-24 15:59:13 +01:00
cs-1
2422686fad
Display OpenVPN virtual IPv6 addresses for OpenVPN clients in dashboard widget (#8476)
* Display OpenVPN virtual IPv6 addresses for OpenVPN clients

* Check for virtual IPv6 address

* Filtering client vars and join them

* Revert "Filtering client vars and join them"

This reverts commit 8914b39d82ebc50656884172c290d8e8db7a1137.

* Moved logic

* Revert "Moved logic"

This reverts commit c66182871031c64d938bc70bf4d0c57f00634c28.

* Moved ip address list logic

---------

Co-authored-by: lucaspalomodevelop <lucas.palomo@t-online.de>
2025-03-24 13:19:14 +01:00