diff options
author | Adam <Adam@anope.org> | 2014-02-27 22:42:54 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-02-27 22:42:54 -0500 |
commit | fee016bb84ba9a951000dac581261827a11cb668 (patch) | |
tree | 251d5d5755652f0eb8b9154b4d52603ea6f98c23 /include/protocol.h | |
parent | d24fb039172786e0fb3e3164140b337c85cdeeca (diff) |
Handle nick collisions somewhat instead of blindly overwriting the nicks
in memory, which does weird things.
For fun different ircds implement this differently (Unreal compares
timestamps, TS6 compares timestamps and user username/host), and whether
or not we get a kill for our user also varies, so just kill everyone.
This can't really happen anyway with properly set qlines, only if
services haven't yet set the qlines, or possibly in a bot add/nick
user introduce race, or with enforcers, which not many ircds require.
Diffstat (limited to 'include/protocol.h')
-rw-r--r-- | include/protocol.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/protocol.h b/include/protocol.h index 0f8482b4e..8f4f2ea58 100644 --- a/include/protocol.h +++ b/include/protocol.h @@ -111,6 +111,8 @@ class CoreExport IRCDProto : public Service virtual void SendSQLine(User *, const XLine *x) { } virtual void SendSQLineDel(const XLine *x) { } + virtual void SendKill(const MessageSource &source, const Anope::string &target, const Anope::string &reason); + /** Kills a user * @param source Who is doing the kill * @param user The user to be killed |