diff options
-rw-r--r-- | docs/Changes | 1 | ||||
-rw-r--r-- | src/protocol/inspircd12.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/docs/Changes b/docs/Changes index d73c1c190..17b91ebd6 100644 --- a/docs/Changes +++ b/docs/Changes @@ -27,6 +27,7 @@ F A bad pointer passed to the OnDelEvent which could cause some 3rd party module F CS FORBID allows to you forbid unregistered channels F The -nothird command line option to work F ms_rsend to really work +F SQUITing juped servers on InspIRCd1.2+ Anope Version 1.9.1 -------------------- diff --git a/src/protocol/inspircd12.cpp b/src/protocol/inspircd12.cpp index 0b7e0b2e8..2c53e4b8d 100644 --- a/src/protocol/inspircd12.cpp +++ b/src/protocol/inspircd12.cpp @@ -689,7 +689,17 @@ int anope_event_squit(const char *source, int ac, const char **av) int anope_event_rsquit(const char *source, int ac, const char **av) { + /* On InspIRCd we must send a SQUIT when we recieve RSQUIT for a server we have juped */ + Server *s = findserver(servlist, av[0]); + if (!s) + s = findserver_uid(servlist, av[0]); + if (s && s->HasFlag(SERVER_JUPED)) + { + send_cmd(TS6SID, "SQUIT %s :%s", s->suid, ac > 1 ? av[1] : ""); + } + do_squit(source, ac, av); + return MOD_CONT; } |