1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 03:23:12 +02:00

Show linking error messages if these happen during the handshake and we

have already fully authenticated the server (but when it technically is
not fully linked as a server yet, eg post-EAUTH but pre-SERVER).

Also, send ERRORs to junk snomask from untrusted sources. After all,
the junk snomask is precisely there to enable briefly to debug issues.
In case of link errors we always advice to check BOTH sides of the link
as an IRCOp, and this advice still stands. This may just help a little
for people who do not follow our advice.
This commit is contained in:
Bram Matthys
2019-05-02 09:30:15 +02:00
parent 5b63d28e2a
commit 8a6cbfaaf0
+12 -7
View File
@@ -503,17 +503,22 @@ CMD_FUNC(m_error)
Debug((DEBUG_ERROR, "Received ERROR message from %s: %s",
sptr->name, para));
/*
** Ignore error messages generated by normal user clients
** (because ill-behaving user clients would flood opers
** screen otherwise). Pass ERROR's from other sources to
** the local operator...
/* Errors from untrusted sources only go to the junk snomask
* (which is only for debugging issues and such).
* This to prevent flooding and confusing IRCOps by
* malicious users.
*/
if (IsPerson(cptr) || IsUnknown(cptr))
if (!IsServer(cptr) && !cptr->serv)
{
sendto_snomask(SNO_JUNK, "ERROR from %s -- %s",
get_client_name(cptr, FALSE), para);
return 0;
}
if (cptr == sptr)
{
sendto_umode_global(UMODE_OPER, "ERROR :from %s -- %s",
sendto_umode_global(UMODE_OPER, "ERROR from %s -- %s",
get_client_name(cptr, FALSE), para);
}
else