534 Commits

Author SHA1 Message Date
Franco Fichtner
cf88dbbdd7 pkg: fix plist 2022-07-31 20:46:39 +02:00
Franco Fichtner
83524325fc pkg: fix plist 2022-07-28 10:03:42 +02:00
Stephan de Wit
f8650c76aa
System Status: replace old notices system with a global one (#5875)
* MVC / System status: first draft for backend implementation

* fix copyright

* fix permissions

* MVC / System Status: modify backend implementation and setup front-end

* MVC / System Status: minor cleanup, ACL check and fix reporting in production mode

* MVC / System Status: copy status sytem to legacy as well, remove the notices system, finish up front-end work

* MVC / System Status: remove useless constructor

* fix plist

* System Status: shorten previous

* System Status: add ACL check

* System Status: also remove legacy part

* System Status: also clean up on legacy page

* System Status: ACL check on dismiss action as well

* System Status: add readonly privilege check to dismiss action

* System Status: do not trust input

* System Status: address security concerns

* add default return

* System Status: move js code to separate script and make sure a logLocation is always provided

* System Status: clean up callout in both legacy page and volt template

After dismissing a message and closing the dialog, the old message was still bound to the dialog instance. re-registering the onclick callback solves this.

* System Status: adjust log location and kick off status system on alias errors

* System Status: let's hold off on throwing notifications for aliases for now

* System Status: add ACL entry for the dismiss API call, adjust to new deployment situation

Without the ACL entry, /api/core/system/dismissStatus calls are rejected for non-root users even when they should have rights to dismiss.

Also do a minor consistency improvement and also adjust to the new situation of production & development deployment types. We need to account for the possibility of 'deployment' being empty in the configuration, therefore a direct check of the 'development' type seems most fitting as this is unlikely to change or be subjected to any additions.

* System Status: also error out when unable to write new rules

* System Status: account for users without permissions

* System Status: name collision in FirmwareController

* System Status: replace old notices system with a global one (https://github.com/opnsense/core/pull/5875)

Review feedback / modifications in this commit:

o filter.inc

-- remove wedged message, when locked during parallel reloads it likely doesn't help to disable/enable
-- flush message to error trigger file

o SystemStatus.php
-- str_contains --> strpos; eases testing on OPNsense 22.1.x as str_contains is php 8 only

o Status collectors
-- simplify logic and propagate messages received from status file

o CrashReporterStatus
- the existence of a /tmp/PHP_errors.log  file should be enough to know some process signaled the crash reporter
- remove shell exec

o FirewallStatus
-- as only /tmp/rules.error remains, remove loop to read for non existing files

o opnsense_status.js
-- add opn-status-group class to container and point css modifications in that single direction to prevent other objects from being affected by our status popup modifications
-- windows file endings replaced (^M)

o css:
keep menu_messages container to ease migration for theme developers

NOTE : ** get_crash_report() could likely be simplified as well

* filter: change to mwexec, redirection is implied

* System Status: handle potential undefined array key

seems to be a one-off error: Exception: Error at /usr/local/opnsense/mvc/app/controllers/OPNsense/Core/Api/SystemController.php:90 - Undefined array key 0 (errno=2) in /usr/local/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php:159

Co-authored-by: Ad Schellevis <ad@opnsense.org>
2022-07-28 09:50:06 +02:00
Franco Fichtner
39283ebf7c interfaces: ifctl experiment is complete #5862
Since "nameserver.sh" was a working title for when we just wanted
to make sense of the nameserver registration mess going on this
no longer fully applies for good reasons.

Change the name to ifctl.sh for leaving syntax parsing in place
and leave the symlink in sbin/ directory.  The same works nicely
for configctl.
2022-07-26 19:57:25 +02:00
Maurice Walker
d582435b4b interfaces: add support for SLAAC WAN interfaces w/o DHCPv6 #5862; closes #5883
New script to be invoked by rtsold when Router Advertisements with
RDNSS / DNSSL information are received. Uses ifctl to create the
/tmp/$if_routerv6 file and creates the /tmp/$if_defaultgwv6 file
directly. Fixes the issue that these files don't get created when
the M and O flags in RAs are not set. Also, passes RDNSS / DNSSL
info from RAs to ifctl.
2022-07-22 09:20:12 +02:00
Franco Fichtner
0aa48bc3d7 pkg: fix plist 2022-07-21 21:02:42 +02:00
Franco Fichtner
856574bbef dhcp: use a simple periodic update for now; closes #5876
Gets rid of package dependency which for dhcpleases6 simply
listens on the DHCPD lease file and runs the prefix.php command
unconditionally.

For now emulate this by issuing the command every 60 seconds
which can be adjusted later if someone complains, but seeing
how many bugs this script has had vs. how many people noticed
it (basically none) I doult this will have much impact overall.
2022-07-20 11:37:18 +02:00
Josh Soref
efb4eb3f8f firewall: fix "statistics" spelling in function and file name 2022-07-18 17:03:54 +02:00
Franco Fichtner
b9a6661f99 webgui: not required 2022-07-18 16:36:15 +02:00
kulikov-a
af0c9e18a2 webgui: handle php 500 when display_errors is off
Revert previous here.  Debug mode is "raw" error display
mode and non-debug forwards to crash reporter.

Crash reporter itself could be broken, but mostly because
the system / include chain is broken.  Until PHP offers
a reliable way to intercept parse error 500 we will have
to live with this unless it causes other side effects.
2022-07-18 13:32:31 +02:00
Franco Fichtner
b7de99e08b dnsmasq: add dnsmasq watcher; closes #5119 2022-07-15 12:16:36 +02:00
Franco Fichtner
d7ade48769 system: move script to proper location 2022-07-15 10:29:13 +02:00
Franco Fichtner
f44dbecd79 dnsmasq: roll this back a bit #5119 2022-07-15 10:26:54 +02:00
Franco Fichtner
b1c7f44102 dnsmasq: make room for dhcpleases obsoletion #5119 2022-07-15 10:08:38 +02:00
Franco Fichtner
d586a9d317 ipsec: style and plist 2022-07-12 08:08:23 +02:00
Ad Schellevis
ae62e15d07 fix plist 2022-07-07 18:51:21 +02:00
Franco Fichtner
057fe2e7d2 pkg: fix plist 2022-07-06 20:28:27 +02:00
Ad Schellevis
becf4e9342 VPN: IPsec: Status Overview - cleanup, remove vici library in favour of port package 2022-07-05 11:11:53 +02:00
Franco Fichtner
b6167bfd90 system: move add_user script out of shell scripts
Shell scripts are for opnsense-shell.
2022-07-05 08:54:45 +02:00
Franco Fichtner
82d78ebe2b pkg: fix plist 2022-07-01 14:03:25 +02:00
Franco Fichtner
57a565b6f0 pkg: fix plist 2022-06-30 11:24:35 +02:00
Franco Fichtner
05373f150e pkg: fix plist 2022-06-30 07:57:40 +02:00
Franco Fichtner
7eadf5f447 openvpn: hardcode the RFC 7919 DH parameter #4722
This allows us to remove all DH handling remnants.  If people
want to use a separate content they will have to let us know,
but it seems unlikely.  The only impact seems to be a security
bump from 2k to 4k default.
2022-06-29 20:04:07 +02:00
Ad Schellevis
f0e9cb1625 plist 2022-06-05 15:58:22 +02:00
Franco Fichtner
4173fbca0e mvc: clean up previous 2022-05-11 12:43:03 +02:00
Franco Fichtner
e8b5717b03 pkg: fix plist 2022-05-09 16:47:36 +02:00
Franco Fichtner
f59b133b01 dhcp: fix plist and add .php suffix for clarity
(it's easier to syntax check scripts with a file suffix)
2022-05-06 08:50:19 +02:00
Franco Fichtner
948235bc1d mvc: style sweep et al 2022-04-20 10:13:46 +02:00
Franco Fichtner
a9da63d2cd pkg: fix plist 2022-04-19 08:02:16 +02:00
Franco Fichtner
94ad563566 pkg: fix plist 2022-04-11 16:39:36 +02:00
Franco Fichtner
d78a7b08c4 pkg: fix plist 2022-04-11 07:43:08 +02:00
Franco Fichtner
4485895274 dhcp: allow custom configuration from directories; closes #5313 2022-04-08 14:23:48 +02:00
Franco Fichtner
5ae1244fb3 pkg: fix plist 2022-04-03 20:46:12 +02:00
Franco Fichtner
0e4c3c6321 pkg: fix plist 2022-03-22 14:57:53 +01:00
Franco Fichtner
9dfafbc2ec src: lint pass 2022-03-22 13:40:28 +01:00
Stephan de Wit
6832fd75a0
unbound: implement custom forwarders over current dot setup (#5606)
This PR pulls query forwarding over the current dot setup, so visually nothing changes.

All API calls are redirected to new Forward functions, which slightly modifies what is returned based on whether "Query Forwarding" or "DNS over TLS" is selected from the menu. This way backwards compatibility is preserved.

As an addition, a user is now able to specify a specific domain for a forward zone as well. Meaning that queries for this specific domain will skip a catch-all (".") domain (if specified), and instead use the server specified for this domain.

Entering a forward zone with a catch-all domain (".") in both Query Forwading and DNS over TLS is considered a duplicate by Unbound, so a static warning for this has been attached in the grid - however, it might be possible for a user to be warned dynamically over this.
2022-03-22 13:38:26 +01:00
Franco Fichtner
56bd1c33c2 interfaces: add manual page for ifctl; closes #5631 2022-03-18 09:28:44 +01:00
Franco Fichtner
cea2768c71 system: document configctl in a manual page #5631 2022-03-18 09:00:17 +01:00
Franco Fichtner
6446a4ccfa interfaces: ifctl link for nameserver.sh
Not sure about nameserver.sh name and scope yet so try to
hide it under a link.  We can always change the name later
although having .sh suffix helps us lint the script more easily.
2022-03-11 10:50:04 +01:00
Franco Fichtner
652ae0881c interfaces: add nameserver script to contain the situation #5565
Routes only get added in system_resolvconf_generate() now where
the DNS override is properly checked.  The nameservers are added
through the new script for convenience and removed from there as
well.  As a bonus we still scrub the routes from the nameserver
file removal to avoid creating "state" about what was done elsewhere.

This is still subject to a lot of funky races for overlapping host
routes either by ISP, manual DNS, gateway monitors or static routes.
2022-02-24 15:00:05 +01:00
Franco Fichtner
d9f2d53ea7 pkg: fix plist 2022-02-24 08:21:00 +01:00
Ad Schellevis
df01d880c6 fix plist 2022-02-22 18:46:09 +01:00
Franco Fichtner
b6ca1be13a firmware: no need to hint at upgrades anymore 2022-02-01 14:22:58 +01:00
Franco Fichtner
84a41ab1e0 pkg: fix plist 2022-01-25 10:26:22 +01:00
Stephan de Wit
161d24650b
unbound: overrides: migrate to mvc model (#5488)
* unbound: overrides: migrate to mvc model
* unbound: overrides: generate host_entries via model, revert template generation
* unbound: overrides migration: fix missing include
* unbound: overrides: clean up

Co-authored-by: Stephan de Wit <stephan.de.wit@deciso.com>
2022-01-24 20:19:06 +01:00
Ad Schellevis
94ed9756c9 fix plist 2021-12-21 19:02:30 +01:00
Franco Fichtner
876604b392 pkg: fix plist 2021-12-16 15:23:04 +01:00
Franco Fichtner
b3ec15fe0c firmware: no need for this file anymore starting with 21.7.7
opnsense-update.conf will take over and firmware-upgrade doesn't
exist on stable/21.7 anyway.
2021-12-08 08:17:20 +01:00
Franco Fichtner
0332b6bc1e pkg: fix plist 2021-12-04 10:24:19 +01:00
Franco Fichtner
cc76580b16 pkg: fix plist 2021-11-24 22:33:55 +01:00