From b97e197a3e885a50f499fba4e84c83b626701ee1 Mon Sep 17 00:00:00 2001
From: Nigel Reed <nigel@nigelreed.net>
Date: Fri, 7 Jul 2023 19:09:12 +0000
Subject: [PATCH] Synchronet IRC services uses RAKILL to remove any previouslly

---
 exec/load/ircd/server.js | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/exec/load/ircd/server.js b/exec/load/ircd/server.js
index a2eabb6d9e..c5c68a8c06 100644
--- a/exec/load/ircd/server.js
+++ b/exec/load/ircd/server.js
@@ -807,6 +807,30 @@ function Server_Work(cmdline) {
 			p[0] = origin.nick;
 		origin.quit(p[0]);
 		break;
+	case "RAKILL":
+		if (!p[1])
+			break;
+
+		if (!origin.uline) {
+			umode_notice(USERMODE_OPER,"Notice",format(
+				"Non-U:Lined server %s trying to utilize RAKILL.",
+				origin.nick
+			));
+			break;
+		}
+
+		this.bcast_to_servers_raw(format(
+			":%s RAKILL %s %s",
+			origin.nick,
+			p[0],
+			p[1]
+		));
+
+		k = p[1] + "@" + p[0];
+		if (!isklined(k))
+			break;
+		remove_kline(k);
+		break;
 	case "SERVER":
 		if (!p[2])
 			break;
-- 
GitLab