QueryData genEtcServices(QueryContext& context) { std::string content; auto s = osquery::forensicReadFile("/etc/services", content); if (s.ok()) { return parseEtcServicesContent(content); } else { return {}; } }
QueryData genEtcServices(QueryContext& context) { std::string content; auto s = osquery::readFile("/etc/services", content); if (s.ok()) { return parseEtcServicesContent(content); } else { LOG(ERROR) << "Error reading /etc/services: " << s.toString(); return {}; } }