summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2007-09-19 16:21:12 +0000
committerspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2007-09-19 16:21:12 +0000
commitf5c1e06b543cbddd5ef33e23475bfe7120fa8aaf (patch)
treeb1722bfb27a2832e97f66754a96ce353d9df87a2 /src
parentbd37495db004be005b2a23f7db2c0270a7f81297 (diff)
Fixed m_saquit to direct the command to the user's server and from there send a QUIT to all servers, to prevent desyncs in services and such that don't support saquit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8046 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_saquit.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/modules/m_saquit.cpp b/src/modules/m_saquit.cpp
index 11efd8629..7aafcc193 100644
--- a/src/modules/m_saquit.cpp
+++ b/src/modules/m_saquit.cpp
@@ -37,12 +37,16 @@ class cmd_saquit : public command_t
user->WriteServ("990 %s :Cannot use an SA command on a u-lined client",user->nick);
return CMD_FAILURE;
}
+
irc::stringjoiner reason_join(" ", parameters, 1, pcnt - 1);
std::string line = reason_join.GetJoined();
-
ServerInstance->WriteOpers("*** "+std::string(user->nick)+" used SAQUIT to make "+std::string(dest->nick)+" quit with a reason of "+line);
+
+ // Pass the command on, so the client's server can quit it properly.
+ if (!IS_LOCAL(dest))
+ return CMD_SUCCESS;
+
userrec::QuitUser(ServerInstance, dest, line);
-
return CMD_SUCCESS;
}
else