16736 Commits

Author SHA1 Message Date
Franco Fichtner
38dad806fb mvc: style sweep, plist 2024-05-13 10:42:29 +02:00
Ad Schellevis
0a239dd688 mvc - larger overhaul replacing Phalcon Application (https://github.com/opnsense/core/issues/6389)
This removes most phalcon code currently being used on our end, except the Volt templates (which are re-wrapped) and a translation class we can easily replace later in a separate commit.
Consumers of our controller classes shouldn't notice a difference as the used objects and methods are named the same.

The most notable changes are the following ones:

* Exceptions about not being able to find a requested path now break down into different exceptions inheriting from DispatchException, which makes it easier from the entrypoint (api.php, index.php) to catch and handle accordingly.
* When not in development mode, raw exceptions are not being returned anymore, which increases security
* The Dispatcher class is reponsible for object construction and mapping validation (valid uri, but no object found)
* The Router class replaces previous Application class, it disects offered uri's into namespaces, classnames and methods to call.

In the long run there should be a seperate controller for controllers using volt templates or api calls, but as the existing ones don't distinct between this and the output handling is different now, we can park this for a later moment in time (the performance penalty should be rather low).

Some unused functionality has been removed, for example support for the  X-HTTP-Method-Override header in Request->getMethod() (see 44243c0765/phalcon/Http/Request.zep (L599-L609)).
2024-05-13 10:38:38 +02:00
Ad Schellevis
2e010a77de mvc-ui - rework paste behavior introduced in 388d99cf6f to make it less aggresive. for https://github.com/opnsense/core/issues/7456
To some degree I think always trimming the data isn't the issue, but not being able to paste at cursor position is impractical. this commit re-wires the paste action after trimming the clipboard data (in stead of overwriting the target field).
2024-05-13 09:48:01 +02:00
Ad Schellevis
d86142927e Lobby: Dashboard [new] - remove more spurious json_encode's cc @swhite2 2024-05-12 11:20:47 +02:00
Ad Schellevis
4bb594ba81 Lobby: Dashboard [new] - return data as array and let ApiMutableModelControllerBase->afterExecuteRoute() handle the conversion 2024-05-11 18:43:13 +02:00
Ad Schellevis
1738224fca core/xmlrpc - add google drive as migration / backup target.
The primary use for this is to restore these settings in System/Configuration/Backups now they share the same metadata.
2024-05-10 18:27:17 +02:00
Franco Fichtner
1c8677656e firmware: dump TLS infrmation for firmware server(s) in use
Will make it easier to identify proxy isses.
2024-05-08 12:29:35 +02:00
Franco Fichtner
80284fb281 interfaces: for consistency 2024-05-07 11:29:10 +02:00
Franco Fichtner
e37514e6f6
interfaces: tweak wording in interface gateway selection (#7445) 2024-05-07 11:17:31 +02:00
Ad Schellevis
1b4cb9f229 Services: Kea DHCP: Kea DHCPv4 - rename code to dhcp option. (https://github.com/opnsense/core/pull/7361) 2024-05-07 11:14:33 +02:00
Ad Schellevis
56b3a44d5f legacy/csrf - move csrf check code from d1962f8ed5 into legacy scope.
The original intend was to be able to reuse the Csrf class, but as this requires direct access to the session object, it's likely not a good idea for the goals of https://github.com/opnsense/core/issues/6389
Since the legacy pages need a lock on session anyway,  keeping it doesn't make a difference.
2024-05-07 11:08:55 +02:00
Franco Fichtner
24f36bf332 system: as a POC move this security setting to the automatic sysctls #7440
This might not work for all values as we would maybe like the have the
FreeBSD default itself to work its magic.  For security relevant things
bootstrapping the value is useful, but for buffer sizes it might not be.
2024-05-06 22:20:13 +02:00
Franco Fichtner
86778657ea interfaces: remove unused imports from sockstat list 2024-05-06 15:09:59 +02:00
Franco Fichtner
f978103395 backend: change docs for template helper 2024-05-06 15:05:04 +02:00
Franco Fichtner
e5c4cb0ce8 src: style sweep 2024-05-06 09:04:09 +02:00
Ad Schellevis
20a8006b67 mvc - replace Phalcon autoloader with simplified version of our own. for https://github.com/opnsense/core/issues/6389 2024-05-04 20:34:19 +02:00
Ad Schellevis
ab76fb03c9 mvc - cleanups for https://github.com/opnsense/core/issues/6389
* remove unused FactoryDefault() in tests
* refactor FactoryDefault() config access to new AppConfig class
* remove unused code in afterExecuteRoute() `$this->response->getHeaders()->get("Status")` will never be null
2024-05-04 20:26:40 +02:00
Ad Schellevis
3c17903ecb mvc-Backend: remove unused $timeout parameter in configdStream() and implement simulate_mode for testing purposes (ui_devtools) 2024-05-04 15:13:40 +02:00
Stephan de Wit
fdde2f9063 dashboard: add widget CSS grid implementation for tables with top headers 2024-05-03 17:09:49 +02:00
Simon Roberts
66c684b2c6
fix typo in message about "outboud nat rule" (#7429)
* fix typo in message about "outboud nat rule"

* Removed unused $unqiue_addrs (with typo)

* Restore and fix typo $unique_addrs
2024-05-03 10:19:00 +02:00
Stephan de Wit
a36b700ec5 system: regression in 7f6f55814f, wrong parameter for configd action 2024-05-03 08:37:06 +02:00
Franco Fichtner
886ee0623b system: disable userspace core dumps by default
Was suggested by @lattera on 93e0d1474.
2024-05-02 19:05:16 +02:00
Ad Schellevis
94263becc7 config: cleanup non existing load_balancer section. 2024-05-02 15:52:06 +02:00
Franco Fichtner
c9012301fe src: style sweep 2024-05-02 08:00:05 +02:00
Franco Fichtner
eea9c5c58e system: adjust log levels in google drive backup; closes #7427 2024-05-02 07:58:27 +02:00
Ad Schellevis
f7999a7d56 mvc - replace Phalcon\Filter classes for simple SanitizeFilter wrapper implementing the filters we actually use.
for https://github.com/opnsense/core/issues/6389
2024-05-01 21:33:24 +02:00
Ad Schellevis
0dc6089f8a mvc - replace \Phalcon\Filter\Validation\Exception with \OPNsense\Base\ValidationException (both simple empty Exception classes).
for https://github.com/opnsense/core/issues/6389
2024-05-01 16:44:18 +02:00
Ad Schellevis
7d212f3e5d VPN: IPsec: Connections - allow the equal sign for identity parsing as specified in https://docs.strongswan.org/docs/5.9/config/identityParsing.html, closes https://github.com/opnsense/core/issues/7424 2024-05-01 14:37:30 +02:00
Ad Schellevis
6dbdb2f23e mvc - replace Phalcon\Filter\Validation\Validator\Url with new native OPNsense\Base\Validators\Url validator
for https://github.com/opnsense/core/issues/6389
2024-05-01 14:25:58 +02:00
Ad Schellevis
9ab0edbc5f mvc - replace Phalcon\Filter\Validation\Validator\Regex with new native OPNsense\Base\Validators\Regex validator
for https://github.com/opnsense/core/issues/6389
2024-05-01 14:23:15 +02:00
Ad Schellevis
b10c17fff8 mvc - replace Phalcon\Filter\Validation\Validator\Email with new native OPNsense\Base\Validators\Email validator.
for https://github.com/opnsense/core/issues/6389
2024-05-01 14:07:14 +02:00
Ad Schellevis
c34b11d1f6 mvc - replace Phalcon\Filter\Validation\Validator\Numericality with new native OPNsense\Base\Validators\Numericality validator.
for https://github.com/opnsense/core/issues/6389
2024-05-01 13:51:47 +02:00
Ad Schellevis
5dd5426de7 mvc - replace Phalcon\Filter\Validation\Validator\PresenceOf with new native OPNsense\Base\Validators\PresenceOf validator.
for https://github.com/opnsense/core/issues/6389
2024-05-01 13:45:01 +02:00
Ad Schellevis
28c9b45687 mvc - replace Phalcon\Filter\Validation\Validator\InclusionIn with new native OPNsense\Base\Validators\InclusionIn validator.
for https://github.com/opnsense/core/issues/6389
2024-05-01 13:23:42 +02:00
Ad Schellevis
68b0397718 menusystem - replace phalcon config usage with AppConfig.
for https://github.com/opnsense/core/issues/6389
2024-05-01 11:30:01 +02:00
Ad Schellevis
37696d6cab VPN: WireGuard: Peer generator - add MTU when set on the instance, closes https://github.com/opnsense/core/issues/7422 2024-05-01 11:27:17 +02:00
Stephan de Wit
db89247c20 firewall: initial proposal for filterlog streaming
while this certainly doesn't account for all use cases, the streaming action is isolated enough to build from. For the use case of the new filter live log widget, starting from scratch on each action should be enough for now.
2024-05-01 10:43:36 +02:00
Franco Fichtner
51148ea1cc src: style sweep 2024-04-30 21:48:39 +02:00
Franco Fichtner
f2e60c18f6 interfaces: evidence suggests + 2 is better than + 1 #7400
The + 1 was completely arbitrary to begin with (derived from
FreeBSD scripting), but if part of the system needs longer to
cope with tentative state then this would be an easy way to
make it more reliable.

If + 3 makes sense for the next person is something I want to
doubt, however.

Special thanks go to @Wireheadbe for pursuing and testing this.
2024-04-30 21:45:57 +02:00
Ad Schellevis
cd0e45edf6 Firewall: Aliases - remove Phalcon component usage in model
for https://github.com/opnsense/core/issues/6389
2024-04-30 21:17:00 +02:00
Ad Schellevis
100aac2fb8 mvc-unittests : remove Phalcon\Di\FactoryDefault usage and support partial app config updates in AppConfig to support different config files in the unit tests.
for https://github.com/opnsense/core/issues/6389
2024-04-30 18:27:23 +02:00
Ad Schellevis
cbc01cb39c mvc: replace Phalcon\Config\Config usage for new and simplified OPNsense\Core\AppConfig class.
for https://github.com/opnsense/core/issues/6389
2024-04-30 17:51:12 +02:00
Stephan de Wit
a7c1cc1a82 mvc: configdStream: minor regression in 177aa89b13
If zlib compression was never enabled to begin with, the ob_end_clean()
will close the current Phalcon output buffer, which means the
ob_end_flush() will cause a fatal error. To prevent this we can check
if there is an output buffer still active.
2024-04-30 16:38:57 +02:00
Stephan de Wit
ef9ef6ae74 dashboard: Disk widget 2024-04-30 16:28:10 +02:00
Stephan de Wit
5edad25f85 dashboard: move common formatBytes operation to base class 2024-04-30 16:28:10 +02:00
Ad Schellevis
d1962f8ed5 legacy/csrf - remove Phalcon\Encryption\Security\Random dependency for a simple Csrf class offering the same random url safe base64 encoded string. 2024-04-30 14:11:54 +02:00
Franco Fichtner
dc8a3c4424 make: bring version-specific code closer together 2024-04-30 08:21:19 +02:00
Ad Schellevis
177aa89b13 mvc: ApiControllerBase->configdStream() - prevent zlib compression as this will add buffering as well, which will result in sluggish behavior for dashboard widgets when webui compression is enabled. (https://github.com/opnsense/core/issues/7244) 2024-04-29 15:32:22 +02:00
Ad Schellevis
523c6af2f3 Lobby: Dashboard [new] / traffic graph - use offer time instead of "now()", when EventSource() results are stashed, it should keep using the original timestamps. 2024-04-29 13:23:03 +02:00
KitKat31337
c1548926ad
fix: 🐛 Update field separator for Kea DHCP Subnet Form and Model (#7418)
Co-authored-by: Katerina Ford <kford@madtechnicalsolutions.com>
2024-04-29 08:31:07 +02:00