- std::string name = Conf.ReadValue("title", "name", "", i);
- std::string pass = Conf.ReadValue("title", "password", "", i);
- std::string hash = Conf.ReadValue("title", "hash", "", i);
- std::string host = Conf.ReadValue("title", "host", "*@*", i);
- std::string title = Conf.ReadValue("title", "title", "", i);
- std::string vhost = Conf.ReadValue("title", "vhost", "", i);
-
- if (!strcmp(name.c_str(),parameters[0].c_str()) && !ServerInstance->PassCompare(user, pass.c_str(), parameters[1].c_str(), hash.c_str()) && OneOfMatches(TheHost,TheIP,host.c_str()) && !title.empty())
+ std::string Name = i->second->getString("name");
+ std::string pass = i->second->getString("password");
+ std::string hash = i->second->getString("hash");
+ std::string host = i->second->getString("host", "*@*");
+ std::string title = i->second->getString("title");
+ std::string vhost = i->second->getString("vhost");
+
+ if (Name == parameters[0] && ServerInstance->PassCompare(user, pass, parameters[1], hash) &&
+ InspIRCd::MatchMask(host, userHost, userIP) && !title.empty())