diff options
Diffstat (limited to 'modules/protocol')
-rw-r--r-- | modules/protocol/bahamut.cpp | 2 | ||||
-rw-r--r-- | modules/protocol/charybdis.cpp | 15 | ||||
-rw-r--r-- | modules/protocol/hybrid.cpp | 4 | ||||
-rw-r--r-- | modules/protocol/inspircd12.cpp | 7 | ||||
-rw-r--r-- | modules/protocol/inspircd20.cpp | 2 | ||||
-rw-r--r-- | modules/protocol/ngircd.cpp | 4 | ||||
-rw-r--r-- | modules/protocol/plexus.cpp | 7 | ||||
-rw-r--r-- | modules/protocol/ratbox.cpp | 6 | ||||
-rw-r--r-- | modules/protocol/unreal.cpp | 7 |
9 files changed, 19 insertions, 35 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index 04bcbeb10..80f4c4827 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -282,7 +282,7 @@ class BahamutIRCdProto : public IRCDProto UplinkSocket::Message() << "SJOIN " << c->creation_time << " " << c->name << " " << modes << " :"; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *) anope_override { IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %d", u->signon); } diff --git a/modules/protocol/charybdis.cpp b/modules/protocol/charybdis.cpp index 3cfb5a09a..bdf6d014b 100644 --- a/modules/protocol/charybdis.cpp +++ b/modules/protocol/charybdis.cpp @@ -60,6 +60,8 @@ class CharybdisProto : public IRCDProto void SendChannel(Channel *c) anope_override { ratbox->SendChannel(c); } void SendTopic(const MessageSource &source, Channel *c) anope_override { ratbox->SendTopic(source, c); } bool IsIdentValid(const Anope::string &ident) anope_override { return ratbox->IsIdentValid(ident); } + void SendLogin(User *u, NickAlias *na) anope_override { ratbox->SendLogin(u, na); } + void SendLogout(User *u) anope_override { ratbox->SendLogout(u); } void SendSQLine(User *, const XLine *x) anope_override { @@ -113,19 +115,6 @@ class CharybdisProto : public IRCDProto UplinkSocket::Message(Me) << "EUID " << u->nick << " 1 " << u->timestamp << " " << modes << " " << u->GetIdent() << " " << u->host << " 0 " << u->GetUID() << " * * :" << u->realname; } - void SendLogin(User *u) anope_override - { - if (!u->Account()) - return; - - UplinkSocket::Message(Me) << "ENCAP * SU " << u->GetUID() << " " << u->Account()->display; - } - - void SendLogout(User *u) anope_override - { - UplinkSocket::Message(Me) << "ENCAP * SU " << u->GetUID(); - } - void SendForceNickChange(User *u, const Anope::string &newnick, time_t when) anope_override { UplinkSocket::Message(Me) << "ENCAP " << u->server->GetName() << " RSFNC " << u->GetUID() diff --git a/modules/protocol/hybrid.cpp b/modules/protocol/hybrid.cpp index ab5777b86..708e66849 100644 --- a/modules/protocol/hybrid.cpp +++ b/modules/protocol/hybrid.cpp @@ -211,9 +211,9 @@ class HybridProto : public IRCDProto UplinkSocket::Message(source) << "SVSMODE " << u->GetUID() << " " << u->timestamp << " " << buf; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *na) anope_override { - IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %s", u->Account()->display.c_str()); + IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %s", na->nc->display.c_str()); } void SendLogout(User *u) anope_override diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index eee028d2f..45a00e400 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -375,12 +375,13 @@ class InspIRCd12Proto : public IRCDProto UplinkSocket::Message(source) << "SNONOTICE A :" << buf; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *na) anope_override { - if (!u->Account() || u->Account()->HasExt("UNCONFIRMED")) + /* InspIRCd uses an account to bypass chmode +R, not umode +r, so we can't send this here */ + if (na->nc->HasExt("UNCONFIRMED")) return; - UplinkSocket::Message(Me) << "METADATA " << u->GetUID() << " accountname :" << u->Account()->display; + UplinkSocket::Message(Me) << "METADATA " << u->GetUID() << " accountname :" << na->nc->display; } void SendLogout(User *u) anope_override diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 7e068e96c..6ee000f68 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -68,7 +68,7 @@ class InspIRCd20Proto : public IRCDProto void SendBOB() anope_override { insp12->SendBOB(); } void SendEOB() anope_override { insp12->SendEOB(); } void SendGlobopsInternal(const MessageSource &source, const Anope::string &buf) { insp12->SendGlobopsInternal(source, buf); } - void SendLogin(User *u) anope_override { insp12->SendLogin(u); } + void SendLogin(User *u, NickAlias *na) anope_override { insp12->SendLogin(u, na); } void SendLogout(User *u) anope_override { insp12->SendLogout(u); } void SendChannel(Channel *c) anope_override { insp12->SendChannel(c); } bool IsExtbanValid(const Anope::string &mask) anope_override { return insp12->IsExtbanValid(mask); } diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp index 70913dde2..0d7a0b3bc 100644 --- a/modules/protocol/ngircd.cpp +++ b/modules/protocol/ngircd.cpp @@ -112,9 +112,9 @@ class ngIRCdProto : public IRCDProto UplinkSocket::Message(source) << "KICK " << chan->name << " " << user->nick; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *na) anope_override { - UplinkSocket::Message(Me) << "METADATA " << u->GetUID() << " accountname :" << u->Account()->display; + UplinkSocket::Message(Me) << "METADATA " << u->GetUID() << " accountname :" << na->nc->display; } void SendLogout(User *u) anope_override diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index f4f8b19fd..05da5892e 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -144,12 +144,9 @@ class PlexusProto : public IRCDProto UplinkSocket::Message(source) << "ENCAP * SVSMODE " << u->GetUID() << " " << u->timestamp << " " << buf; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *na) anope_override { - if (!u->Account()) - return; - - UplinkSocket::Message(Me) << "ENCAP * SU " << u->GetUID() << " " << u->Account()->display; + UplinkSocket::Message(Me) << "ENCAP * SU " << u->GetUID() << " " << na->nc->display; } void SendLogout(User *u) anope_override diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index 7b6a9f345..0cb8a6df2 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -82,12 +82,12 @@ class RatboxProto : public IRCDProto UplinkSocket::Message(Me) << "UID " << u->nick << " 1 " << u->timestamp << " " << modes << " " << u->GetIdent() << " " << u->host << " 0 " << u->GetUID() << " :" << u->realname; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *na) anope_override { - if (!u->Account()) + if (na->nc->HasExt("UNCONFIRMED")) return; - UplinkSocket::Message(Me) << "ENCAP * SU " << u->GetUID() << " " << u->Account()->display; + UplinkSocket::Message(Me) << "ENCAP * SU " << u->GetUID() << " " << na->nc->display; } void SendLogout(User *u) anope_override diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp index ce3d8c3a5..bac81a745 100644 --- a/modules/protocol/unreal.cpp +++ b/modules/protocol/unreal.cpp @@ -344,13 +344,10 @@ class UnrealIRCdProto : public IRCDProto return mask.length() >= 4 && mask[0] == '~' && mask[2] == ':'; } - void SendLogin(User *u) anope_override + void SendLogin(User *u, NickAlias *na) anope_override { - if (!u->Account()) - return; - if (Servers::Capab.count("ESVID") > 0) - IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %s", u->Account()->display.c_str()); + IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %s", na->nc->display.c_str()); else IRCD->SendMode(Config->GetClient("NickServ"), u, "+d %d", u->signon); } |