Lines Matching +full:auto +full:- +full:string +full:- +full:detection
8 // http://www.apache.org/licenses/LICENSE-2.0
24 #include <phosphor-logging/lg2.hpp>
42 #include <string>
52 static constexpr auto nicTypes{std::to_array<const char*>({nicType})};
54 static const std::map<std::string, std::string> compatibleHwmonNames = {
56 // Add compatible strings here for new hwmon intrusion detection
78 const std::pair<std::string, SensorBaseConfigMap>* baseConfiguration = in createSensorsFromConfig()
81 for (const auto& [path, cfgData] : sensorConfigurations) in createSensorsFromConfig()
87 auto sensorBase = sensorData->find(configInterfaceName(sensorType)); in createSensorsFromConfig()
88 if (sensorBase == sensorData->end()) in createSensorsFromConfig()
98 auto findRearm = baseConfiguration->second.find("Rearm"); in createSensorsFromConfig()
99 if (findRearm != baseConfiguration->second.end()) in createSensorsFromConfig()
101 std::string rearmStr = std::get<std::string>(findRearm->second); in createSensorsFromConfig()
111 auto findClass = baseConfiguration->second.find("Class"); in createSensorsFromConfig()
112 if (findClass != baseConfiguration->second.end()) in createSensorsFromConfig()
114 auto classString = std::get<std::string>(findClass->second); in createSensorsFromConfig()
117 auto findGpioPolarity = in createSensorsFromConfig()
118 baseConfiguration->second.find("GpioPolarity"); in createSensorsFromConfig()
120 if (findGpioPolarity == baseConfiguration->second.end()) in createSensorsFromConfig()
129 (std::get<std::string>(findGpioPolarity->second) == in createSensorsFromConfig()
133 pSensor->start(); in createSensorsFromConfig()
155 // If class string contains Hwmon string in createSensorsFromConfig()
156 else if (classString.find("Hwmon") != std::string::npos) in createSensorsFromConfig()
158 std::string hwmonName; in createSensorsFromConfig()
159 std::map<std::string, std::string>::const_iterator in createSensorsFromConfig()
164 lg2::error("Hwmon Class string is not supported"); in createSensorsFromConfig()
168 hwmonName = compatIterator->second; in createSensorsFromConfig()
174 pSensor->start(); in createSensorsFromConfig()
187 auto findBus = baseConfiguration->second.find("Bus"); in createSensorsFromConfig()
188 auto findAddress = baseConfiguration->second.find("Address"); in createSensorsFromConfig()
189 if (findBus == baseConfiguration->second.end() || in createSensorsFromConfig()
190 findAddress == baseConfiguration->second.end()) in createSensorsFromConfig()
197 int busId = std::get<uint64_t>(findBus->second); in createSensorsFromConfig()
198 int slaveAddr = std::get<uint64_t>(findAddress->second); in createSensorsFromConfig()
201 pSensor->start(); in createSensorsFromConfig()
239 boost::container::flat_map<int, std::string> lanInfoMap;
240 boost::container::flat_map<std::string, int> pathSuffixMap;
245 auto getter = std::make_shared<GetSensorConfiguration>( in getNicNameInfo()
249 for (const auto& [path, cfgData] : sensorConfigurations) in getNicNameInfo()
251 const std::pair<std::string, SensorBaseConfigMap>* in getNicNameInfo()
255 auto sensorBase = cfgData.find(configInterfaceName(nicType)); in getNicNameInfo()
262 auto findEthIndex = baseConfiguration->second.find("EthIndex"); in getNicNameInfo()
263 auto findName = baseConfiguration->second.find("Name"); in getNicNameInfo()
265 if (findEthIndex != baseConfiguration->second.end() && in getNicNameInfo()
266 findName != baseConfiguration->second.end()) in getNicNameInfo()
268 const auto* pEthIndex = in getNicNameInfo()
269 std::get_if<uint64_t>(&findEthIndex->second); in getNicNameInfo()
270 const auto* pName = in getNicNameInfo()
271 std::get_if<std::string>(&findName->second); in getNicNameInfo()
290 getter->getConfiguration( in getNicNameInfo()
291 std::vector<std::string>{nicTypes.begin(), nicTypes.end()}); in getNicNameInfo()
296 const std::string& pathName = message.get_path(); in processLanStatusChange()
297 std::string interfaceName; in processLanStatusChange()
301 auto findStateProperty = properties.find("OperationalState"); in processLanStatusChange()
306 std::string* pState = in processLanStatusChange()
307 std::get_if<std::string>(&(findStateProperty->second)); in processLanStatusChange()
319 if (pos == std::string::npos || pathName.length() <= pos + 2) in processLanStatusChange()
324 std::string suffixStr = pathName.substr(pos + 2); in processLanStatusChange()
326 auto findEthNum = pathSuffixMap.find(suffixStr); in processLanStatusChange()
333 int ethNum = findEthNum->second; in processLanStatusChange()
336 auto findLanStatus = lanStatusMap.find(ethNum); in processLanStatusChange()
343 bool oldLanConnected = findLanStatus->second; in processLanStatusChange()
346 std::string lanInfo; in processLanStatusChange()
349 auto findLanInfo = lanInfoMap.find(ethNum); in processLanStatusChange()
357 lanInfo = "(" + findLanInfo->second + ")"; in processLanStatusChange()
373 std::string strEthNum = "eth" + std::to_string(ethNum) + lanInfo; in processLanStatusChange()
374 const auto* strState = newLanConnected ? "connected" : "lost"; in processLanStatusChange()
375 const auto* strMsgId = in processLanStatusChange()
418 std::string line; in initializeLanStatus()
422 const std::string& pathSuffix = std::to_string(ifindex + 30); in initializeLanStatus()
425 const std::string& fileStr = fileName.string(); in initializeLanStatus()
427 const std::string& ethNumStr = fileStr.substr(pos + 3); in initializeLanStatus()
433 lg2::error("invalid ethNum string: '{ETH_INDEX}'", "ETH_INDEX", in initializeLanStatus()
448 conn->async_method_call( in initializeLanStatus()
450 const std::variant<std::string>& property) { in initializeLanStatus()
458 const std::string* pState = std::get_if<std::string>(&property); in initializeLanStatus()
490 auto systemBus = std::make_shared<sdbusplus::asio::connection>(io); in main()
493 systemBus->request_name("xyz.openbmc_project.IntrusionSensor"); in main()
542 std::string(inventoryPath) + "',arg0namespace='" + in main()