]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules.cpp
Fix this not working.
[user/henk/code/inspircd.git] / src / modules.cpp
index 69506c7a6a1221cd72c3eaa617cc44a52a17b888..211ce9853693ae67b603838aa8851f1937242aa6 100644 (file)
@@ -109,7 +109,7 @@ void                Module::OnUserDisconnect(userrec* user) { }
 void           Module::OnUserJoin(userrec* user, chanrec* channel) { }
 void           Module::OnPostJoin(userrec* user, chanrec* channel) { }
 void           Module::OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage) { }
-void           Module::OnRehash(const std::string &parameter) { }
+void           Module::OnRehash(userrec* user, const std::string &parameter) { }
 void           Module::OnServerRaw(std::string &raw, bool inbound, userrec* user) { }
 int            Module::OnUserPreJoin(userrec* user, chanrec* chan, const char* cname, std::string &privs) { return 0; }
 void           Module::OnMode(userrec* user, void* dest, int target_type, const std::string &text) { };
@@ -348,6 +348,8 @@ void InspIRCd::RehashServer()
        this->WriteOpers("*** Rehashing config file");
        this->RehashUsersAndChans();
        this->Config->Read(false,NULL);
+       this->ResetMaxBans();
+       this->Res->Rehash();
 }
 
 /* This is ugly, yes, but hash_map's arent designed to be
@@ -433,9 +435,16 @@ bool InspIRCd::DelModeWatcher(ModeWatcher* mw)
        return this->Modes->DelModeWatcher(mw);
 }
 
-bool InspIRCd::AddResolver(Resolver* r)
+bool InspIRCd::AddResolver(Resolver* r, bool cached)
 {
-       return this->Res->AddResolverClass(r);
+       if (!cached)
+               return this->Res->AddResolverClass(r);
+       else
+       {
+               r->TriggerCachedResult();
+               delete r;
+               return true;
+       }
 }
 
 bool InspIRCd::UserToPseudo(userrec* user, const std::string &message)