]> jfr.im git - irc/unrealircd/unrealircd.git/commitdiff
Removed +I, Added +M
authorluke <redacted>
Sat, 5 Apr 2003 18:57:59 +0000 (18:57 +0000)
committerluke <redacted>
Sat, 5 Apr 2003 18:57:59 +0000 (18:57 +0000)
13 files changed:
Changes
Config
include/numeric.h
include/proto.h
include/struct.h
include/win32/settings.h
src/channel.c
src/s_conf.c
src/s_debug.c
src/s_unreal.c
src/s_user.c
src/send.c
src/webtv.c

diff --git a/Changes b/Changes
index 333eec1b22845e8b56ae740f1d9455b759acd5da..abc1c466e8544185ab7ba44321dc9635fd8e8bed 100644 (file)
--- a/Changes
+++ b/Changes
@@ -797,3 +797,11 @@ Fixed /botserv bug, reported by SciFi
 Unbroke +A channels and bans. :-/
 --Luke
 ===================================
+
+Removed +I. Don't you dare even think about whining.
+--Luke
+===================================
+
+Added chmode +R, requires umode +r to speak.
+--Luke
+===================================
diff --git a/Config b/Config
index 3eac295a387d22dab5a8bf823507e20acd618832..5dcbfe01ca437fd3e84d07ec56046e53f2db7a88 100755 (executable)
--- a/Config
+++ b/Config
@@ -81,7 +81,6 @@ CRYPT_OPER_PASSWORD=""
 CRYPT_LINK_PASSWORD=""
 CRYPT_ILINE_PASSWORD=""
 CRYPT_XLINE_PASSWORD=""
-ENABLE_INVISOPER=""
 LISTEN_SIZE="5"
 MAXSENDQLENGTH="3000000"
 BUFFERPOOL="(9 * MAXSENDQLENGTH)"
@@ -1503,42 +1502,6 @@ fi
                esac
 done           
 
-FOO=""
-runonce=""
-while [ -z "$FOO" ] ; do
-if [ -n "$ENABLE_INVISOPER" ] ; then
-       FOO="Yes"
-else
-       FOO="No"
-fi
-echo ""
-echo "Do you want to enable total invisibility (+I) mode for opers?"
-echo $n "[$FOO] -> $c"
-if [ -z "$AUTO_CONFIG" -o -n "$runonce" ] ; then
-       read cc
-else
-       cc=""
-       runonce=Yes
-fi
-if [ -z "$cc" ] ; then
-       cc=$FOO
-fi
-       case "$cc" in
-               [Yy]*)
-                       ENABLE_INVISOPER="1"
-                       ;;
-               [Nn]*)
-                       ENABLE_INVISOPER=""
-                       ;;
-               *)
-                       echo ""
-                       echo "You need to enter either Yes or No here..."
-                       echo ""
-                       FOO=""
-                       ;;
-               esac
-done
-
 FOO=""
 runonce=""
 while [ -z "$FOO" ] ; do
@@ -1888,11 +1851,6 @@ if [ -n "$CRYPT_XLINE_PASSWORD" ] ; then
 else
     echo "#undef CRYPT_XLINE_PASSWORD" >> $OPTIONS_H
 fi
-if [ -n "$ENABLE_INVISOPER" ] ; then
-    echo "#define ENABLE_INVISOPER 1" >> $OPTIONS_H
-else
-    echo "#undef ENABLE_INVISOPER" >> $OPTIONS_H
-fi
 if [ -n "$HUB" ] ; then
     echo "#define HUB 1" >> $OPTIONS_H
 else
@@ -1938,7 +1896,6 @@ CRYPT_OPER_PASSWORD="$CRYPT_OPER_PASSWORD"
 CRYPT_LINK_PASSWORD="$CRYPT_LINK_PASSWORD"
 CRYPT_ILINE_PASSWORD="$CRYPT_ILINE_PASSWORD"
 CRYPT_XLINE_PASSWORD="$CRYPT_XLINE_PASSWORD"
-ENABLE_INVISOPER="$ENABLE_INVISOPER"
 LISTEN_SIZE="$LISTEN_SIZE"
 MAXSENDQLENGTH="$MAXSENDQLENGTH"
 BUFFERPOOL="$BUFFERPOOL"
index 52e66cd86eb206f010c64d302e2bfa5968391eb0..2764cde19caae625941eba9506d82275a879c34d 100644 (file)
 
 #define ERR_HOSTILENAME      455
 
-#ifdef ENABLE_INVISOPER
-  #define ERR_NOHIDING      459
-#endif
-
 #define ERR_NOTFORHALFOPS       460
 #define ERR_NEEDMOREPARAMS   461
 #define ERR_ALREADYREGISTRED 462
