in source/config/Config.cpp [1275:1322]
bool PlainConfig::SampleShadow::Validate() const
{
if (!enabled)
{
return true;
}
if (!shadowName.has_value() || shadowName->empty())
{
LOGM_ERROR(
Config::TAG,
"*** %s: shadowName field must be specified if Shadow sample feature is enabled ***",
DeviceClient::DC_FATAL_ERROR);
return false;
}
if (shadowInputFile.has_value() && !shadowInputFile->empty())
{
if (FileUtils::IsValidFilePath(shadowInputFile->c_str()))
{
if (!FileUtils::ValidateFilePermissions(shadowInputFile.value(), Permissions::SAMPLE_SHADOW_FILES, true))
{
return false;
}
}
else
{
return false;
}
}
if (shadowOutputFile.has_value() && !shadowOutputFile->empty())
{
if (FileUtils::IsValidFilePath(shadowOutputFile->c_str()))
{
if (!FileUtils::ValidateFilePermissions(shadowOutputFile.value(), Permissions::SAMPLE_SHADOW_FILES, true))
{
return false;
}
}
else
{
return false;
}
}
return true;
}