diff options
-rw-r--r-- | Changes | 4 | ||||
-rw-r--r-- | src/channels.c | 4 | ||||
-rw-r--r-- | src/protocol/inspircd11.c | 12 | ||||
-rw-r--r-- | version.log | 6 |
4 files changed, 23 insertions, 3 deletions
@@ -52,6 +52,10 @@ Provided by Jan Milants <jan_renee@msn.com> - 2008 01/16 F Server traversion with next_server() failed to list all servers. [#831] 02/08 F Removed excessive free in ChanServ AKICK code. [#849] +Provided by Hal9000 <hal9000@pimpmylinux.org> - 2005 +04/29 F Potential crash in channels.c. [ #00] +04/29 F TS handling on incoming FMODE with InspIRCd 1.1. [ #00] + Anope Version 1.7.21 -------------------- 12/30 F Grouped root nicks could result in loss of power when using MySQL.[#812] diff --git a/src/channels.c b/src/channels.c index 19d29a727..aec70dfe8 100644 --- a/src/channels.c +++ b/src/channels.c @@ -785,8 +785,8 @@ void do_sjoin(const char *source, int ac, char **av) for (cu = c->users; cu; cu = cu->next) { /* XXX */ cumodes[0] = "-ov"; - cumodes[1] = user->nick; - cumodes[2] = user->nick; + cumodes[1] = cu->user->nick; + cumodes[2] = cu->user->nick; chan_set_modes(source, c, 3, cumodes, 2); } if (c->ci && c->ci->bi) { diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c index 6203072b7..bf96d8b21 100644 --- a/src/protocol/inspircd11.c +++ b/src/protocol/inspircd11.c @@ -667,11 +667,23 @@ int anope_event_fmode(char *source, int ac, char **av) { char *newav[25]; int n, o; + Channel *c; /* :source FMODE #test 12345678 +nto foo */ if (ac < 3) return MOD_CONT; + /* Checking the TS for validity to avoid desyncs */ + c = findchan(av[0]); + if (c->creation_time > strtol(av[1], NULL, 10)) { + /* Our TS is bigger, we should lower it */ + c->creation_time = strtol(av[1], NULL, 10); + } else if (c->creation_time < strtol(av[1], NULL, 10)) { + /* The TS we got is bigger, we should ignore the message. */ + return MOD_CONT; + } + + /* TS's are equal now, so we can proceed with parsing */ n = o = 0; while (n < ac) { if (n != 1) { diff --git a/version.log b/version.log index 5b9587ed1..a70faf854 100644 --- a/version.log +++ b/version.log @@ -9,10 +9,14 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="21" VERSION_EXTRA="-svn" -VERSION_BUILD="1390" +VERSION_BUILD="1392" # $Log$ # +# BUILD : 1.7.21 (1392) +# BUGS : +# NOTES : <Hal9000> fixes a potential crash in channels.c and does handle the TS on incoming FMODE in inspircd.11 +# # BUILD : 1.7.21 (1390) # BUGS : 881 # NOTES : Fixed error in lang files related to NS SASET LANGUAGE |