]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blobdiff - invalidatebanssethost.patch
welcome: corrected some comments
[irc/quakenet/snircd-patchqueue.git] / invalidatebanssethost.patch
index 39d795fc4ffdd0605f87371f87783575a58b9bb0..790254fd5b6ae0df6b90bb84345d86a000f827f9 100644 (file)
@@ -1,15 +1,23 @@
 invalidate bans when the user sets +h or -h so they are checked again
 
-diff -r 7223692af752 ircd/s_user.c
---- a/ircd/s_user.c    Thu Mar 18 12:14:01 2010 +0100
-+++ b/ircd/s_user.c    Thu Mar 18 12:35:00 2010 +0100
-@@ -1173,12 +1173,15 @@
-     }
-   }
- #endif
--
-   /*
-    * Go through all channels the client was on, rejoin him
+diff -r 9d816a3c603b ircd/m_sethost.c
+--- a/ircd/m_sethost.c Thu Mar 25 12:27:05 2010 +0100
++++ b/ircd/m_sethost.c Thu Mar 25 12:34:09 2010 +0100
+@@ -229,6 +229,10 @@
+    * and set the modes, if any
+    */
+   for (chan = cli_user(target)->channel; chan; chan = chan->next_channel) {
++
++    /* Invalidate bans against the user so we check them again */
++    ClearBanValid(chan);
++
+     if (IsZombie(chan))
+       continue;
+     /* If this channel has delayed joins and the user has no modes, just set
+diff -r 9d816a3c603b ircd/s_user.c
+--- a/ircd/s_user.c    Thu Mar 25 12:27:05 2010 +0100
++++ b/ircd/s_user.c    Thu Mar 25 12:34:09 2010 +0100
+@@ -1152,6 +1152,10 @@
     * and set the modes, if any
     */
    for (chan = cli_user(cptr)->channel; chan; chan = chan->next_channel) {