summaryrefslogtreecommitdiff
path: root/src/protocol/ratbox.c
diff options
context:
space:
mode:
authorgeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-09-04 20:52:27 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-09-04 20:52:27 +0000
commit40b676e9535653b78ceced5e01fe99180d8c94f1 (patch)
treef207aa15ccb3bf1a9b6722b2eea01adeda4ca33c /src/protocol/ratbox.c
parent5e4760f2b57583b7f8abd68a6d09d56591be0616 (diff)
BUILD : 1.7.10 (871) BUGS : NOTES : Applied two patches by ThaPrince to add the correct nicks to SQLINE/SGLINE with plexus and ratbox
git-svn-id: svn://svn.anope.org/anope/trunk@871 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@620 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol/ratbox.c')
-rw-r--r--src/protocol/ratbox.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/protocol/ratbox.c b/src/protocol/ratbox.c
index 14081e870..461bb8e92 100644
--- a/src/protocol/ratbox.c
+++ b/src/protocol/ratbox.c
@@ -51,7 +51,7 @@ IRCDVar myIrcd[] = {
NULL, /* Mode On Reg */
NULL, /* Mode on UnReg */
NULL, /* Mode on Nick Change */
- 0, /* Supports SGlines */
+ 1, /* Supports SGlines */
1, /* Supports SQlines */
0, /* Supports SZlines */
0, /* Supports Halfop +h */
@@ -753,12 +753,20 @@ void moduleAddIRCDMsgs(void)
void ratbox_cmd_sqline(char *mask, char *reason)
{
- send_cmd(NULL, "RESV * %s :%s", mask, reason);
+ Uid *ud;
+
+ ud = find_uid(s_OperServ);
+ send_cmd((UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ),
+ "RESV * %s :%s", mask, reason);
}
void ratbox_cmd_unsgline(char *mask)
{
- /* Does not support */
+ Uid *ud;
+
+ ud = find_uid(s_OperServ);
+ send_cmd((UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ),
+ "UNXLINE * %s", mask);
}
void ratbox_cmd_unszline(char *mask)
@@ -783,7 +791,11 @@ void ratbox_cmd_svsadmin(char *server, int set)
void ratbox_cmd_sgline(char *mask, char *reason)
{
- /* does not support */
+ Uid *ud;
+
+ ud = find_uid(s_OperServ);
+ send_cmd((UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ),
+ "XLINE * %s 0 :%s", mask, reason);
}
void ratbox_cmd_remove_akill(char *user, char *host)
@@ -817,7 +829,11 @@ void ratbox_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
void ratbox_cmd_unsqline(char *user)
{
- send_cmd(NULL, "UNRESV * %s", user);
+ Uid *ud;
+
+ ud = find_uid(s_OperServ);
+ send_cmd((UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ),
+ "UNRESV * %s", user);
}
void ratbox_cmd_join(char *user, char *channel, time_t chantime)
@@ -1344,7 +1360,7 @@ void ratbox_cmd_nick(char *nick, char *name, char *mode)
(long int) time(NULL), mode, ServiceUser, ServiceHost,
ServerName, name);
}
- ratbox_cmd_sqline(nick, "Reserved for services");
+ send_cmd(UseTS6 ? nicknumbuf : nick, "RESV * %s :%s", nick, "Reserved for services");
}
void ratbox_cmd_kick(char *source, char *chan, char *user, char *buf)