]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_customtitle.cpp
Fix m_chanlog crashing.
[user/henk/code/inspircd.git] / src / modules / m_customtitle.cpp
index 4cc2906f2c9dfeabc8565b67321f662e553a00da..0caa2d6f5f223ad6e89969e32755ab3af563b9e8 100644 (file)
@@ -59,11 +59,12 @@ bool OneOfMatches(const char* host, const char* ip, const char* hostlist)
                {
                        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]) && !strcmp(pass.c_str(),parameters[1]) && OneOfMatches(TheHost,TheIP,host.c_str()) && !title.empty())
+                       if (!strcmp(name.c_str(),parameters[0]) && !ServerInstance->PassCompare(user, pass.c_str(), parameters[1], hash.c_str()) && OneOfMatches(TheHost,TheIP,host.c_str()) && !title.empty())
                        {
                                std::string* text;
                                user->GetExt("ctitle", text);
@@ -90,7 +91,7 @@ bool OneOfMatches(const char* host, const char* ip, const char* hostlist)
 
                                if (!ServerInstance->ULine(user->server))
                                        // Ulines set TITLEs silently
-                                       ServerInstance->WriteOpers("*** %s used TITLE to set custom title '%s'",user->nick,title.c_str());
+                                       ServerInstance->SNO->WriteToSnoMask('A', "%s used TITLE to set custom title '%s'",user->nick,title.c_str());
 
                                user->WriteServ("NOTICE %s :Custom title set to '%s'",user->nick, title.c_str());
 
@@ -100,7 +101,7 @@ bool OneOfMatches(const char* host, const char* ip, const char* hostlist)
 
                if (!ServerInstance->ULine(user->server))
                        // Ulines also fail TITLEs silently
-                       ServerInstance->WriteOpers("*** Failed TITLE attempt by %s!%s@%s using login '%s'",user->nick,user->ident,user->host,parameters[0]);
+                       ServerInstance->SNO->WriteToSnoMask('A', "Failed TITLE attempt by %s!%s@%s using login '%s'",user->nick,user->ident,user->host,parameters[0]);
 
                user->WriteServ("NOTICE %s :Invalid title credentials",user->nick);
                return CMD_SUCCESS;