15614 Commits

Author SHA1 Message Date
Jason Fayre
98b207e829
MVC: remove aria-hidden from base dialogs (#7589)
Aria-hidden attribute makes dialogs inaccessible for screen readers.
2024-07-01 20:06:32 +02:00
Stephan de Wit
6355a3debd dashboard: be more conservative with widget resizes and fix missing translation 2024-07-01 09:35:32 +02:00
Stephan de Wit
3b67715319 dashboard: remove caching from metadata fetch 2024-07-01 09:21:33 +02:00
Stephan de Wit
95ccb5c373 dashboard: Announcements: leftover debug statement 2024-07-01 09:17:20 +02:00
Stephan de Wit
384b6883e8 dashboard: restoreDefaults should operate with and check for POST 2024-07-01 09:16:31 +02:00
Ad Schellevis
9318d7744d VPN: WireGuard - fix ip proto detection for manual gateway. closes https://github.com/opnsense/core/issues/7585 2024-06-30 10:31:51 +02:00
Ad Schellevis
848f1ea602 VPN: IPsec: Tunnel Settings [legacy] - prevent gateway when remote gateway family doesn't match selected protocol (https://github.com/opnsense/core/issues/7582) 2024-06-29 21:47:06 +02:00
Ad Schellevis
c0480a289c Lobby: Dashboard - add Announcements widget (previous RSS content). for https://github.com/opnsense/core/issues/7244 2024-06-29 21:32:17 +02:00
Ad Schellevis
3f39de0498 Lobby: Dashboard - prevent widget javascript files being cached by import(), similar trick is being used for other js/css files on our end. 2024-06-29 19:30:17 +02:00
Stephan de Wit
57184b24e6 dashboard: leftover debug statement 2024-06-28 14:51:27 +02:00
Stephan de Wit
5c73242566 dashboard: remove endpoint annotation from widget files 2024-06-28 14:36:36 +02:00
Stephan de Wit
e0587f7bff dashboard: pluggable metadata files 2024-06-28 14:32:14 +02:00
Ad Schellevis
351b07420a MVC:ui - execute failure callback on error response in saveFormToEndpoint(), this prevents spinners turning on modals when a userexception is thrown. 2024-06-26 21:30:47 +02:00
Stephan de Wit
89a20888f2 dashboard: with Gridstack 10.2.1 save() behavior seems to be more consistent 2024-06-26 15:46:52 +02:00
Stephan de Wit
4df910f8d0 dashboard: update Gridstack to version 10.2.1 2024-06-26 15:46:09 +02:00
Ad Schellevis
167a2eb985 Services: Captive Portal: Administration - remove Transparent proxy settings, closes https://github.com/opnsense/core/issues/7557 2024-06-26 15:34:36 +02:00
Stephan de Wit
818b0412f5 bootstrap-select / dashboard: align selectpicker and force higher z-index 2024-06-26 15:18:03 +02:00
Stephan de Wit
2aeb8074d1 dashboard: add mechanism for widget-specific data storage and restructure BaseWidget 2024-06-26 14:58:15 +02:00
Ad Schellevis
902487aecc Firewall: Aliases - uniform selectpickers and make sure they are visible. closes https://github.com/opnsense/core/issues/7560 2024-06-26 14:54:44 +02:00
Monviech
f3a3e6a86e
Dashboard: Add IPsec Leases Widget (#7549)
* Add Ipsec Leases widget to display a list of mobile IPsec users, their online status and their IP addresses.

* Add translations to IpsecLeases Widget.

* Remove nested promises and improve error handling.

* Fix small error that userCountsRow was added twice.

* IpsecLeases fix sorting of users by online status.

* Add IpsecTunnels widget that shows the online/offline status, phase 1 description, local and remote address of each configured IPsec Tunnel.

* Create new method dataHasChanged() in IpsecLeases class, that detects if collected leases have changed. If not, the UI is not updated. Since detecting data changes should be less expensive than updating the whole UI every time, the performance should be better. The console log statements can be used to verify the functionality.

* Also track if the number of leases have changed. Lower tickTimeout to 2 seconds since only updating changed data seems very efficient. This makes the widget update almost in real time without having a big performance impact.

* Generalize dataHasChanged method to compare strings in a deep comparison instead of comparing explicit keys in a shallow comparison. Rewrite IpsecTunnels to use the same methods as IpsecLeases. Comment out console statements.

* Remove debugging statements from code.
2024-06-26 09:32:39 +02:00
Stephan de Wit
0b860caaa5 dashboard: update interfaces widget 2024-06-26 09:11:50 +02:00
Ad Schellevis
3a57584325 mvc: dialogs - make sure selectpickers can break out of modal.
After implementing 1c8639c338, the overlay got more problematic. pinning the select to body makes it overlay inside modals.
2024-06-25 12:06:30 +02:00
Franco Fichtner
0f73da02ad system: fix permission 2024-06-22 17:40:08 +02:00
Ad Schellevis
df7adc41c2 System: Firmware - minor regression in f7999a7d56 2024-06-22 15:18:25 +02:00
Ad Schellevis
cfd7dca5ec mvc: partially fix container field cloning, closes https://github.com/opnsense/core/issues/7521
While cloning model fields, the identifier for these new fields should also be set, which is currently being arranged in the ArrayField->add() method.
This commit makes sure we set the identifiers for one level below the array field type, which is good enough for current implementations, eventually this should be a recursive action or needs a way to push the identifiers directly on clone.

re-arrange the code a bit as well to remove the need for the $new_record array.
2024-06-22 11:16:54 +02:00
Stephan de Wit
de1f9a0852 dashboard: add basic live log widget 2024-06-21 15:03:42 +02:00
Stephan de Wit
c522ecac65 configd: extend log query mechanism with streaming capability 2024-06-21 12:31:54 +02:00
Franco Fichtner
21df35228c system: proper HA sync for new one-to-one NAT section 2024-06-20 16:13:23 +02:00
Franco Fichtner
cb8a6e1f9a firewall: fix style/indent issues 2024-06-20 09:29:30 +02:00
Franco Fichtner
faaf2b6698 firewall: misssed the serialize() call, convert to array earlier 2024-06-20 07:54:50 +02:00
Franco Fichtner
2073b7533e firewall: the NAT 1:1 reflection default was ignored 2024-06-19 21:26:13 +02:00
Franco Fichtner
6cbd3ca159 firewall: typo in "destination" migration for one-to-one NAT
PR: https://forum.opnsense.org/index.php?topic=41119.0
2024-06-19 20:07:35 +02:00
Franco Fichtner
5b73396f08 firewall: typo in one-to-one controller for external column
PR: https://forum.opnsense.org/index.php?topic=41119.0
2024-06-19 19:41:29 +02:00
Franco Fichtner
bde6566690 firewall: add 'natreflection' to form as well 2024-06-19 14:33:51 +02:00
Franco Fichtner
324f5351dd firewall: 'natreflection' rule attribute missed in migration
PR: https://forum.opnsense.org/index.php?topic=41122.0
2024-06-19 14:11:41 +02:00
Franco Fichtner
0aa2b491af
interfaces: change IPv6 requirements #7527 (#7538)
The origin of the link-local allow rule for DHCPv6 traffic is a bit weird and
the rule itself is probably dysfunctional, see pfsense/pfsense@dbcddabcdf
It has never been edited again and remains the same in OPNsense and pfSense
today.  Typically server client traffic exchanges exclusively over port 546 and
547 so the original one may have been a typo.

Now as witnessed by #7527 the server port could be random, but should
always come from link-local so we can merge both rules into one without
causing much problems.  Works fine locally on my network too.
2024-06-18 19:28:33 +02:00
Ad Schellevis
fbe5922bd9 Services: Kea DHCP [new]: Kea DHCPv4 / subnets - add description field. closes https://github.com/opnsense/core/issues/7540 2024-06-18 18:37:09 +02:00
Stephan de Wit
db6ea57d6c dashboard: add monit widget 2024-06-18 16:11:25 +02:00
Stephan de Wit
34cafe3e98 dashboard: allow widget locking 2024-06-14 14:44:32 +02:00
Franco Fichtner
105ecf9a5a system: fix backend log message
PR: https://forum.opnsense.org/index.php?topic=40950.0
2024-06-12 19:43:59 +02:00
Franco Fichtner
dac769feeb firmware: add 24.7 fingerprint 2024-06-11 12:50:49 +02:00
Stephan de Wit
5e2708b866 dashboard: system information missing licensing information 2024-06-10 11:35:30 +02:00
Franco Fichtner
a2ac1999f3 interfaces: force regeneration of link-local on spoofed MAC; closes #4430
While here make it possible to go back to the original MAC address by
providing the "hwaddr" field of ifconfig back to link command.

This operates under the constraint that the interface where the MAC
address changes is the same as the interface where IPv6 is running
so that we do not perform useless or problematic configuration.

The case for VLANs and parent MACs is probably also quite tricky, but
since it has never been considered before do not start now.
2024-06-10 09:23:18 +02:00
Franco Fichtner
50eff7d230 src: style sweep 2024-06-09 09:40:33 +02:00
Ad Schellevis
e66dbbd6eb Firewall: Diagnostics: Sessions - refactor pftop output, move search to controller layer and implement cache.
This commit should improve responsiveness of the sessions screen, since we needed to parse the full data in the previous version as well before returning it, this shouldn't be much slower on initial load.
Only risk is the size of the generated json output, by moving the label parsing we replicate less data and reduce total size.
2024-06-08 19:29:23 +02:00
Ad Schellevis
d496eea29c Interfaces: Diagnostics: ARP|NDP Table - enable cache to increase responsiveness 2024-06-08 18:27:44 +02:00
Ad Schellevis
ff0e772b5b mvc: improve searchRecordsetBase() to support the following features:
* update the recordset passed in $filter_funct, similar to what the model search supports
* optional $search_clauses to overwrite post `searchPhrase` in cases we want to filter these from the controller.
2024-06-07 19:22:00 +02:00
Stephan de Wit
a404e9c5a2 dashboard: toggle SSE persistent connections based on document visibility
While SSE promises to be properly multiplexed over HTTP/2, it seems browsers
still hit a hard limit when opening >6 connections. Since the streams are not
critical, it's fine to abstract the eventsource logic to the base widget class
where it manages open/closing connections based on tab visiblity.

If we need more than 6 parallel streams, we need to revamp the logic
to multiplex multiple event types in the backend ourselves, but this is not
necessary for now.
2024-06-07 16:28:04 +02:00
Franco Fichtner
b955dbc251 interafces: track interface id #5630 2024-06-07 14:51:31 +02:00
Stephan de Wit
6db977e56a dashboard: thermal sensors requires close action 2024-06-07 13:05:57 +02:00