diff --git a/src/userregistry.cpp b/src/userregistry.cpp index 81f6806ce1867feb5722186a9a92a4e014242e1e..8d8a3975bd812c0ed7d6aa8fba6b081ad43609cc 100644 --- a/src/userregistry.cpp +++ b/src/userregistry.cpp @@ -38,7 +38,8 @@ UserRegistry::UserRegistry(Config *cfg, Swift::NetworkFactories *factories) { UserRegistry::~UserRegistry() { m_removeTimer->stop(); } void UserRegistry::isValidUserPassword(const Swift::JID& user, Swift::ServerFromClientSession *session, const Swift::SafeByteArray& password) { - if (!CONFIG_STRING(config, "service.admin_jid").empty() && user.toBare().toString() == CONFIG_STRING(config, "service.admin_jid")) { + std::vector const &x = CONFIG_VECTOR(config,"service.admin_jid"); + if (std::find(x.begin(), x.end(), user.toBare().toString()) != x.end()) { if (Swift::safeByteArrayToString(password) == CONFIG_STRING(config, "service.admin_password")) { session->handlePasswordValid(); } @@ -47,7 +48,6 @@ void UserRegistry::isValidUserPassword(const Swift::JID& user, Swift::ServerFrom } return; } - std::string key = user.toBare().toString(); // Users try to connect twice