Only send remote KICK to users if target is not join-delayed.
authorMichael Poole <mdpoole@troilus.org>
Sat, 1 Oct 2005 21:10:34 +0000 (21:10 +0000)
committerMichael Poole <mdpoole@troilus.org>
Sat, 1 Oct 2005 21:10:34 +0000 (21:10 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1510 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/m_kick.c

index d68746ac5630e90adc2fd9848a73bd91a0657018..a563a68f7651d730a778039518036782a56f1354 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-10-01  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_kick.c (ms_kick): If the kick target is join-delayed,
+       only send the KICK to the kicker.  Spotted by Cesar_.
+
 2005-10-01  Michael Poole <mdpoole@troilus.org>
 
        * include/patchlevel.h (PATCHLEVEL): Update to pre1.
index 62023ba3a21ba3aed73c3177d1bfdc4b738eb109..82c97931e556eb1c53bced60381f539ce6ebb0e5 100644 (file)
@@ -246,9 +246,15 @@ int ms_kick(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
                          comment);
 
     if (member) { /* and tell the channel about it */
-      sendcmdto_channel_butserv_butone(IsServer(sptr) ? &his : sptr, CMD_KICK,
-                                      chptr, NULL, 0, "%H %C :%s", chptr, who,
-                                      comment);
+      if (IsDelayedJoin(member)) {
+        if (MyUser(who))
+          sendcmdto_one(IsServer(sptr) ? &his : sptr, CMD_KICK,
+                        who, "%h %C :%s", chptr, who, comment);
+      } else {
+        sendcmdto_channel_butserv_butone(IsServer(sptr) ? &his : sptr, CMD_KICK,
+                                         chptr, NULL, 0, "%H %C :%s", chptr, who,
+                                         comment);
+      }
 
       make_zombie(member, who, cptr, sptr, chptr);
     }