#include "nameserver.h" #include #include std::string NameServer::get_name (uint32_t id) { std::map::iterator it; for (it = cache.begin(); it != cache.end(); it++) { if (it->second == id) return it->first; } return ""; } uint32_t NameServer::get_id (std::string name) { std::map::iterator it = cache.find(name); if (it != cache.end()) return it->second; std::cerr << "Doing LDAP lookup for \"" << name << "\".\n"; struct passwd* pwd = getpwnam(name.c_str()); if (!pwd) { // TODO: oh fuck??? return 0; } cache[name] = pwd->pw_uid; return cache[name]; }