From 9024abe3f8f2cec10c037f8a7d84bf20fa13b2d1 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 25 Jul 2024 13:44:44 +0200 Subject: [PATCH] MVC: fix API regression caused by https://github.com/opnsense/core/commit/d7d016f400fbcc30c29973b1315db12055cce0f7, closes https://github.com/opnsense/core/issues/7645 --- .../app/controllers/OPNsense/Base/ApiControllerBase.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php b/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php index 45b03e3bb..0821cb1ff 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiControllerBase.php @@ -274,6 +274,15 @@ class ApiControllerBase extends ControllerRoot } else { // link username on successful login $this->logged_in_user = $authResult['username']; + // if body is send as json data, parse to $_POST first + $dispatchError = $this->parseJsonBodyData(); + if ($dispatchError != null) { + $this->response->setStatusCode(400, "Bad Request"); + $this->response->setContentType('application/json', 'UTF-8'); + $this->response->setJsonContent(['status' => 400, 'message' => $dispatchError]); + $this->response->send(); + return false; + } // pass revision context to config object Config::getInstance()->setRevisionContext([