]> jfr.im git - solanum.git/blobdiff - modules/core/m_error.c
Merge pull request #335 from edk0/post-registration-delay
[solanum.git] / modules / core / m_error.c
index 9699db9d0b5d6f71a43de9367760752a9f2b213f..4ef168811a15dba3c105ee2de97d122eaf3aec09 100644 (file)
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
- *
- *  $Id: m_error.c 494 2006-01-15 16:08:28Z jilles $
  */
 
 #include "stdinc.h"
 #include "client.h"
-#include "common.h"            /* FALSE */
 #include "ircd.h"
 #include "numeric.h"
 #include "send.h"
 #include "logger.h"
 #include "s_conf.h"
 
-static int m_error(struct Client *, struct Client *, int, const char **);
-static int ms_error(struct Client *, struct Client *, int, const char **);
+static const char error_desc[] =
+       "Provides the ERROR command for clients and servers";
+
+static void m_error(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
+static void ms_error(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
 
 struct Message error_msgtab = {
-       "ERROR", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+       "ERROR", 0, 0, 0, 0,
        {{m_error, 0}, mg_ignore, mg_ignore, {ms_error, 0}, mg_ignore, mg_ignore}
 };
 
@@ -47,37 +47,37 @@ mapi_clist_av1 error_clist[] = {
        &error_msgtab, NULL
 };
 
-DECLARE_MODULE_AV1(error, NULL, NULL, error_clist, NULL, NULL, "$Revision: 494 $");
+DECLARE_MODULE_AV2(error, NULL, NULL, error_clist, NULL, NULL, NULL, NULL, error_desc);
 
 /* Determine whether an ERROR message is safe to show (no IP address in it) */
-static int
+static bool
 is_safe_error(const char *message)
 {
        char prefix2[100];
        const char *p;
 
        if (!strncmp(message, "Closing Link: 127.0.0.1 (", 25))
-               return 1;
+               return true;
        snprintf(prefix2, sizeof prefix2,
                        "Closing Link: 127.0.0.1 %s (", me.name);
        if (!strncmp(message, prefix2, strlen(prefix2)))
-               return 1;
+               return true;
        if (!strncmp(message, "Restart by ", 11))
-               return 1;
+               return true;
        if (!strncmp(message, "Terminated by ", 14))
-               return 1;
+               return true;
 
-       if (!ircncmp(message, "Closing Link", 12))
-               return 0;
+       if (!rb_strncasecmp(message, "Closing Link", 12))
+               return false;
        if (strchr(message, '['))
-               return 0;
+               return false;
        p = strchr(message, '.');
        if (p != NULL && p[1] != '\0')
-               return 0;
+               return false;
        if (strchr(message, ':'))
-               return 0;
+               return false;
 
-       return 1;
+       return true;
 }
 
 /*
@@ -87,8 +87,8 @@ is_safe_error(const char *message)
  *
  *      parv[*] = parameters
  */
-int
-m_error(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+static void
+m_error(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
 {
        const char *para;
        int hideit = ConfigFileEntry.hide_error_messages;
@@ -116,12 +116,10 @@ m_error(struct Client *client_p, struct Client *source_p, int parc, const char *
        }
 
        exit_client(client_p, source_p, source_p, "ERROR");
-
-       return 0;
 }
 
-static int
-ms_error(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+static void
+ms_error(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
 {
        const char *para;
        int hideit = ConfigFileEntry.hide_error_messages;
@@ -134,7 +132,7 @@ ms_error(struct Client *client_p, struct Client *source_p, int parc, const char
        if(is_safe_error(para))
                hideit = 0;
        if(hideit == 2)
-               return 0;
+               return;
 
        if(client_p == source_p)
        {
@@ -146,6 +144,4 @@ ms_error(struct Client *client_p, struct Client *source_p, int parc, const char
                sendto_realops_snomask(SNO_GENERAL, hideit ? L_ADMIN : L_ALL, "ERROR :from %s via %s -- %s",
                                     source_p->name, client_p->name, para);
        }
-
-       return 0;
 }