diff options
-rw-r--r-- | CMakeLists.txt | 16 | ||||
-rw-r--r-- | redfish-core/lib/sensors.hpp | 18 |
2 files changed, 21 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ced518b68..4bf16735e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -119,10 +119,16 @@ option ( OFF ) -option (BMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE - "Enables unsecure features required by validation. Note: must - be turned off for production images." - OFF) +option ( + BMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE + "Enables unsecure features required by validation. Note: must + be turned off for production images." + OFF) + +option ( + BMCWEB_INSECURE_UNRESTRICTED_SENSOR_OVERRIDE + "Enables Sensor override feature without any check." + OFF) set (BMCWEB_HTTP_REQ_BODY_LIMIT_MB "30" CACHE STRING "The max HTTP request body size in MB") @@ -399,6 +405,8 @@ target_compile_definitions ( -DBMCWEB_ENABLE_REDFISH_PROVISIONING_FEATURE> $<$<BOOL:${BMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE}>: -DBMCWEB_ENABLE_VALIDATION_UNSECURE_FEATURE> + $<$<BOOL:${BMCWEB_INSECURE_UNRESTRICTED_SENSOR_OVERRIDE}>: + -DBMCWEB_INSECURE_UNRESTRICTED_SENSOR_OVERRIDE> ) # configure and install systemd unit files diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp index 3caaeedec9..9061165297 100644 --- a/redfish-core/lib/sensors.hpp +++ b/redfish-core/lib/sensors.hpp @@ -2597,7 +2597,7 @@ bool findSensorNameUsingSensorPath( * * @param res response object * @param allCollections Collections extract from sensors' request patch info - * @param chassisSubNode Chassis Node for which the query has to happen + * @param chassisSubNode Chassis Node for which the query has to happen */ void setSensorsOverride( std::shared_ptr<SensorsAsyncResp> sensorAsyncResp, @@ -2774,17 +2774,17 @@ void checkAndDoSensorsOverride( messages::internalError(sensorAsyncResp->res); return; } - if (!resp.size()) - { - // Special mode manager doesn't exist, proceed with sensor - // override - setSensorsOverride(sensorAsyncResp, allCollections); - return; - } +#ifdef BMCWEB_INSECURE_UNRESTRICTED_SENSOR_OVERRIDE + // Proceed with sensor override + setSensorsOverride(sensorAsyncResp, allCollections); + return; +#endif if (resp.size() != 1) { - BMCWEB_LOG_DEBUG << "Queried object count mismatch. "; + BMCWEB_LOG_WARNING + << "Overriding sensor value is not allowed - Internal " + "error in querying SpecialMode property."; messages::internalError(sensorAsyncResp->res); return; } |