diff options
author | Adam <Adam@anope.org> | 2012-10-02 21:21:37 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-10-02 21:21:37 -0400 |
commit | 7042223f2eb486e8d1aec9fd176d416096a6e927 (patch) | |
tree | 819429547978a437a591e499c00202f6f9566ee9 | |
parent | 93698f0d61935f86019b3491c9e62c6326a180ba (diff) |
Somehow the kick handler got lost in the confusion. Send the topic time with ftopic on inspircd not the current time. Removed some unneeded protocol functions
-rw-r--r-- | include/messages.h | 7 | ||||
-rw-r--r-- | modules/protocol/bahamut.cpp | 1 | ||||
-rw-r--r-- | modules/protocol/inspircd-ts6.h | 2 | ||||
-rw-r--r-- | modules/protocol/inspircd11.cpp | 9 | ||||
-rw-r--r-- | modules/protocol/inspircd12.cpp | 1 | ||||
-rw-r--r-- | modules/protocol/inspircd20.cpp | 1 | ||||
-rw-r--r-- | modules/protocol/plexus.cpp | 1 | ||||
-rw-r--r-- | modules/protocol/ratbox.cpp | 1 | ||||
-rw-r--r-- | modules/protocol/unreal.cpp | 14 | ||||
-rw-r--r-- | src/messages.cpp | 19 |
10 files changed, 34 insertions, 22 deletions
diff --git a/include/messages.h b/include/messages.h index 115f659af..c46d15de9 100644 --- a/include/messages.h +++ b/include/messages.h @@ -33,6 +33,13 @@ struct CoreIRCDMessageJoin : IRCDMessage bool Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override; }; +struct CoreIRCDMessageKick : IRCDMessage +{ + CoreIRCDMessageKick(const Anope::string &mname = "KICK") : IRCDMessage(mname, 2) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); } + + bool Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override; +}; + struct CoreIRCDMessageKill : IRCDMessage { CoreIRCDMessageKill(const Anope::string &mname = "KILL") : IRCDMessage(mname, 2) { } diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index 5ac50bf32..6f785b37e 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -568,6 +568,7 @@ class ProtoBahamut : public Module CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; CoreIRCDMessageJoin core_message_join; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/modules/protocol/inspircd-ts6.h b/modules/protocol/inspircd-ts6.h index bbe687b07..d011bf70b 100644 --- a/modules/protocol/inspircd-ts6.h +++ b/modules/protocol/inspircd-ts6.h @@ -94,7 +94,7 @@ class InspIRCdTS6Proto : public IRCDProto void SendTopic(BotInfo *whosets, Channel *c) anope_override { - UplinkSocket::Message(whosets) << "FTOPIC " << c->name << " " << Anope::CurTime << " " << c->topic_setter << " :" << c->topic; + UplinkSocket::Message(whosets) << "FTOPIC " << c->name << " " << c->topic_time << " " << c->topic_setter << " :" << c->topic; } void SendVhostDel(User *u) anope_override diff --git a/modules/protocol/inspircd11.cpp b/modules/protocol/inspircd11.cpp index e3c121f9c..1eb385e4b 100644 --- a/modules/protocol/inspircd11.cpp +++ b/modules/protocol/inspircd11.cpp @@ -196,14 +196,6 @@ class InspIRCdProto : public IRCDProto UplinkSocket::Message(u) << "OPERTYPE Service"; } - void SendKickInternal(const BotInfo *source, const Channel *chan, const User *user, const Anope::string &buf) anope_override - { - if (!buf.empty()) - UplinkSocket::Message(source) << "KICK " << chan->name << " " << user->nick << " :" << buf; - else - UplinkSocket::Message(source) << "KICK " << chan->name << " " << user->nick << " :" << user->nick; - } - /* SERVER services-dev.chatspike.net password 0 :Description here */ void SendServer(const Server *server) anope_override { @@ -902,6 +894,7 @@ class ProtoInspIRCd : public Module CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; CoreIRCDMessageJoin core_message_join; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index c780e8299..1fd9bbc81 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -466,6 +466,7 @@ class ProtoInspIRCd : public Module CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; CoreIRCDMessageJoin core_message_join; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 25d0c9333..ee281420b 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -487,6 +487,7 @@ class ProtoInspIRCd : public Module CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; CoreIRCDMessageJoin core_message_join; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index 1ef8adab9..f0b213eab 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -641,6 +641,7 @@ class ProtoPlexus : public Module CoreIRCDMessageAway core_message_away; CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index 017af4e3f..a6fc85675 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -556,6 +556,7 @@ class ProtoRatbox : public Module CoreIRCDMessageAway core_message_away; CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp index 3bdcd2e5f..186fc8563 100644 --- a/modules/protocol/unreal.cpp +++ b/modules/protocol/unreal.cpp @@ -131,11 +131,6 @@ class UnrealIRCdProto : public IRCDProto UplinkSocket::Message(source) << "h " << user->nick << " :" << buf; } - void SendModeInternal(const BotInfo *source, const Channel *dest, const Anope::string &buf) anope_override - { - UplinkSocket::Message(source) << "G " << dest->name << " " << buf; - } - void SendModeInternal(const BotInfo *bi, const User *u, const Anope::string &buf) anope_override { UplinkSocket::Message(bi) << "v " << u->nick <<" " << buf; @@ -147,14 +142,6 @@ class UnrealIRCdProto : public IRCDProto UplinkSocket::Message() << "& " << u->nick << " 1 " << u->timestamp << " " << u->GetIdent() << " " << u->host << " " << u->server->GetName() << " 0 " << modes << " " << u->host << " * :" << u->realname; } - void SendKickInternal(const BotInfo *source, const Channel *chan, const User *user, const Anope::string &buf) anope_override - { - if (!buf.empty()) - UplinkSocket::Message(source) << "H " << chan->name << " " << user->nick << " :" << buf; - else - UplinkSocket::Message(source) << "H " << chan->name << " " << user->nick; - } - /* SERVER name hop descript */ /* Unreal 3.2 actually sends some info about itself in the descript area */ void SendServer(const Server *server) anope_override @@ -1105,6 +1092,7 @@ class ProtoUnreal : public Module CoreIRCDMessageCapab core_message_capab; CoreIRCDMessageError core_message_error; CoreIRCDMessageJoin core_message_join; + CoreIRCDMessageKick core_message_kick; CoreIRCDMessageKill core_message_kill; CoreIRCDMessageMOTD core_message_motd; CoreIRCDMessagePart core_message_part; diff --git a/src/messages.cpp b/src/messages.cpp index 2faa1cbb1..784b482cc 100644 --- a/src/messages.cpp +++ b/src/messages.cpp @@ -94,6 +94,25 @@ bool CoreIRCDMessageJoin::Run(MessageSource &source, const std::vector<Anope::st return true; } + +bool CoreIRCDMessageKick::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override +{ + const Anope::string &channel = params[0]; + const Anope::string &users = params[1]; + const Anope::string &reason = params.size() > 2 ? params[2] : ""; + + Channel *c = findchan(channel); + if (!c) + return true; + + Anope::string user; + commasepstream sep(users); + + while (sep.GetToken(user)) + c->KickInternal(source, user, reason); + return true; +} + bool CoreIRCDMessageKill::Run(MessageSource &source, const std::vector<Anope::string> ¶ms) anope_override { User *u = finduser(params[0]); |