diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/protocol/inspircd12.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
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; } |