diff --git a/Changes.conf b/Changes.conf index 09dd93dc5..7e0d20739 100644 --- a/Changes.conf +++ b/Changes.conf @@ -17,7 +17,7 @@ Anope Version 1.7.9 # Bahamut 1.4.27 [or later] - "bahamut" # DreamForge 4.6.7 - "dreamforge" # Hybrid IRCd 7.0 [experimental] - "hybrid" -# InspIRCd 1.0 Beta 3 - "inspircd" +# InspIRCd 1.0 Beta 5 - "inspircd" # InspIRCd module is provided by Brain # Plexus 2.0 [or later] - "plexus" # PTLink 6.15.0 [experimental] - "ptlink" diff --git a/data/example.conf b/data/example.conf index 4f9f24133..51db3e629 100644 --- a/data/example.conf +++ b/data/example.conf @@ -78,7 +78,7 @@ # Bahamut 1.4.27 [or later] - "bahamut" # DreamForge 4.6.7 - "dreamforge" # Hybrid IRCd 7.0 [experimental] - "hybrid" -# InspIRCd 1.0 Beta 3 - "inspircd" +# InspIRCd 1.0 Beta 5 - "inspircd" # InspIRCd module is provided by Brain # Plexus 2.0 [or later] - "plexus" # PTLink 6.15.0 [experimental] - "ptlink" 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