summaryrefslogtreecommitdiff
path: root/modules/protocol/plexus.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-09-08 19:00:30 -0400
committerAdam <Adam@anope.org>2011-09-08 19:00:30 -0400
commit6bd31b033323842b9d59411f7f99e92c8ec6803e (patch)
tree7a079183a13f639d84fc7e4a622390b4befe22b6 /modules/protocol/plexus.cpp
parent7de1a7a6d1146cce4cdb218899cbe15b9cee32d8 (diff)
Bug #1330 & many other small fixes
Diffstat (limited to 'modules/protocol/plexus.cpp')
-rw-r--r--modules/protocol/plexus.cpp18
1 files changed, 17 insertions, 1 deletions
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<long>(u->timestamp), newnick.c_str(), static_cast<long>(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);