Package: ircd-hybrid
Version: 7.2.2.dfsg.2-6
Severity: wishlist
Tags: patch


The default channel mode of +t is annoying since if you've not registered with
chanserv and all the ops disconnect (or are deopped) before changing it, then
you can never set the topic again. I've attached a patch which I hope changes 
this.

Matt

-- System Information:
Debian Release: 5.0.3
  APT prefers stable
  APT policy: (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Index: ircd-hybrid-7.2.2.dfsg.2/modules/core/m_join.c
===================================================================
--- ircd-hybrid-7.2.2.dfsg.2.orig/modules/core/m_join.c	2010-02-08 08:51:56.663782322 +0000
+++ ircd-hybrid-7.2.2.dfsg.2/modules/core/m_join.c	2010-02-08 08:52:34.918962780 +0000
@@ -244,15 +244,14 @@
     if (flags & CHFL_CHANOP)
     {
       chptr->channelts = CurrentTime;
-      chptr->mode.mode |= MODE_TOPICLIMIT;
       chptr->mode.mode |= MODE_NOPRIVMSGS;
 
       sendto_server(client_p, source_p, chptr, CAP_TS6, NOCAPS, LL_ICLIENT,
-                    ":%s SJOIN %lu %s +nt :@%s",
+                    ":%s SJOIN %lu %s +n :@%s",
                     me.id, (unsigned long)chptr->channelts,
                     chptr->chname, source_p->id);
       sendto_server(client_p, source_p, chptr, NOCAPS, CAP_TS6, LL_ICLIENT,
-                    ":%s SJOIN %lu %s +nt :@%s",
+                    ":%s SJOIN %lu %s +n :@%s",
                     me.name, (unsigned long)chptr->channelts,
                     chptr->chname, source_p->name);
       /*
@@ -261,7 +260,7 @@
       sendto_channel_local(ALL_MEMBERS, NO, chptr, ":%s...@%s JOIN :%s",
                            source_p->name, source_p->username,
                            source_p->host, chptr->chname);
-      sendto_channel_local(ALL_MEMBERS, NO, chptr, ":%s MODE %s +nt",
+      sendto_channel_local(ALL_MEMBERS, NO, chptr, ":%s MODE %s +n",
                            me.name, chptr->chname);
     }
     else
Index: ircd-hybrid-7.2.2.dfsg.2/modules/m_lljoin.c
===================================================================
--- ircd-hybrid-7.2.2.dfsg.2.orig/modules/m_lljoin.c	2010-02-08 08:55:35.555809801 +0000
+++ ircd-hybrid-7.2.2.dfsg.2/modules/m_lljoin.c	2010-02-08 08:56:06.206869883 +0000
@@ -204,14 +204,13 @@
   
   if (flags & CHFL_CHANOP)
   {
-    chptr->mode.mode |= MODE_TOPICLIMIT;
     chptr->mode.mode |= MODE_NOPRIVMSGS;
       
     sendto_channel_local(ALL_MEMBERS, NO, chptr,
-                         ":%s MODE %s +nt",
+                         ":%s MODE %s +n",
                          me.name, chptr->chname);
     sendto_one(uplink, 
-               ":%s MODE %s +nt",
+               ":%s MODE %s +n",
                me.name, chptr->chname);
   }
 

Reply via email to