summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt16
-rw-r--r--redfish-core/lib/sensors.hpp18
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;
}