Revision: 1903
          
http://undernet-ircu.svn.sourceforge.net/undernet-ircu/?rev=1903&view=rev
Author:   entrope
Date:     2009-01-13 03:54:45 +0000 (Tue, 13 Jan 2009)

Log Message:
-----------
Author: Michael Poole <[email protected]>
Description:

Fix the issues described by weibe in SourceForge.net bug 2045310
(TOPIC, WALLCHOPS and WALLVOICES do not reveal join-delayed users).

Modified Paths:
--------------
    ircu2/branches/u2_10_12_branch/ChangeLog
    ircu2/branches/u2_10_12_branch/ircd/m_topic.c
    ircu2/branches/u2_10_12_branch/ircd/m_wallchops.c
    ircu2/branches/u2_10_12_branch/ircd/m_wallvoices.c

Modified: ircu2/branches/u2_10_12_branch/ChangeLog
===================================================================
--- ircu2/branches/u2_10_12_branch/ChangeLog    2009-01-13 03:27:27 UTC (rev 
1902)
+++ ircu2/branches/u2_10_12_branch/ChangeLog    2009-01-13 03:54:45 UTC (rev 
1903)
@@ -1,5 +1,18 @@
 2009-01-12  Michael Poole <[email protected]>
 
+       * ircd/m_topic.c (do_settopic): Just before sending the topic out,
+       check to see if the user is join-delayed and should be shown.
+
+       * ircd/m_wallchops.c (m_wallchops): Allow this command to expose
+       join-delayed users.
+       (ms_wallchops): Likewise.
+
+       * ircd/m_wallvoices.c (m_wallvoices): Allow this command to expose
+       join-delayed users.
+       (ms_wallvoices): Likewise.
+
+2009-01-12  Michael Poole <[email protected]>
+
        * ircd/channel.c (modebuf_mode_uint): Fix bouncing of limit changes.
 
 2009-01-12  Michael Poole <[email protected]>

Modified: ircu2/branches/u2_10_12_branch/ircd/m_topic.c
===================================================================
--- ircu2/branches/u2_10_12_branch/ircd/m_topic.c       2009-01-13 03:27:27 UTC 
(rev 1902)
+++ ircu2/branches/u2_10_12_branch/ircd/m_topic.c       2009-01-13 03:54:45 UTC 
(rev 1903)
@@ -72,8 +72,17 @@
      sendcmdto_serv_butone(sptr, CMD_TOPIC, cptr, "%H %Tu %Tu :%s", chptr,
                           chptr->creationtime, chptr->topic_time, 
chptr->topic);
    if (newtopic)
+   {
+     struct Membership *member;
+
+     /* If the member is delayed-join, show them. */
+     member = find_channel_member(sptr, chptr);
+     if (member && IsDelayedJoin(member))
+       RevealDelayedJoin(member);
+
      sendcmdto_channel_butserv_butone(from, CMD_TOPIC, chptr, NULL, 0,
                                       "%H :%s", chptr, chptr->topic);
+   }
       /* if this is the same topic as before we send it to the person that
        * set it (so they knew it went through ok), but don't bother sending
        * it to everyone else on the channel to save bandwidth

Modified: ircu2/branches/u2_10_12_branch/ircd/m_wallchops.c
===================================================================
--- ircu2/branches/u2_10_12_branch/ircd/m_wallchops.c   2009-01-13 03:27:27 UTC 
(rev 1902)
+++ ircu2/branches/u2_10_12_branch/ircd/m_wallchops.c   2009-01-13 03:54:45 UTC 
(rev 1903)
@@ -115,7 +115,7 @@
     return send_reply(sptr, ERR_NOTEXTTOSEND);
 
   if (IsChannelName(parv[1]) && (chptr = FindChannel(parv[1]))) {
-    if (client_can_send_to_channel(sptr, chptr, 0)) {
+    if (client_can_send_to_channel(sptr, chptr, 1)) {
       if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
           check_target_limit(sptr, chptr, chptr->chname, 0))
         return 0;
@@ -145,7 +145,7 @@
     return 0;
 
   if (!IsLocalChannel(parv[1]) && (chptr = FindChannel(parv[1]))) {
-    if (client_can_send_to_channel(sptr, chptr, 0)) {
+    if (client_can_send_to_channel(sptr, chptr, 1)) {
       sendcmdto_channel_butone(sptr, CMD_WALLCHOPS, chptr, cptr,
                               SKIP_DEAF | SKIP_BURST | SKIP_NONOPS,
                               "%H :%s", chptr, parv[parc - 1]);

Modified: ircu2/branches/u2_10_12_branch/ircd/m_wallvoices.c
===================================================================
--- ircu2/branches/u2_10_12_branch/ircd/m_wallvoices.c  2009-01-13 03:27:27 UTC 
(rev 1902)
+++ ircu2/branches/u2_10_12_branch/ircd/m_wallvoices.c  2009-01-13 03:54:45 UTC 
(rev 1903)
@@ -114,7 +114,7 @@
     return send_reply(sptr, ERR_NOTEXTTOSEND);
 
   if (IsChannelName(parv[1]) && (chptr = FindChannel(parv[1]))) {
-    if (client_can_send_to_channel(sptr, chptr, 0)) {
+    if (client_can_send_to_channel(sptr, chptr, 1)) {
       if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
           check_target_limit(sptr, chptr, chptr->chname, 0))
         return 0;
@@ -144,7 +144,7 @@
     return 0;
 
   if (!IsLocalChannel(parv[1]) && (chptr = FindChannel(parv[1]))) {
-    if (client_can_send_to_channel(sptr, chptr, 0)) {
+    if (client_can_send_to_channel(sptr, chptr, 1)) {
       sendcmdto_channel_butone(sptr, CMD_WALLVOICES, chptr, cptr,
                               SKIP_DEAF | SKIP_BURST | SKIP_NONVOICES, 
                               "%H :%s", chptr, parv[parc - 1]);


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches

Reply via email to