1 #include "config.h" 2 #include "ldap_config_mgr.hpp" 3 #include <filesystem> 4 #include <phosphor-logging/log.hpp> 5 #include <phosphor-logging/elog-errors.hpp> 6 #include <sdbusplus/bus.hpp> 7 #include <xyz/openbmc_project/Common/error.hpp> 8 9 int main(int argc, char* argv[]) 10 { 11 using namespace phosphor::logging; 12 using namespace sdbusplus::xyz::openbmc_project::Common::Error; 13 14 std::filesystem::path configDir = 15 std::filesystem::path(LDAP_CONFIG_FILE).parent_path(); 16 17 if (!std::filesystem::exists(configDir / 18 phosphor::ldap::defaultNslcdFile) || 19 !std::filesystem::exists(configDir / phosphor::ldap::nsSwitchFile)) 20 { 21 log<level::ERR>("Error starting LDAP Config App, configfile(s) are " 22 "missing, exiting!!!"); 23 elog<InternalFailure>(); 24 } 25 auto bus = sdbusplus::bus::new_default(); 26 27 // Add sdbusplus ObjectManager for the 'root' path of the LDAP config. 28 sdbusplus::server::manager::manager objManager(bus, LDAP_CONFIG_ROOT); 29 30 phosphor::ldap::ConfigMgr mgr(bus, LDAP_CONFIG_ROOT, LDAP_CONFIG_FILE, 31 LDAP_CONF_PERSIST_PATH, TLS_CACERT_PATH, 32 TLS_CERT_FILE); 33 mgr.restore(); 34 35 bus.request_name(LDAP_CONFIG_BUSNAME); 36 37 while (true) 38 { 39 bus.process_discard(); 40 bus.wait(); 41 } 42 43 return 0; 44 } 45