]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blobdiff - centralizemodecccheck.patch
welcome: annouce of local welcome to , global to
[irc/quakenet/snircd-patchqueue.git] / centralizemodecccheck.patch
index cc3f4c43d085ee4fa87cdf61da666b1c3d4a7745..f5c7e0460ebe5fdcf03a377fa10a7bdc030bc993 100644 (file)
@@ -6,9 +6,9 @@ function uses a table to check for control codes, which is faster than what was
 also corrects that an error is returned in WALLVOICES and WALLCHOPS in case +c or +C blocks the message, which is also done for other modes there
 also corrects that CTCP ACTION is only allowed for PRIVMSG, and not for NOTICE WALLCHOPS and WALLVOICES
 
-diff -r e80591f05c47 include/channel.h
---- a/include/channel.h        Sat Mar 20 17:57:13 2010 +0100
-+++ b/include/channel.h        Sun Mar 21 15:49:28 2010 +0100
+diff -r 8567e020893c include/channel.h
+--- a/include/channel.h        Thu Mar 25 13:10:37 2010 +0100
++++ b/include/channel.h        Thu Mar 25 13:25:55 2010 +0100
 @@ -398,6 +398,7 @@
  extern struct Membership* find_channel_member(struct Client* cptr, struct Channel* chptr);
  extern int member_can_send_to_channel(struct Membership* member, int reveal);
@@ -17,10 +17,10 @@ diff -r e80591f05c47 include/channel.h
  
  extern void remove_user_from_channel(struct Client *sptr, struct Channel *chptr);
  extern void remove_user_from_all_channels(struct Client* cptr);
-diff -r e80591f05c47 ircd/channel.c
---- a/ircd/channel.c   Sat Mar 20 17:57:13 2010 +0100
-+++ b/ircd/channel.c   Sun Mar 21 15:49:28 2010 +0100
-@@ -778,6 +778,63 @@
+diff -r 8567e020893c ircd/channel.c
+--- a/ircd/channel.c   Thu Mar 25 13:10:37 2010 +0100
++++ b/ircd/channel.c   Thu Mar 25 13:25:55 2010 +0100
+@@ -778,6 +778,68 @@
    return member_can_send_to_channel(member, reveal);
  }
  
@@ -64,10 +64,15 @@ diff -r e80591f05c47 ircd/channel.c
 +  if (chptr->mode.mode & MODE_NOCOLOUR)
 +    control = 1;
 +  
-+  /* mode +C set - do allow CTCP ACTION though but only when action is 1 */
-+  if ((chptr->mode.mode & MODE_NOCTCP) && (!action || ircd_strncmp(text,"\001ACTION ",8)))
++  /* mode +C set */
++  if (chptr->mode.mode & MODE_NOCTCP) {
 +    ctcp = 1;
 +  
++    /* when action is 1, do allow CTCP ACTION though */
++    if (action && !ircd_strncmp(text,"\001ACTION ",8))
++      ctcp = 0;
++  }
++  
 +  /* nothing to check */
 +  if (!control && !ctcp)
 +    return 1;
@@ -84,9 +89,9 @@ diff -r e80591f05c47 ircd/channel.c
  /** Returns the name of a channel that prevents the user from changing nick.
   * if a member and not (opped or voiced) and (banned or moderated), return
   * the name of the first channel banned on.
-diff -r e80591f05c47 ircd/ircd_relay.c
---- a/ircd/ircd_relay.c        Sat Mar 20 17:57:13 2010 +0100
-+++ b/ircd/ircd_relay.c        Sun Mar 21 15:49:28 2010 +0100
+diff -r 8567e020893c ircd/ircd_relay.c
+--- a/ircd/ircd_relay.c        Thu Mar 25 13:10:37 2010 +0100
++++ b/ircd/ircd_relay.c        Thu Mar 25 13:25:55 2010 +0100
 @@ -87,7 +87,6 @@
  void relay_channel_message(struct Client* sptr, const char* name, const char* text, const int targetc)
  {
@@ -145,9 +150,9 @@ diff -r e80591f05c47 ircd/ircd_relay.c
  
    if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
        check_target_limit(sptr, chptr, chptr->chname, 0))
-diff -r e80591f05c47 ircd/m_wallchops.c
---- a/ircd/m_wallchops.c       Sat Mar 20 17:57:13 2010 +0100
-+++ b/ircd/m_wallchops.c       Sun Mar 21 15:49:28 2010 +0100
+diff -r 8567e020893c ircd/m_wallchops.c
+--- a/ircd/m_wallchops.c       Thu Mar 25 13:10:37 2010 +0100
++++ b/ircd/m_wallchops.c       Thu Mar 25 13:25:55 2010 +0100
 @@ -103,7 +103,6 @@
  {
    struct Channel *chptr;
@@ -180,9 +185,9 @@ diff -r e80591f05c47 ircd/m_wallchops.c
  
        if ((chptr->mode.mode & MODE_NOPRIVMSGS) &&
            check_target_limit(sptr, chptr, chptr->chname, 0))
-diff -r e80591f05c47 ircd/m_wallvoices.c
---- a/ircd/m_wallvoices.c      Sat Mar 20 17:57:13 2010 +0100
-+++ b/ircd/m_wallvoices.c      Sun Mar 21 15:49:28 2010 +0100
+diff -r 8567e020893c ircd/m_wallvoices.c
+--- a/ircd/m_wallvoices.c      Thu Mar 25 13:10:37 2010 +0100
++++ b/ircd/m_wallvoices.c      Thu Mar 25 13:25:55 2010 +0100
 @@ -102,7 +102,6 @@
  {
    struct Channel *chptr;