Committer : entrope
CVSROOT : /cvsroot/undernet-ircu
Module : ircu2.10
Branch tags: u2_10_12_branch
Commit time: 2007-11-28 05:47:22 UTC
Modified files:
Tag: u2_10_12_branch
ircd/channel.c ChangeLog
Log message:
Once again allow MODE #channel -b+b [EMAIL PROTECTED] [EMAIL PROTECTED]
Fixes bug SF#1840011.
---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.710.2.216 ircu2.10/ChangeLog:1.710.2.217
--- ircu2.10/ChangeLog:1.710.2.216 Sat Nov 24 18:42:54 2007
+++ ircu2.10/ChangeLog Tue Nov 27 21:47:11 2007
@@ -1,3 +1,8 @@
+2007-11-28 Michael Poole <[EMAIL PROTECTED]>
+
+ * ircd/channel.c (mode_ban_invalidate): Clarify Doxygen comments.
+ (apply_ban): Only block narrower bans if the wider ban is active.
+
2007-11-24 Michael Poole <[EMAIL PROTECTED]>
* ircd/m_names.c (do_names): Don't try to re-initialize the start
Index: ircu2.10/ircd/channel.c
diff -u ircu2.10/ircd/channel.c:1.155.2.18 ircu2.10/ircd/channel.c:1.155.2.19
--- ircu2.10/ircd/channel.c:1.155.2.18 Tue Aug 14 19:49:54 2007
+++ ircu2.10/ircd/channel.c Tue Nov 27 21:47:11 2007
@@ -19,7 +19,7 @@
*/
/** @file
* @brief Channel management and maintenance
- * @version $Id: channel.c,v 1.155.2.18 2007/08/15 02:49:54 entrope Exp $
+ * @version $Id: channel.c,v 1.155.2.19 2007/11/28 05:47:11 entrope Exp $
*/
#include "config.h"
@@ -2172,9 +2172,10 @@
return;
}
-/** Simple function to invalidate bans
+/** Simple function to invalidate a channel's ban cache.
*
- * This function sets all bans as being valid.
+ * This function marks all members of the channel as being neither
+ * banned nor banned.
*
* @param chan The channel to operate on.
*/
@@ -2766,9 +2767,9 @@
assert(newban->flags & (BAN_ADD|BAN_DEL));
if (newban->flags & BAN_ADD) {
size_t totlen = 0;
- /* If a less specific entry is found, fail. */
+ /* If a less specific *active* entry is found, fail. */
for (ban = *banlist; ban; ban = ban->next) {
- if (!bmatch(ban, newban)) {
+ if (!bmatch(ban, newban) && !(ban->flags & BAN_DEL)) {
if (do_free)
free_ban(newban);
return 1;
----------------------- End of diff -----------------------
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches