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.
This commit is contained in:
William Pitcock 2010-07-03 00:44:55 -05:00
parent 545f0a0f07
commit 0770c9936e

View file

@ -726,6 +726,17 @@ msg_client(int p_or_n, const char *command,
sendto_one_numeric(source_p, RPL_AWAY, form_str(RPL_AWAY), sendto_one_numeric(source_p, RPL_AWAY, form_str(RPL_AWAY),
target_p->name, target_p->user->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(MyClient(target_p))
{ {
/* XXX Controversial? allow opers always to send through a +g */ /* XXX Controversial? allow opers always to send through a +g */