1
0
mirror of https://github.com/anope/anope.git synced 2026-07-04 14:53:12 +02:00

BUILD : 1.7.19 (1263) BUGS : 742 NOTES : Fixed inspircd11.c so it generates a fake capab parse call to enable things like NOQUIT... also ran indent on inspircd11.c

git-svn-id: svn://svn.anope.org/anope/trunk@1263 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@981 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b
2007-08-11 08:41:18 +00:00
parent f3d98aecbc
commit d45fabdda8
3 changed files with 49 additions and 24 deletions
+1
View File
@@ -12,6 +12,7 @@ Anope Version S V N
08/05 F ChanServ access level AUTODEOP works again. [#750]
08/08 F Wrong debug notice when killing people due to the session limit. [#734]
08/08 F DefCon modes being re-set after mass-unset when leaving DefCon. [#727]
08/11 F CAPAB tokens for InspIRCd 1.1 never parsed. [#742]
Anope Version 1.7.19
--------------------
+43 -23
View File
@@ -521,8 +521,9 @@ void inspircd_cmd_remove_akill(char *user, char *host)
send_cmd(s_OperServ, "GLINE %s@%s", user, host);
}
void inspircd_cmd_topic(char *whosets, char *chan, char *whosetit,
char *topic, time_t when)
void
inspircd_cmd_topic(char *whosets, char *chan, char *whosetit,
char *topic, time_t when)
{
send_cmd(whosets, "FTOPIC %s %lu %s :%s", chan,
(unsigned long int) when, whosetit, topic);
@@ -533,8 +534,9 @@ void inspircd_cmd_vhost_off(User * u)
send_cmd(s_HostServ, "MODE %s -x", u->nick);
}
void inspircd_cmd_akill(char *user, char *host, char *who, time_t when,
time_t expires, char *reason)
void
inspircd_cmd_akill(char *user, char *host, char *who, time_t when,
time_t expires, char *reason)
{
send_cmd(ServerName, "ADDLINE G %s@%s %s %ld %ld :%s", user, host, who,
(long int) when, (long int) 86400 * 2, reason);
@@ -590,8 +592,9 @@ void inspircd_cmd_nick(char *nick, char *name, char *modes)
send_cmd(nick, "OPERTYPE Service");
}
void inspircd_cmd_guest_nick(char *nick, char *user, char *host,
char *real, char *modes)
void
inspircd_cmd_guest_nick(char *nick, char *user, char *host,
char *real, char *modes)
{
send_cmd(ServerName, "NICK %ld %s %s %s %s +%s 0.0.0.0 :%s",
(long int) time(NULL), nick, host, host, user, modes, real);
@@ -726,18 +729,17 @@ int anope_event_fjoin(char *source, int ac, char **av)
*nicklist = '\0';
*prefixandnick = '\0';
if (ac < 3)
return MOD_CONT;
curnick = myStrGetToken(av[2], ' ', curtoken);
curnick = myStrGetToken(av[2], ' ', curtoken);
while (curnick != NULL) {
for (; *curnick; curnick++) {
/* I bet theres a better way to do this... */
if ((*curnick == '&') ||
(*curnick == '~') ||
(*curnick == '@') ||
(*curnick == '%') || (*curnick == '+')) {
(*curnick == '~') || (*curnick == '@') || (*curnick == '%')
|| (*curnick == '+')) {
prefixandnick[nlen++] = *curnick;
continue;
} else {
@@ -753,8 +755,8 @@ int anope_event_fjoin(char *source, int ac, char **av)
}
strncat(nicklist, prefixandnick, 513);
strncat(nicklist, " ", 513);
curtoken++;
curnick = myStrGetToken(av[2], ' ', curtoken);
curtoken++;
curnick = myStrGetToken(av[2], ' ', curtoken);
nlen = 0;
}
@@ -767,8 +769,9 @@ int anope_event_fjoin(char *source, int ac, char **av)
return MOD_CONT;
}
void inspircd_cmd_bot_nick(char *nick, char *user, char *host, char *real,
char *modes)
void
inspircd_cmd_bot_nick(char *nick, char *user, char *host, char *real,
char *modes)
{
send_cmd(ServerName, "NICK %ld %s %s %s %s +%s 0.0.0.0 :%s",
(long int) time(NULL), nick, host, host, user, modes, real);
@@ -1354,6 +1357,7 @@ int anope_event_setident(char *source, int ac, char **av)
change_user_username(u, av[0]);
return MOD_CONT;
}
int anope_event_chgident(char *source, int ac, char **av)
{
User *u;
@@ -1403,18 +1407,18 @@ int anope_event_nick(char *source, int ac, char **av)
if (ac == 8) {
inet_aton(av[6], &addy);
user = do_nick("", av[1], /* nick */
av[4], /* username */
av[2], /* realhost */
source, /* server */
av[7], /* realname */
av[4], /* username */
av[2], /* realhost */
source, /* server */
av[7], /* realname */
strtoul(av[0], NULL, 10),
0, htonl(*ad), av[3], NULL);
if (user)
anope_set_umode(user, 1, &av[5]);
}
} else {
do_nick(source, av[0], NULL, NULL, NULL, NULL,
0, 0, 0, NULL, NULL);
do_nick(source, av[0], NULL, NULL, NULL, NULL, 0, 0, 0, NULL,
NULL);
}
return MOD_CONT;
}
@@ -1476,6 +1480,9 @@ int anope_event_whois(char *source, int ac, char **av)
int anope_event_capab(char *source, int ac, char **av)
{
int argc;
char **argv;
if (strcasecmp(av[0], "START") == 0) {
/* reset CAPAB */
has_servicesmod = 0;
@@ -1506,6 +1513,19 @@ int anope_event_capab(char *source, int ac, char **av)
quitting = 1;
return MOD_STOP;
}
/* Generate a fake capabs parsing call so things like NOQUIT work
* fine. It's ugly, but it works....
*/
argc = 5;
argv = scalloc(5, sizeof(char *));
argv[0] = "NOQUIT";
argv[1] = "SSJ3";
argv[2] = "NICK2";
argv[3] = "VL";
argv[4] = "TLKEXT";
capab_parse(ac, av);
}
return MOD_CONT;
}
@@ -1789,7 +1809,7 @@ int AnopeInit(int argc, char **argv)
pmodule_ircd_csmodes(myCsmodes);
pmodule_ircd_useTSMode(0);
/** Deal with modes anope _needs_ to know **/
/** Deal with modes anope _needs_ to know **/
pmodule_invis_umode(UMODE_i);
pmodule_oper_umode(UMODE_o);
pmodule_invite_cmode(CMODE_i);
+5 -1
View File
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="19"
VERSION_EXTRA="-svn"
VERSION_BUILD="1262"
VERSION_BUILD="1263"
# $Log$
#
# BUILD : 1.7.19 (1263)
# BUGS : 742
# NOTES : Fixed inspircd11.c so it generates a fake capab parse call to enable things like NOQUIT... also ran indent on inspircd11.c
#
# BUILD : 1.7.19 (1262)
# BUGS : 727
# NOTES : Fixed DefConChanModes being re-set while being unset