From b3ad96ad3c29a3bd904bc83dd3b92fe0ed52f2a1 Mon Sep 17 00:00:00 2001 From: "rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Sat, 14 May 2005 15:32:03 +0000 Subject: BUILD : 1.7.9 (796) BUGS : N/A NOTES : Updated inspircd module to work with inspircd beta 5 and up git-svn-id: svn://svn.anope.org/anope/trunk@796 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@555 5417fbe8-f217-4b02-8779-1006273d7864 --- src/protocol/inspircd.c | 359 +++++++++++++++++++++++++----------------------- src/protocol/plexus.c | 2 +- 2 files changed, 187 insertions(+), 174 deletions(-) (limited to 'src') diff --git a/src/protocol/inspircd.c b/src/protocol/inspircd.c index 11b01ec79..e16f38e9d 100644 --- a/src/protocol/inspircd.c +++ b/src/protocol/inspircd.c @@ -468,7 +468,17 @@ void moduleAddIRCDMsgs(void) { m = createMessage("a", anope_event_chgname); addCoreMessage(IRCD,m); // change gecos } -/* *INDENT-ON* */ +char* xsumtable = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + +char* CreateSum() +{ + int q = 0; + static char sum[8]; + sum[7] = '\0'; + for(q = 0; q < 7; q++) + sum[q] = xsumtable[rand()%52]; + return sum; +} /* Event: PROTOCTL */ int anope_event_capab(char *source, int ac, char **av) @@ -485,7 +495,7 @@ int anope_event_nickchange(char *source, int ac, char **av) void inspircd_cmd_svsnoop(char *server, int set) { - send_cmd(NULL, "*"); + send_cmd(CreateSum(), "*"); } void inspircd_cmd_svsadmin(char *server, int set) @@ -495,25 +505,24 @@ void inspircd_cmd_svsadmin(char *server, int set) void inspircd_cmd_remove_akill(char *user, char *host) { - send_cmd(NULL, ". %s@%s %s", user, host, s_OperServ); + send_cmd(CreateSum(), ". %s@%s %s", user, host, s_OperServ); } void inspircd_cmd_topic(char *whosets, char *chan, char *whosetit, - char *topic, time_t when) + char *topic, time_t when) { - send_cmd(NULL, "t %s %s :%s", whosets, chan, topic); + send_cmd(CreateSum(), "t %s %s :%s", whosets, chan, topic); } void inspircd_cmd_vhost_off(User * u) { - send_cmd(NULL, "m %s %s -x", s_HostServ, u->nick); + send_cmd(CreateSum(), "m %s %s -x", s_HostServ, u->nick); } void inspircd_cmd_akill(char *user, char *host, char *who, time_t when, - time_t expires, char *reason) + time_t expires, char *reason) { - send_cmd(NULL, "# %s@%s %s %lu %lu :%s", user, host, who, - (long int) when, 86400 * 2, reason); + send_cmd(CreateSum(), "# %s@%s %s %lu %lu :%s", user, host, who, (long int)when, 86400 * 2, reason); } void inspircd_cmd_svskill(char *source, char *user, char *buf) @@ -521,12 +530,12 @@ void inspircd_cmd_svskill(char *source, char *user, char *buf) if (!buf || !source || !user) { return; } - send_cmd(NULL, "K %s %s :%s", s_OperServ, user, buf); + send_cmd(CreateSum(),"K %s %s :%s", s_OperServ, user, buf); } void inspircd_cmd_svsmode(User * u, int ac, char **av) { - send_cmd(NULL, "M %s %s", u->nick, av[0]); + send_cmd(CreateSum(), "M %s %s", u->nick, av[0]); } @@ -549,19 +558,15 @@ void inspircd_cmd_376(char *source) void inspircd_cmd_nick(char *nick, char *name, char *modes) { // N