diff options
Diffstat (limited to 'modules/protocol/unreal32.cpp')
-rw-r--r-- | modules/protocol/unreal32.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/modules/protocol/unreal32.cpp b/modules/protocol/unreal32.cpp index b6e438461..7e874838d 100644 --- a/modules/protocol/unreal32.cpp +++ b/modules/protocol/unreal32.cpp @@ -13,6 +13,7 @@ #include "services.h" #include "modules.h" +#include "nickserv.h" IRCDVar myIrcd[] = { {"UnrealIRCd 3.2.x", /* ircd name */ @@ -107,11 +108,11 @@ class UnrealIRCdProto : public IRCDProto void SendVhostDel(User *u) { - u->RemoveMode(HostServ, UMODE_CLOAK); - u->RemoveMode(HostServ, UMODE_VHOST); - ModeManager::ProcessModes(); - u->SetMode(HostServ, UMODE_CLOAK); + BotInfo *bi = findbot(Config->s_HostServ); + u->RemoveMode(bi, UMODE_CLOAK); + u->RemoveMode(bi, UMODE_VHOST); ModeManager::ProcessModes(); + u->SetMode(bi, UMODE_CLOAK); } void SendAkill(User *, const XLine *x) @@ -322,12 +323,12 @@ class UnrealIRCdProto : public IRCDProto if (!u->Account()) return; - ircdproto->SendMode(NickServ, u, "+d %d", u->timestamp); + ircdproto->SendMode(nickserv->Bot(), u, "+d %d", u->timestamp); } void SendUnregisteredNick(const User *u) { - ircdproto->SendMode(NickServ, u, "+d 1"); + ircdproto->SendMode(nickserv->Bot(), u, "+d 1"); } void SendChannel(Channel *c) @@ -335,7 +336,7 @@ class UnrealIRCdProto : public IRCDProto /* Unreal does not support updating a channels TS without actually joining a user, * so we will join and part us now */ - BotInfo *bi = whosends(c->ci); + BotInfo *bi = c->ci->WhoSends(); if (c->FindUser(bi) == NULL) { bi->Join(c); @@ -529,11 +530,11 @@ class Unreal32IRCdMessage : public IRCdMessage if (na && user->timestamp == convertTo<time_t>(params[6])) { user->Login(na->nc); - if (na->nc->HasFlag(NI_UNCONFIRMED) == false) - user->SetMode(NickServ, UMODE_REGISTERED); + if (na->nc->HasFlag(NI_UNCONFIRMED) == false && nickserv) + user->SetMode(nickserv->Bot(), UMODE_REGISTERED); } - else - validate_user(user); + else if (nickserv) + nickserv->Validate(user); } } else if (params.size() != 2) @@ -551,11 +552,11 @@ class Unreal32IRCdMessage : public IRCdMessage if (na && user->timestamp == convertTo<time_t>(params[6])) { user->Login(na->nc); - if (na->nc->HasFlag(NI_UNCONFIRMED) == false) - user->SetMode(NickServ, UMODE_REGISTERED); + if (na->nc->HasFlag(NI_UNCONFIRMED) == false && nickserv) + user->SetMode(nickserv->Bot(), UMODE_REGISTERED); } - else - validate_user(user); + else if (nickserv) + nickserv->Validate(user); } } else |