diff options
Diffstat (limited to 'modules/extra/m_xmlrpc_main.cpp')
-rw-r--r-- | modules/extra/m_xmlrpc_main.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/modules/extra/m_xmlrpc_main.cpp b/modules/extra/m_xmlrpc_main.cpp index 33cf3818c..593aba6ef 100644 --- a/modules/extra/m_xmlrpc_main.cpp +++ b/modules/extra/m_xmlrpc_main.cpp @@ -113,13 +113,18 @@ class MyXMLRPCEvent : public XMLRPCEvent if (!na) request->reply("error", "Invalid account"); - else if (enc_check_password(password, na->nc->pass) == 1) + else { - request->reply("result", "Success"); - request->reply("account", na->nc->display); + EventReturn MOD_RESULT; + FOREACH_RESULT(I_OnCheckAuthentication, OnCheckAuthentication(NULL, NULL, std::vector<Anope::string>(), na->nc->display, password)); + if (MOD_RESULT == EVENT_ALLOW) + { + request->reply("result", "Success"); + request->reply("account", na->nc->display); + } + else + request->reply("error", "Invalid password"); } - else - request->reply("error", "Invalid password"); } } |