From 6bd31b033323842b9d59411f7f99e92c8ec6803e Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 8 Sep 2011 19:00:30 -0400 Subject: Bug #1330 & many other small fixes --- modules/protocol/plexus.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'modules/protocol') diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index fd6379fc9..fa5f88f5a 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -27,7 +27,7 @@ IRCDVar myIrcd[] = { 0, /* Join 2 Message */ 1, /* Chan SQlines */ 0, /* Quit on Kill */ - 0, /* vidents */ + 1, /* vidents */ 1, /* svshold */ 1, /* time stamp on mode */ 1, /* UMODE */ @@ -159,6 +159,22 @@ class PlexusProto : public IRCDProto send_cmd(Config->Numeric, "ENCAP %s SVSNICK %s %ld %s %ld", u->server->GetName().c_str(), u->GetUID().c_str(), static_cast(u->timestamp), newnick.c_str(), static_cast(when)); } + void SendVhostDel(User *u) + { + BotInfo *bi = findbot(Config->HostServ); + if (u->HasMode(UMODE_CLOAK)) + u->RemoveMode(bi, UMODE_CLOAK); + else + this->SendVhost(u, u->GetIdent(), u->chost); + } + + void SendVhost(User *u, const Anope::string &ident, const Anope::string &host) + { + if (!ident.empty()) + send_cmd(Config->Numeric, "ENCAP * CHGIDENT %s %s", u->nick.c_str(), ident.c_str()); + send_cmd(Config->Numeric, "ENCAP * CHGHOST %s %s", u->nick.c_str(), host.c_str()); + } + void SendConnect() { plexus_cmd_pass(Config->Uplinks[CurrentUplink]->password); -- cgit