summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/Changes1
-rw-r--r--src/protocol/inspircd12.cpp10
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;
}