index 2e25af63920f0dd870685f9b06c09e22120f2422..08093446e44e1d6d3a03b5758c6499e11bcee27c 100644 (file)
@@ -52,7 +52,6 @@ void sendto_chanops_butone PROTO((aClient *one, aChannel *chptr, char *pattern,
 void sendto_realops PROTO((char *pattern, ...));
 void sendto_serv_butone_token PROTO((aClient *one, char *prefix, char *command, char *token, char *pattern, ...));
 void sendto_serv_butone_token_opt PROTO((aClient *one, int opt, char *prefix, char *command, char *token, char *pattern, ...));
-void sendto_channel_ntadmins PROTO((aClient *from, aChannel *chptr, char *pattern, ...)); 
 
 /* support.c */
 char *my_itoa PROTO((int i));
index 35d9071bb290e1e553e9a856e5633edac17196f4..7a0f16b5c8f561793137b7b6d8c9b355889bdc42 100644 (file)
@@ -247,21 +247,13 @@ typedef unsigned int u_int32_t;   /* XXX Hope this works! */
 #define UMODE_SECURE   0x800000        /* User is a secure connect */
 #define UMODE_FCLIENT  0x1000000       /* recieve client on far connects.. */
 
-#ifdef ENABLE_INVISOPER
-  #define UMODE_HIDING   0x2000000     /* Totally invisible .. */
-#endif
-
 #define        UMODE_VICTIM   0x8000000        /* Intentional Victim */
 #define UMODE_DEAF     0x10000000
 #define UMODE_HIDEOPER 0x20000000      /* Hide oper mode */
 #define UMODE_SETHOST  0x40000000      /* used sethost */
 #define UMODE_STRIPBADWORDS 0x80000000 /* */
 
-#ifdef ENABLE_INVISOPER
-  #define      SEND_UMODES     (UMODE_INVISIBLE|UMODE_OPER|UMODE_WALLOP|UMODE_FAILOP|UMODE_HELPOP|UMODE_REGNICK|UMODE_SADMIN|UMODE_NETADMIN|UMODE_COADMIN|UMODE_ADMIN|UMODE_SERVICES|UMODE_HIDE|UMODE_EYES|UMODE_WHOIS|UMODE_KIX|UMODE_BOT|UMODE_SECURE|UMODE_FCLIENT|UMODE_HIDING|UMODE_DEAF|UMODE_VICTIM|UMODE_HIDEOPER|UMODE_SETHOST|UMODE_STRIPBADWORDS|UMODE_JUNK)
-#else
-  #define      SEND_UMODES     (UMODE_INVISIBLE|UMODE_OPER|UMODE_WALLOP|UMODE_FAILOP|UMODE_HELPOP|UMODE_REGNICK|UMODE_SADMIN|UMODE_NETADMIN|UMODE_COADMIN|UMODE_ADMIN|UMODE_SERVICES|UMODE_HIDE|UMODE_EYES|UMODE_WHOIS|UMODE_KIX|UMODE_BOT|UMODE_SECURE|UMODE_FCLIENT|UMODE_DEAF|UMODE_VICTIM|UMODE_HIDEOPER|UMODE_SETHOST|UMODE_STRIPBADWORDS|UMODE_JUNK)
-#endif
+#define        SEND_UMODES     (UMODE_INVISIBLE|UMODE_OPER|UMODE_WALLOP|UMODE_FAILOP|UMODE_HELPOP|UMODE_REGNICK|UMODE_SADMIN|UMODE_NETADMIN|UMODE_COADMIN|UMODE_ADMIN|UMODE_SERVICES|UMODE_HIDE|UMODE_EYES|UMODE_WHOIS|UMODE_KIX|UMODE_BOT|UMODE_SECURE|UMODE_FCLIENT|UMODE_DEAF|UMODE_VICTIM|UMODE_HIDEOPER|UMODE_SETHOST|UMODE_STRIPBADWORDS|UMODE_JUNK)
 
 #define        ALL_UMODES (SEND_UMODES|UMODE_SERVNOTICE|UMODE_LOCOP|UMODE_KILLS|UMODE_CLIENT|UMODE_FLOOD|UMODE_SERVICES|UMODE_EYES)
 #define        FLAGS_ID        (FLAGS_DOID|FLAGS_GOTID)
@@ -292,10 +284,6 @@ typedef unsigned int u_int32_t;    /* XXX Hope this works! */
 #define IsHelpOp(x)            ((x)->umodes & UMODE_HELPOP)
 #define IsAdmin(x)             ((x)->umodes & UMODE_ADMIN)
 
-#ifdef ENABLE_INVISOPER
-  #define IsHiding(x)          ((x)->umodes & UMODE_HIDING)
-#endif
-
 #ifdef STRIPBADWORDS
 #define IsFilteringWords(x)    ((x)->umodes & UMODE_STRIPBADWORDS)
 #endif
@@ -466,9 +454,6 @@ typedef unsigned int u_int32_t;     /* XXX Hope this works! */
 #endif
 #define OFLAG_COFOUND   0x20000000
 #define OFLAG_WMASTER  0x40000000
-#ifdef ENABLE_INVISOPER
-  #define OFLAG_INVISIBLE 0x80000000
-#endif
 #define OFLAG_LOCAL    (OFLAG_REHASH|OFLAG_HELPOP|OFLAG_LOCOP|OFLAG_LROUTE|OFLAG_LKILL|OFLAG_KLINE|OFLAG_UNKLINE|OFLAG_LNOTICE|OFLAG_UMODEC|OFLAG_ZLINE|OFLAG_HIDE)
 #define OFLAG_GLOBAL   (OFLAG_LOCAL|OFLAG_GLOBOP|OFLAG_WALLOP|OFLAG_UMODEF|OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE|OFLAG_HIDE)
 #define OFLAG_ISGLOBAL (OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE)
@@ -1068,11 +1053,7 @@ struct Channel {
 #define MODE_NOKNOCK           0x800000
 #define MODE_NOINVITE                  0x1000000
 #define MODE_FLOODLIMIT                0x2000000
-
-#ifdef ENABLE_INVISOPER
-  #define MODE_NOHIDING                0x4000000
-#endif
-
+#define MODE_MODREG            0x4000000
 #ifdef STRIPBADWORDS
 #define MODE_STRIPBADWORDS     0x8000000
 #endif
index 425af0443f55bbbff8decc6276ee80ecdeda174f..29a1dcf771042df1122b2dc090b6ad4b13114d13 100644 (file)
@@ -19,7 +19,6 @@
 #undef CRYPT_LINK_PASSWORD
 #undef CRYPT_ILINE_PASSWORD
 #undef CRYPT_XLINE_PASSWORD
-#undef ENABLE_INVISOPER
 #define HUB 1
 #define HAVE_REGEX 1
 #define NOSPOOF 1
index 34419956111d06814ddb6d8053c7cae3a148b04f..73e31f784a28076b1d80a82e1c0b75a5adb096f4 100644 (file)
@@ -141,9 +141,7 @@ aCtab cFlagTab[] = {
        {MODE_NOKNOCK, 'K', 0, 0},      /* knock knock (no way!) */
        {MODE_NOINVITE, 'V', 0, 0},     /* no invites */
        {MODE_FLOODLIMIT, 'f', 0, 1},   /* flood limiter */
-#ifdef ENABLE_INVISOPER
-       {MODE_NOHIDING, 'H', 0, 0},     /* no +I joiners */
-#endif
+       {MODE_MODREG, 'M', 0, 0},       /* need umode +r to talk */
 #ifdef STRIPBADWORDS
        {MODE_STRIPBADWORDS, 'G', 0, 0},        /* no badwords */
 #endif
@@ -646,6 +644,7 @@ int  is_chanprot(cptr, chptr)
 #define CANNOT_SEND_NOCOLOR 3
 #define CANNOT_SEND_BAN 4
 #define CANNOT_SEND_NOCTCP 5
+#define CANNOT_SEND_MODREG 6
 
 int  can_send(cptr, chptr, msgtext)
        aClient *cptr;
@@ -670,6 +669,10 @@ int  can_send(cptr, chptr, msgtext)
 
        lp = find_user_link(chptr->members, cptr);
 
+       if ((chptr->mode.mode & MODE_MODREG) && !IsRegNick(cptr) &&
+           (!lp || !(lp->flags & (CHFL_CHANOP|CHFL_VOICE|CHFL_CHANOWNER|
+                                  CHFL_HALFOP|CHFL_CHANPROT))))
+               return (CANNOT_SEND_MODREG);
 
        if (chptr->mode.mode & MODE_MODERATED &&
            (!lp
@@ -1583,23 +1586,13 @@ int  do_mode_char(chptr, modetype, modechar, param, what, cptr, pcount, pvar,
                          break;
                  }
                  goto setthephuckingmode;
-#ifdef ENABLE_INVISOPER
-         case MODE_NOHIDING:
-                 if (!IsSkoAdmin(cptr) && !IsServer(cptr) && !IsULine(cptr))
-                 {
-                         sendto_one(cptr,
-                             ":%s NOTICE %s :*** No Hiding mode (+H) can only be set by Administrators.",
-                             me.name, cptr->name);
-                         break;
-                 }
-                 goto setthephuckingmode;
-#endif
          case MODE_SECRET:
          case MODE_PRIVATE:
          case MODE_MODERATED:
          case MODE_TOPICLIMIT:
          case MODE_NOPRIVMSGS:
          case MODE_RGSTRONLY:
+         case MODE_MODREG:
          case MODE_NOCOLOR:
          case MODE_NOKICKS:
          case MODE_STRIP:
@@ -2300,11 +2293,6 @@ static int can_join(cptr, sptr, chptr, key, link, parv)
        if ((chptr->mode.mode & MODE_ADMONLY) && !IsSkoAdmin(sptr))
                return (ERR_ADMONLY);
 
-#ifdef ENABLE_INVISOPER
-       if ((chptr->mode.mode & MODE_NOHIDING) && IsHiding(sptr))
-               return (ERR_NOHIDING);
-#endif
-
        banned = is_banned(cptr, sptr, chptr);
 
         /* Admin, Coadmin, Netadmin, and SAdmin can still walk +b in +O */
@@ -2749,25 +2737,8 @@ int  channel_link(cptr, sptr, parc, parv)
                /*
                   ** notify all other users on the new channel
                 */
-#ifdef ENABLE_INVISOPER
-               if (!IsHiding(sptr))
-#endif
-                       sendto_channel_butserv(chptr, sptr,
+               sendto_channel_butserv(chptr, sptr,
                            ":%s JOIN :%s", parv[0], name);
-#ifdef ENABLE_INVISOPER
-               else
-               {
-                       if (MyClient(sptr))
-                               sendto_one(sptr, ":%s!%s@%s JOIN :%s",
-                                   sptr->name, sptr->user->username,
-                                   (IsHidden(sptr) ? sptr->
-                                   user->virthost : sptr->user->realhost),
-                                   name);
-                       sendto_umode(UMODE_ADMIN,
-                           "*** Invisibility -- %s (%s@%s) JOIN %s", sptr->name,
-                           sptr->user->username, sptr->user->realhost, chptr->chname);
-               }
-#endif
                sendto_serv_butone_token(cptr, parv[0], MSG_JOIN,
                    TOK_JOIN, name);
 
@@ -2975,32 +2946,7 @@ int  m_join(cptr, sptr, parc, parv)
                /*
                   ** notify all other users on the new channel
                 */
-#ifdef ENABLE_INVISOPER
-               if (IsHiding(sptr))
-               {
-                       if (MyClient(sptr))
-                       {
-                               sendto_one(sptr, ":%s!%s@%s JOIN :%s",
-                                   sptr->name, sptr->user->username,
-                                   (IsHidden(sptr) ? sptr->
-                                   user->virthost : sptr->user->realhost),
-                                   chptr->chname);
-                               sendto_umode(UMODE_ADMIN,
-                                   "*** Invisibility -- %s (%s@%s) JOIN %s",
-                                   sptr->name, sptr->user->username,
-                                   sptr->user->realhost, chptr->chname);
-                               sendto_serv_butone_token(&me, me.name, MSG_SMO,
-                                   TOK_SMO, "A :Invisibility -- %s (%s@%s) JOIN %s",
-                                   sptr->name, sptr->user->username,
-                                   sptr->user->realhost, chptr->chname);
-                               sendto_channel_ntadmins(sptr, chptr,  ":%s JOIN :%s",
-                                   sptr->name, chptr->chname);
-                       }
-               }
-               else if (chptr->mode.mode & MODE_AUDITORIUM)
-#else
                if (chptr->mode.mode & MODE_AUDITORIUM)
-#endif
                {
                        if (MyClient(sptr))
                                sendto_one(sptr, ":%s!%s@%s JOIN :%s",
@@ -3143,52 +3089,7 @@ int  m_part(cptr, sptr, parc, parv)
 
                if (1)
                {
-#ifdef ENABLE_INVISOPER
-                       if (IsHiding(sptr))
-                       {
-                               if (MyClient(sptr))
-                               {
-                                       sendto_umode(UMODE_ADMIN,
-                                           "*** Invisibility -- %s (%s@%s) PART %s",
-                                           sptr->name, sptr->user->username, 
-                                           sptr->user->realhost, chptr->chname);
-                                       sendto_serv_butone_token(&me,
-                                           me.name, MSG_SMO, TOK_SMO,
-                                           "A :Invisibility -- %s (%s@%s) PART %s",
-                                           sptr->name, sptr->user->username,
-                                           sptr->user->realhost, chptr->chname);
-                                       if (parc < 3)
-                                               sendto_channel_ntadmins(sptr, chptr, ":%s PART %s",
-                                                   sptr->name, chptr->chname);
-                                       else
-                                               sendto_channel_ntadmins(sptr, chptr, ":%s PART %s :%s",
-                                                   sptr->name, chptr->chname, comment);
-                               }
-                               if (MyClient(sptr))
-                                       /* awful hack .. */
-                                       if (parc < 3)
-                                               sendto_one(sptr,
-                                                   ":%s!%s@%s PART %s",
-                                                   sptr->name,
-                                                   sptr->user->username,
-                                                   (IsHidden(sptr) ?
-                                                   sptr->user->virthost :
-                                                   sptr->user->realhost),
-                                                   chptr->chname);
-                                       else
-                                               sendto_one(sptr,
-                                                   ":%s!%s@%s PART %s :%s",
-                                                   sptr->name,
-                                                   sptr->user->username,
-                                                   (IsHidden(sptr) ?
-                                                   sptr->user->virthost :
-                                                   sptr->user->realhost),
-                                                   chptr->chname, comment);
-                       }
-                       else if (chptr->mode.mode & MODE_AUDITORIUM)
-#else
                        if (chptr->mode.mode & MODE_AUDITORIUM)
-#endif
                        {
                                if (MyClient(sptr))
                                {
@@ -3334,20 +3235,6 @@ int  m_kick(cptr, sptr, parc, parv)
                                if (IsServer(sptr))
                                        goto attack;
                                
-                               /* Hiding patch by }{ */
-#ifdef ENABLE_INVISOPER
-                               if (IsHiding(who))
-                               {
-                                       sendto_one(sptr,
-                                           err_str(ERR_NOSUCHNICK),
-                                           me.name, parv[0], user, name);
-                                       sendto_one(who,
-                                           ":%s NOTICE %s :*** Invisibility: %s tried to kick you from %s (%s)",
-                                           me.name, who->name, parv[0],
-                                           chptr->chname, comment);
-                                       break;
-                               }
-#endif
                                /* If you're kicking yourself, it really shouldn't matter what modes you have set
                                 * unless the channel is +Q
                                 */
@@ -3892,11 +3779,7 @@ int  m_invite(cptr, sptr, parc, parv)
                        return 0;
        }
        
-#ifdef ENABLE_INVISOPER
-       if (over == 1 && !IsHiding(sptr))
-#else
        if (over == 1 && MyConnect(acptr))
-#endif
                sendto_channelops_butone(NULL, &me, chptr,
                  ":%s NOTICE @%s :OperOverride -- %s invited him/herself into the channel.",
                  me.name, chptr->chname, sptr->name);
@@ -4456,10 +4339,6 @@ int  m_names(cptr, sptr, parc, parv)
                acptr = cm->value.cptr;
                if (IsInvisible(acptr) && !member)
                        continue;
-#ifdef ENABLE_INVISOPER
-               if (IsHiding(acptr) && acptr != sptr && !(IsNetAdmin(sptr)))
-                       continue;
-#endif
                if (chptr->mode.mode & MODE_AUDITORIUM)
                        if (!is_chan_op(sptr, chptr)
                            && !is_chanprot(sptr, chptr)
@@ -5001,10 +4880,7 @@ int m_sjoin(aClient *cptr, aClient *sptr, int parc, char *parv[])
                                 modeflags = 0;
                         }
                         add_user_to_channel(chptr, acptr, modeflags);
-#ifdef ENABLE_INVISOPER
-                       if (!IsHiding(acptr))
-#endif
-                                sendto_channel_butserv(chptr, acptr,
+                        sendto_channel_butserv(chptr, acptr,
                                     ":%s JOIN :%s", nick,
                                     chptr->chname);
                         sendto_serv_butone_sjoin(cptr, ":%s JOIN %s",
index fcb182bcd5eeb2b68bb06a90a478cd303ed81831..ae3e7526d6cd19fec84de20f83b863965f0181ae 100644 (file)
@@ -886,15 +886,9 @@ int  m_svsnoop(cptr, sptr, parc, parv)
                                        acptr->umodes &=
                                                ~(UMODE_NETADMIN | UMODE_CLIENT |
                                           UMODE_FLOOD | UMODE_EYES | UMODE_WHOIS);
-#ifdef ENABLE_INVISOPER
-                                       acptr->umodes &=
-                                           ~(UMODE_KIX | UMODE_FCLIENT | UMODE_HIDING |
-                                           UMODE_DEAF | UMODE_HIDEOPER);
-#else
                                        acptr->umodes &=
                                            ~(UMODE_KIX | UMODE_FCLIENT |
                                            UMODE_DEAF | UMODE_HIDEOPER);
-#endif
                                        acptr->oflag = 0;
                                
                                }
@@ -1044,15 +1038,8 @@ extern char *getfield();
 
 #define STAR1 OFLAG_SADMIN|OFLAG_ADMIN|OFLAG_NETADMIN|OFLAG_COADMIN
 #define STAR2 OFLAG_ZLINE|OFLAG_HIDE|OFLAG_WHOIS
-#ifdef ENABLE_INVISOPER
-  #define STAR3 OFLAG_INVISIBLE
-#endif
 static int oper_access[] = {
-#ifdef ENABLE_INVISOPER
-       ~(STAR1 | STAR2 | STAR3), '*',
-#else
        ~(STAR1 | STAR2 ), '*',
-#endif
        OFLAG_LOCAL, 'o',
        OFLAG_GLOBAL, 'O',
        OFLAG_REHASH, 'r',
@@ -1083,9 +1070,6 @@ static int oper_access[] = {
 /*        OFLAG_AGENT, 'S',*/
 #ifndef NO_OPEROVERRIDE
        OFLAG_CANOVER, 'v',
-#endif
-#ifdef ENABLE_INVISOPER
-       OFLAG_INVISIBLE, '^',
 #endif
        0, 0
 };
@@ -2670,15 +2654,9 @@ int  m_svso(cptr, sptr, parc, parv)
                acptr->umodes &=
                    ~(UMODE_NETADMIN | UMODE_CLIENT |
                    UMODE_FLOOD | UMODE_EYES | UMODE_WHOIS);
-#ifdef ENABLE_INVISOPER
-               acptr->umodes &=
-                   ~(UMODE_KIX | UMODE_FCLIENT | UMODE_HIDING |
-                   UMODE_DEAF | UMODE_HIDEOPER);
-#else
                acptr->umodes &=
                    ~(UMODE_KIX | UMODE_FCLIENT |
                    UMODE_DEAF | UMODE_HIDEOPER);
-#endif
                acptr->oflag = 0;
                send_umode_out(acptr, acptr, fLag);
        }
index cbf1a03bca814b8b5ac4dcba0fe2ad8175210abb..11379ca5d820e5aba2b3a9f3feade66903021e71 100644 (file)
@@ -81,9 +81,6 @@ char serveropts[] = {
 #ifdef USE_SYSLOG
        'Y',
 #endif
-#ifdef ENABLE_INVISOPER
-       'R',
-#endif
 #ifndef NO_OPEROVERRIDE
        'O',
 #endif
index 490c872fb6e448726e8c8e6ac25c1d148eeb2312..d479305829655fb511cc4aa86f2d4e40aa0c498f 100644 (file)
@@ -973,11 +973,6 @@ int  m_sendumode(cptr, sptr, parc, parv)
                          sendto_umode(UMODE_CODER, "%s", parv[2]);
                          break;
 */
-#ifdef ENABLE_INVISOPER
-                 case 'I':
-                         sendto_umode(UMODE_HIDING, "%s", parv[2]);
-                         break;
-#endif
                  case 'w':
                          sendto_umode(UMODE_WALLOP, "%s", parv[2]);
                          break;
index 322b2c4e30be108afa67d3a3d72040e148838993..bebfaa210bea6a15379bc09f08265d7040850471 100644 (file)
@@ -88,9 +88,6 @@ static int user_modes[] = { UMODE_OPER, 'o',
        UMODE_KIX, 'q',
        UMODE_BOT, 'B',
        UMODE_FCLIENT, 'F',
-#ifdef ENABLE_INVISOPER
-       UMODE_HIDING, 'I',
-#endif
        UMODE_SECURE, 'z',
        UMODE_DEAF, 'd',
        UMODE_VICTIM, 'v',
@@ -1809,9 +1806,10 @@ static int m_message(cptr, sptr, parc, parv, notice)
        static char *err_cantsend[] = {
                "You need voice (+v)",
                "No external channel messages",
-               "Colour is not permitted in this channel",
+               "Color is not permitted in this channel",
                "You are banned",
                "CTCPs are not permitted in this channel",
+               "You must have a registered nick (+r) to talk on this channel",
                NULL
        };
 
@@ -2464,10 +2462,6 @@ static void do_who(sptr, acptr, repchan)
        /* checks for channel /who's and nonopers */
        if (channelwho && !IsOper(sptr) && sptr != acptr)
        {
-#ifdef ENABLE_INVISOPER
-               if IsHiding(acptr)
-                       return;
-#endif
                if (IsAuditorium(repchan) && !is_chan_op(acptr,repchan)
                    && !is_chan_op(sptr,repchan))
                        return;
@@ -2476,10 +2470,6 @@ static void do_who(sptr, acptr, repchan)
                if (IsInvisible(acptr) && !IsMember(sptr,repchan))
                        return;
        }
-#ifdef ENABLE_INVISOPER        
-       if (channelwho && IsHiding(acptr) && !IsNetAdmin(sptr))
-               return;
-#endif
        if (acptr->user->away)
                status[i++] = 'G';
        else
@@ -2498,33 +2488,17 @@ static void do_who(sptr, acptr, repchan)
         * simply because they are an oper. (adds ! to the who "flags")
         */
        if (IsAnOper(sptr) && sptr != acptr)
-#ifdef ENABLE_INVISOPER
-               if (channelwho && IsHiding(acptr) && IsNetAdmin(sptr) ||
-                   IsInvisible(acptr) && !IsMember(sptr,repchan) ||
-                   IsAuditorium(repchan) && !is_chan_op(acptr,repchan) ||
-                   !ShowChannel(sptr,repchan)) 
-                       status[i++] = '!';
-#else
                if (
                    IsInvisible(acptr) && !IsMember(sptr,repchan) ||
                     IsAuditorium(repchan) && !is_chan_op(acptr,repchan) ||
                     !ShowChannel(sptr,repchan))
                         status[i++] = '!';
-#endif
        else if (sptr != acptr)
-#ifdef ENABLE_INVISOPER
-               if (channelwho && IsHiding(acptr) ||
-                    IsInvisible(acptr) && !IsMember(sptr,repchan) ||
-                    IsAuditorium(repchan) && !is_chan_op(acptr,repchan) ||
-                    !ShowChannel(sptr,repchan))
-                       return;
-#else
                if (
                    IsInvisible(acptr) && !IsMember(sptr,repchan) ||
                     IsAuditorium(repchan) && !is_chan_op(acptr,repchan) ||
                     !ShowChannel(sptr,repchan))
                        return;
-#endif
        
        /* Channel owner */
        if (repchan && is_chanowner(acptr, repchan))
@@ -2551,10 +2525,6 @@ static void do_who(sptr, acptr, repchan)
                    ":%s NOTICE %s :*** %s either did a /who or a specific /who on you",
                    me.name, acptr->name, sptr->name);
        }
-#ifdef ENABLE_INVISOPER
-       if (IsHiding(acptr) && sptr != acptr && !IsNetAdmin(sptr))
-               repchan = NULL;
-#endif
 
        sendto_one(sptr, rpl_str(RPL_WHOREPLY), me.name, sptr->name,
            (repchan) ? (repchan->chname) : "*", acptr->user->username,
@@ -2903,13 +2873,7 @@ int  m_whois(cptr, sptr, parc, parv)
                        mlen = strlen(me.name) + strlen(parv[0]) + 6 +
                            strlen(name);
 
-#ifdef ENABLE_INVISOPER
-                       if (!IsServices(acptr) && !IsHiding(acptr) ||
-                           ((IsServices(acptr) || IsHiding(acptr)) && IsNetAdmin(sptr))
-                          )
-#else
                        if (!IsServices(acptr) || IsServices(acptr) && IsNetAdmin(sptr))
-#endif
                        {
                                for (len = 0, *buf = '\0', lp = user->channel; lp;
                                    lp = lp->next)
@@ -4361,13 +4325,6 @@ int  m_umode(cptr, sptr, parc, parv)
                                      && MyClient(sptr))
                                          break;
                                  goto def;
-#ifdef ENABLE_INVISOPER
-                         case 'I':
-                                 if (NO_OPER_HIDING == 1 && what == MODE_ADD
-                                     && MyClient(sptr))
-                                         break;
-                                 goto def;
-#endif
                          case 'B':
                                  if (what == MODE_ADD && MyClient(sptr))
                                          (void)m_botmotd(sptr, sptr, 1, parv);
@@ -4456,11 +4413,6 @@ int  m_umode(cptr, sptr, parc, parv)
                        ClearNetAdmin(sptr);
                if (IsCoAdmin(sptr) && !OPIsCoAdmin(sptr))
                        ClearCoAdmin(sptr);
-#ifdef ENABLE_INVISOPER
-               if ((sptr->umodes & UMODE_HIDING)
-                   && !(sptr->oflag & OFLAG_INVISIBLE))
-                       sptr->umodes &= ~UMODE_HIDING;
-#endif
                if (MyClient(sptr) && (sptr->umodes & UMODE_SECURE)
                    && !IsSecure(sptr))
                        sptr->umodes &= ~UMODE_SECURE;
@@ -4504,48 +4456,11 @@ int  m_umode(cptr, sptr, parc, parv)
                /* Agents 
                   if ((sptr->umodes & (UMODE_AGENT)) && !(sptr->oflag & OFLAG_AGENT))
                   sptr->umodes &= ~UMODE_AGENT; */
-#ifdef ENABLE_INVISOPER
-               if ((sptr->umodes & UMODE_HIDING) && !IsAnOper(sptr))
-                       sptr->umodes &= ~UMODE_HIDING;
-               if ((sptr->umodes & UMODE_HIDING)
-                   && !(sptr->oflag & OFLAG_INVISIBLE))
-                       sptr->umodes &= ~UMODE_HIDING;
-#endif
                if (MyClient(sptr) && (sptr->umodes & UMODE_SECURE)
                    && !IsSecure(sptr))
                        sptr->umodes &= ~UMODE_SECURE;
-#ifdef ENABLE_INVISOPER
-               if ((sptr->umodes & (UMODE_HIDING))
-                   && !(setflags & UMODE_HIDING))
-               {
-                       sendto_umode(UMODE_ADMIN,
-                           "[+I] Activated total invisibility mode on %s",
-                           sptr->name);
-                       sendto_serv_butone(cptr,
-                           ":%s SMO A :[+I] Activated total invisibility mode on %s",
-                           me.name, sptr->name);
-                       sendto_channels_inviso_part(sptr);
-               }
-#endif
                if ((sptr->umodes & UMODE_JUNK) && !IsOper(sptr))
                        sptr->umodes &= ~UMODE_JUNK;
-                       
-#ifdef ENABLE_INVISOPER
-               if (!(sptr->umodes & (UMODE_HIDING)))
-               {
-                       if (setflags & UMODE_HIDING)
-                       {
-                               sendto_umode(UMODE_ADMIN,
-                                   "[+I] De-activated total invisibility mode on %s",
-                                   sptr->name);
-                               sendto_serv_butone(cptr,
-                                   ":%s SMO A :[+I] De-activated total invisibility mode on %s",
-                                   me.name, sptr->name);
-                               sendto_channels_inviso_join(sptr);
-
-                       }
-               }
-#endif
        }
        /*
         * If I understand what this code is doing correctly...
index 7d591ac292e57fe8a774a9b5cd9bd7a18a437b8e..32a1846c6fd4b781624e28d347e712baf399980e 100644 (file)
@@ -1747,76 +1747,3 @@ void     sendto_message_one(aClient *to, aClient *from, char *sender,
         sendto_prefix_one(to, from, ":%s %s %s :%s",
                          sender, cmd, nick, msg);
 }
-
-/* The following functions are for +/-I -- codemastr */
-
-void sendto_channels_inviso_join(aClient *user)
-{
-        Link *channels;
-        Link *users;
-        aClient *cptr;
-
-        memset((char *)sentalong, '\0', sizeof(sentalong));
-        if (user->fd >= 0)
-                sentalong[user->fd] = 1;
-        if (user->user)
-                for (channels = user->user->channel; channels; channels = channels->next)
-                        for (users = channels->value.chptr->members; users; users = users->next)
-                       {
-                                cptr = users->value.cptr;
-                                if (!MyConnect(cptr) || IsNetAdmin(cptr) || sentalong[cptr->fd] || cptr == user)
-                                        continue;
-                                sentalong[cptr->fd]++;
-                                sendto_one(cptr, ":%s!%s@%s JOIN :%s", user->name, user->user->username,
-                               (IsHidden(user) ? user->user->virthost : user->user->realhost), channels->value.chptr->chname); 
-                       }
-       return;
-}
-
-void sendto_channels_inviso_part(aClient *user)
-{
-        Link *channels;
-        Link *users;
-        aClient *cptr;
-
-        memset((char *)sentalong, '\0', sizeof(sentalong));
-        if (user->fd >= 0)
-                sentalong[user->fd] = 1;
-        if (user->user)
-                for (channels = user->user->channel; channels; channels = channels->next)
-                        for (users = channels->value.chptr->members; users; users = users->next)
-                       {
-                                cptr = users->value.cptr;
-                                if (!MyConnect(cptr) || IsNetAdmin(cptr) || sentalong[cptr->fd] || cptr == user)
-                                        continue;
-                                sentalong[cptr->fd]++;
-                               sendto_one(cptr, ":%s!%s@%s PART :%s", user->name, user->user->username, (IsHidden(user) ? user->user->virthost : user->user->realhost), channels->value.chptr->chname);
-                       }
-       return;
-}
-
-void sendto_channel_ntadmins(aClient *from, aChannel *chptr, char *pattern, ...)
-{
-        va_list vl;
-        Link *lp;
-        aClient *acptr;
-        int  i;
-
-        va_start(vl, pattern);
-        ++sentalong_marker;
-        for (lp = chptr->members; lp; lp = lp->next)
-       {
-                acptr = lp->value.cptr;
-                if (acptr->from == from || !IsNetAdmin(acptr) || (IsDeaf(acptr) && !(sendanyways == 1)))
-                        continue;
-                if (MyConnect(acptr))   /* (It is always a client) */
-                        vsendto_prefix_one(acptr, from, pattern, vl);
-                else if (sentalong[(i = acptr->from->fd)] != sentalong_marker)
-               {
-                        sentalong[i] = sentalong_marker;
-                        vsendto_prefix_one(acptr, from, pattern, vl);
-               }
-       }
-       va_end(vl);
-       return;
-}
index a19b269b2dcd09fa4f7e256302f03d4c7d8316d6..3d31d5a271104b713258d271759a306cad536b01 100644 (file)
@@ -304,12 +304,7 @@ int        w_whois(aClient *cptr, aClient *sptr, int parc, char *parv[])
                                }
                        }
 
-#ifdef ENABLE_INVISOPER
-                       if (buf[0] != '\0' && !IsULine(acptr) && (!IsHiding(acptr) ||
-                               IsNetAdmin(sptr) || sptr == acptr))
-#else
                        if (buf[0] != '\0' && !IsULine(acptr))
-#endif
                                sendto_one(sptr, 
                                        ":IRC PRIVMSG %s :%s is on %s",
                                                sptr->name, name, buf);