16898 Commits

Author SHA1 Message Date
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
0487802a4b firmware: fix plist 2024-06-11 14:08:58 +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
Stephan de Wit
341a4ce8c9 fix plist 2024-06-07 14:54:00 +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
Stephan de Wit
0d895a3781 dashboard: typo in previous, also fix plist 2024-06-07 13:01:27 +02:00
Stephan de Wit
2d73903529 dashboard: add thermal sensors widget 2024-06-07 10:48:11 +00:00
Franco Fichtner
10f7043769 interfaces: present interface ID in hex
We have to revoke being able to set "random" here for now, but
it's not a huge issue since the fallback is now in the daemon.
The daemon also supports the full unsigned long long range but
does not allow hex input which means we are stuck with losing the
highest bit for now if we store in integer in PHP.

We could store a string, but then cannot verify it and it would
not be a hex value.  Meh.
2024-06-07 10:42:24 +02:00
Ad Schellevis
1ee618f961 mvc: move existing JsonKeyValueStoreField caches to configd (ref https://github.com/opnsense/core/issues/7515) 2024-06-06 19:48:13 +02:00
Ad Schellevis
a39add8b7f mvc:model:JsonKeyValueStoreField - support congfigd input without filestream, needed for https://github.com/opnsense/core/issues/7515
basically this just offers the option to remove the SourceFile reference and keep the configd action, the call overhead of using configd is quite low anyway and #7515 implements generic caching (which was the intend of the file handle)
2024-06-06 18:56:16 +02:00
Ad Schellevis
06d507704e configd - add optional cache_ttl for script_output actions, closes https://github.com/opnsense/core/issues/7515
Add a generic time based cache option for configd sscript action events, example usage:

[action]
command:/path/to/my/command
type:script_output
cache_ttl=5

cache_ttl is specified in seconds after last started execution.
2024-06-06 18:44:43 +02:00
Franco Fichtner
0dc1f2186a interfaces: fix typo in previous #5630 2024-06-06 14:44:08 +02:00
Franco Fichtner
bb041b9085 interfaces: fixed the PPPoE hiccup in dhcp6c, remove this remark 2024-06-06 13:51:59 +02:00
Franco Fichtner
6f2e844698 interfaces: allow ifid specification for #5630
For some reason it convinces me further that we should fix the
ifid default case with a fallback in dhcp6c because users will
not necessarily make that connection and just raise a bug report.
2024-06-06 11:26:43 +02:00
Stephan de Wit
a5a7b0887c interfaces: isset vs empty (https://github.com/opnsense/core/issues/7485) 2024-06-05 13:35:12 +02:00
Ad Schellevis
79ab5ec44a Firewall: Aliases / generic MVC - performance improvments, closes https://github.com/opnsense/core/issues/7509
fix regression in earlier commit.
2024-06-05 13:30:20 +02:00
Franco Fichtner
d786844dc4 interfaces: typo #5630 2024-06-05 08:52:24 +02:00
Franco Fichtner
54204b05b2 interfaces: avoid pluginctl giving out IPv4 info for non-interfaces 2024-06-05 08:50:57 +02:00
Franco Fichtner
0e543767d5 ui: prevent word break for top level menu items; closes #7511 2024-06-05 08:46:23 +02:00
Franco Fichtner
fc9d359f28 system: split pluginctl -X/-x for cleaner approach 2024-06-05 08:07:22 +02:00
Franco Fichtner
cda5801a74 interfaces: fix a typo 2024-06-05 07:48:03 +02:00
Franco Fichtner
51d75b6302 interfaces: follow up for #5630 2024-06-05 07:39:15 +02:00
Franco Fichtner
bc34a38c02 interfaces: bring optional prefix ID to advanced DHCPv6 WAN settings #5630 2024-06-04 21:51:36 +02:00
Ad Schellevis
edd7a00a39 Firewall: Aliases / generic MVC - performance improvments, for https://github.com/opnsense/core/issues/7509
refactor service name existence check as getservbyname() seems to be quite slow when large lists of entries need to be validated.
2024-06-04 21:05:57 +02:00
Franco Fichtner
112777fb75 src: style sweep 2024-06-04 17:33:51 +02:00
Ad Schellevis
930fa4e39f Firewall: Aliases / generic MVC - performance improvments, closes https://github.com/opnsense/core/issues/7509
This commit improves alias save/validate performance by fixing two main issues:

1) Faster unique constraint handling using caching, in order to prevent nested loops we should cache our results while still in the validation cycle.

This required an attribute to count validation cycles so we know the model could not have changed in between, getValidationSequence() helps to reach that goal

2) Alias::getByName() more optimistic caching, also prevening nested loops when locating aliases.

Although this is slighly more optimistic than the previous construction, in practice when validating data the set won't change, if there is a risk of mutations, we should flush the set using the "flush" parameter (same as before, but a bit more sensitive).
2024-06-04 16:23:11 +02:00
Franco Fichtner
e3856e03a3 system: address false positive scanner result by making the intention explicit
Discussed with: @adschellevis
2024-06-04 14:08:43 +02:00
Franco Fichtner
b5f8805aa3 mvc: style issue 2024-06-04 13:25:44 +02:00
Franco Fichtner
88d98c7674 monit: improve previous
Let the user decide on the password and use root as the default,
but then also allow these to be seen on the GUI and stop flapping
options when a header can do the same job now.
2024-06-04 12:39:13 +02:00
Franco Fichtner
d126302ac8 monit: only require user/pass if httpd is enabled #7503
Which is off by default and we're dealing with (s)rand() use that shouldn't
be here even.
2024-06-04 09:30:42 +02:00
Franco Fichtner
9d5b1e73d5 src: copyright style 2024-06-04 06:46:05 +02:00
Franco Fichtner
a021a95868 src: style update 2024-06-03 21:10:39 +02:00
Ad Schellevis
79312f47ea opendns - add xmlrpc sync hook 2024-06-03 16:13:16 +02:00
Ad Schellevis
abec7c49be mvc:request - allow mixed for $defaultValue so we can pass strings or arrays 2024-06-03 15:48:15 +02:00
Franco Fichtner
cad058ef24 system: do not create an interface route without an address #7452
Similar to what default route handling already does.  In this case
it's not logged as an error, because the condition is likely normal.
2024-06-03 13:53:36 +02:00
Franco Fichtner
e869d1aa4e src: style sweep 2024-06-02 21:39:15 +02:00
Ad Schellevis
cbd4f266df Interfaces: Virtual IPs: Settings - add peer/peer6 options (available as of FreeBSD 14.x) closes https://github.com/opnsense/core/issues/7486
Currently it doesn't seem to be possible to reliably set both peer and peer6, but since in the kernel these are organized as two fields on the same vhid we prevent both being set with a validation.
If we would only offer a "peer" field matching the ip protocol, we might have difficulties in the future when both can be provided at the same time.

This commit parses the ifconfig output and offers the result in the interfaces/overview page (tooltip like freq settings).
2024-06-01 18:34:38 +02:00
Ad Schellevis
575f9ccaab System: High Availability: Settings - fix version ignored due to selecting the wrong field (https://github.com/opnsense/core/issues/7485) 2024-06-01 16:40:13 +02:00
Ad Schellevis
c216e560b3 System: High Availability: Settings - escape shell arguments for consistency (https://github.com/opnsense/core/issues/7485) 2024-06-01 16:34:03 +02:00