Author: Kev <klmitch@mit.edu>
[ircu2.10.12-pk.git] / ircd / m_privmsg.c
index 09b5a4477401b21b64ee2236d6c4f532b0c8cb2b..aee3c857ca9e39c75bc05c2f2c41fdcd8016e584 100644 (file)
  */
 #include "config.h"
 
-#if 0
-/*
- * No need to include handlers.h here the signatures must match
- * and we don't need to force a rebuild of all the handlers everytime
- * we add a new one to the list. --Bleep
- */
-#include "handlers.h"
-#endif /* 0 */
 #include "client.h"
 #include "ircd.h"
 #include "ircd_chattr.h"
@@ -241,221 +233,3 @@ int mo_privmsg(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
   }
   return 0;
 }
-
-
-#if 0
-/*
- * m_message (used in m_private() and m_notice())
- *
- * The general function to deliver MSG's between users/channels
- *
- * parv[0] = sender prefix
- * parv[1] = receiver list
- * parv[parc-1] = message text
- *
- * massive cleanup
- * rev argv 6/91
- */
-static int m_message(struct Client *cptr, struct Client *sptr,
-    int parc, char *parv[], int notice)
-{
-  struct Client*  acptr;
-  char*           s;
-  struct Channel* chptr;
-  char*           nick;
-  char*           server;
-  char*           cmd;
-  char*           host;
-  int             i;
-  int             count;
-  char*           vector[MAXTARGETS];
-
-  sptr->flags &= ~FLAGS_TS8;
-
-  cmd = notice ? MSG_NOTICE : MSG_PRIVATE;
-
-  if (parc < 2 || EmptyString(parv[1]))
-    return send_error_to_client(sptr, ERR_NORECIPIENT, cmd); /* XXX DEAD */
-
-  if (parc < 3 || EmptyString(parv[parc - 1]))
-    return send_error_to_client(sptr, ERR_NOTEXTTOSEND); /* XXX DEAD */
-
-
-#if 0
-  if (MyUser(sptr))
-    parv[1] = canonize(parv[1]);
-  for (p = 0, nick = ircd_strtok(&p, parv[1], ","); nick;
-      nick = ircd_strtok(&p, 0, ","))
-#endif
-
-  count = unique_name_vector(parv[1], ',', vector, MAXTARGETS);
-  for (i = 0; i < count; ++i) {
-    nick = vector[i];
-    /*
-     * channel msg?
-     */
-    if (IsChannelName(nick))
-    {
-      if ((chptr = FindChannel(nick)))
-      {
-        /* This first: Almost never a server/service */
-        if (client_can_send_to_channel(sptr, chptr) || IsChannelService(sptr))
-        {
-          if (MyUser(sptr) && (chptr->mode.mode & MODE_NOPRIVMSGS) &&
-              check_target_limit(sptr, chptr, chptr->chname, 0))
-            continue;
-          sendmsgto_channel_butone(cptr, sptr, chptr, /* XXX DEAD */
-              parv[0], (notice ? TOK_NOTICE : TOK_PRIVATE), 
-              chptr->chname, parv[parc - 1]);
-        }
-        else if (!notice)
-          sendto_one(sptr, err_str(ERR_CANNOTSENDTOCHAN), /* XXX DEAD */
-              me.name, parv[0], chptr->chname);
-        continue;
-      }
-    }
-    else if (*nick != '$' && !strchr(nick, '@'))
-    {
-      /*
-       * nickname addressed?
-       */
-      if (MyUser(sptr))
-        acptr = FindUser(nick);
-      else if ((acptr = findNUser(nick)) && !IsUser(acptr))
-        acptr = 0;
-      if (acptr)
-      {
-        if (MyUser(sptr) && !IsChannelService(acptr) && 
-           check_target_limit(sptr, acptr, acptr->name, 0))
-          continue;
-        if (!is_silenced(sptr, acptr))
-        {
-          if (!notice && MyConnect(sptr) && acptr->user && acptr->user->away)
-            sendto_one(sptr, rpl_str(RPL_AWAY), /* XXX DEAD */
-                me.name, parv[0], acptr->name, acptr->user->away);
-          if (MyUser(acptr))
-          {
-            add_target(acptr, sptr);
-            sendto_prefix_one(acptr, sptr, ":%s %s %s :%s", /* XXX DEAD */
-                parv[0], cmd, acptr->name, parv[parc - 1]);
-          }
-          else
-            sendto_prefix_one(acptr, sptr, ":%s %s %s%s :%s", /* XXX DEAD */
-                parv[0], (notice ? TOK_NOTICE : TOK_PRIVATE),
-                NumNick(acptr), parv[parc - 1]);
-        }
-      }
-      else if (MyUser(sptr))
-        sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], nick); /* XXX DEAD */
-      else
-        sendto_one(sptr, /* XXX DEAD */
-            ":%s %d %s * :Target left UnderNet. Failed to deliver: [%.50s]",
-            me.name, ERR_NOSUCHNICK, sptr->name, parv[parc - 1]);
-      continue;
-    }
-    /*
-     * The following two cases allow masks in NOTICEs
-     * (for OPERs only)
-     *
-     * Armin, 8Jun90 (gruner@informatik.tu-muenchen.de)
-     */
-    if ((*nick == '$' || *nick == '#') && IsAnOper(sptr))
-    {
-      if (MyConnect(sptr))
-      {
-        if (!(s = strrchr(nick, '.')))
-        {
-          sendto_one(sptr, err_str(ERR_NOTOPLEVEL), me.name, parv[0], nick); /* XXX DEAD */
-          continue;
-        }
-        while (*++s)
-          if (*s == '.' || *s == '*' || *s == '?')
-            break;
-        if (*s == '*' || *s == '?')
-        {
-          sendto_one(sptr, err_str(ERR_WILDTOPLEVEL), me.name, parv[0], nick); /* XXX DEAD */
-          continue;
-        }
-      }
-      sendto_match_butone(IsServer(cptr) ? cptr : 0, /* XXX DEAD */
-          sptr, nick + 1, (*nick == '#') ? MATCH_HOST : MATCH_SERVER,
-          ":%s %s %s :%s", parv[0], cmd, nick, parv[parc - 1]);
-      continue;
-    }
-    else if ((server = strchr(nick, '@')) && (acptr = FindServer(server + 1)))
-    {
-      /*
-       * NICK[%host]@server addressed? See if <server> is me first
-       */
-      if (!IsMe(acptr))
-      {
-        sendto_one(acptr, ":%s %s %s :%s", parv[0], cmd, nick, parv[parc - 1]); /* XXX DEAD */
-        continue;
-      }
-
-      /* Look for an user whose NICK is equal to <nick> and then
-       * check if it's hostname matches <host> and if it's a local
-       * user. */
-      *server = '\0';
-      if ((host = strchr(nick, '%')))
-        *host++ = '\0';
-
-      if ((!(acptr = FindUser(nick))) ||
-          (!(MyUser(acptr))) ||
-          ((!(EmptyString(host))) && match(host, acptr->user->host)))
-        acptr = 0;
-
-      *server = '@';
-      if (host)
-        *--host = '%';
-
-      if (acptr)
-      {
-        if (!(is_silenced(sptr, acptr)))
-          sendto_prefix_one(acptr, sptr, ":%s %s %s :%s", /* XXX DEAD */
-              parv[0], cmd, nick, parv[parc - 1]);
-        continue;
-      }
-    }
-    if (IsChannelName(nick))
-      sendto_one(sptr, err_str(ERR_NOSUCHCHANNEL), me.name, parv[0], nick); /* XXX DEAD */
-    else
-      sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], nick); /* XXX DEAD */
-  }
-  return 0;
-}
-
-/*
- * m_private
- *
- * parv[0] = sender prefix
- * parv[1] = receiver list
- * parv[parc-1] = message text
- */
-int m_private(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
-{
-  return m_message(cptr, sptr, parc, parv, 0);
-}
-
-#if !defined(XXX_BOGUS_TEMP_HACK)
-#include "handlers.h"
-#endif
-/*
- * m_notice
- *
- * parv[0] = sender prefix
- * parv[1] = receiver list
- * parv[parc-1] = notice text
- */
-int m_notice(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
-{
-  if (MyUser(sptr) && parv[1] && parv[1][0] == '@' &&
-      IsChannelName(&parv[1][1]))
-  {
-    parv[1]++;                        /* Get rid of '@' */
-    return m_wallchops(cptr, sptr, parc, parv);
-  }
-  return m_message(cptr, sptr, parc, parv, 1);
-}
-
-#endif