From 5b71b8ec50ffe1889f7502472cc89b73272353f3 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Sat, 3 Jul 2010 00:44:55 -0500 Subject: [PATCH] Stop griefing through taunting while hiding behind CALLERID. This shouldn't provide any way for a client to get on a CALLERID list without authorization, as if a client is +g already, a CTCP request, for example, won't be replied to. --- modules/core/m_message.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/core/m_message.c b/modules/core/m_message.c index c5d852b..162cef6 100644 --- a/modules/core/m_message.c +++ b/modules/core/m_message.c @@ -783,6 +783,17 @@ msg_client(int p_or_n, const char *command, sendto_one_numeric(source_p, RPL_AWAY, form_str(RPL_AWAY), target_p->name, target_p->user->away); + /* + * XXX: Controversial? Allow target users to send replies through a +g. + * Rationale is that people can presently use +g as a way to taunt users, + * e.g. harass them and hide behind +g as a way of griefing. --nenolod + */ + if(MyClient(source_p) && IsSetCallerId(source_p) && !accept_message(target_p, source_p)) + { + rb_dlinkAddAlloc(target_p, &source_p->localClient->allow_list); + rb_dlinkAddAlloc(source_p, &target_p->on_allow_list); + } + if(MyClient(target_p)) { if (IsSetNoCTCP(target_p) && p_or_n != NOTICE && *text == '\001' && strncasecmp(text + 1, "ACTION", 6))