#include "send.h"
#include "msg.h"
#include "modules.h"
-#include "s_log.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 int m_error(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
+static int 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}
};
* although this is called internally from other functions
* --msa
*
- * parv[0] = sender prefix
* parv[*] = parameters
*/
int
-m_error(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+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;
para = (parc > 1 && *parv[1] != '\0') ? parv[1] : "<>";
- ilog(L_SERVER, "Received ERROR message from %s: %s",
- log_client_name(source_p, SHOW_IP), para);
+ if (IsAnyServer(client_p))
+ {
+ ilog(L_SERVER, "Received ERROR message from %s: %s",
+ log_client_name(source_p, SHOW_IP), para);
+ }
if(is_safe_error(para))
hideit = 0;
if (hideit < 2)
sendto_realops_snomask(SNO_GENERAL, hideit ? L_ADMIN : (is_remote_connect(client_p) ? L_NETWIDE : L_ALL),
"ERROR :from %s -- %s",
- get_server_name(client_p, HIDE_IP), para);
+ client_p->name, para);
if (hideit > 0)
sendto_realops_snomask(SNO_GENERAL, (hideit == 1 ? L_OPER : L_ALL) | (is_remote_connect(client_p) ? L_NETWIDE : L_ALL),
"ERROR :from %s -- <hidden>",
- get_server_name(client_p, HIDE_IP));
+ client_p->name);
}
exit_client(client_p, source_p, source_p, "ERROR");
}
static int
-ms_error(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+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;
if(client_p == source_p)
{
sendto_realops_snomask(SNO_GENERAL, hideit ? L_ADMIN : L_ALL, "ERROR :from %s -- %s",
- get_server_name(client_p, HIDE_IP), para);
+ client_p->name, para);
}
else
{
sendto_realops_snomask(SNO_GENERAL, hideit ? L_ADMIN : L_ALL, "ERROR :from %s via %s -- %s",
- source_p->name, get_server_name(client_p, HIDE_IP), para);
+ source_p->name, client_p->name, para);
}
return 0;