From 1c646b89143ba1a86ab8e4b86efd38dc150c22ec Mon Sep 17 00:00:00 2001 From: "B.Greenham" Date: Fri, 5 Mar 2010 14:39:42 -0500 Subject: [PATCH] Fix +g messages not showing to opers. --- modules/core/m_message.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/modules/core/m_message.c b/modules/core/m_message.c index 292f352..0718e1f 100644 --- a/modules/core/m_message.c +++ b/modules/core/m_message.c @@ -733,6 +733,7 @@ msg_client(int p_or_n, const char *command, int do_floodcount = 0; struct Metadata *md; struct DictionaryIter iter; + int oaccept = 0; if(MyClient(source_p)) { @@ -793,8 +794,19 @@ msg_client(int p_or_n, const char *command, (IsSetSCallerId(target_p) && !has_common_channel(source_p, target_p)) || (IsSetRegOnlyMsg(target_p) && !source_p->user->suser[0]))) { + if (IsOper(source_p)) + { + DICTIONARY_FOREACH(md, &iter, target_p->user->metadata) + { + if(!strcmp(md->value, source_p->id)) + { + oaccept = 1; + break; + } + } + } /* Here is the anti-flood bot/spambot code -db */ - if(accept_message(source_p, target_p)) + if(accept_message(source_p, target_p) || oaccept) { add_reply_target(target_p, source_p); sendto_one(target_p, ":%s!%s@%s %s %s :%s", @@ -802,21 +814,6 @@ msg_client(int p_or_n, const char *command, source_p->username, source_p->host, command, target_p->name, text); } - else if (IsOper(source_p)) - { - DICTIONARY_FOREACH(md, &iter, target_p->user->metadata) - { - if(!strcmp(md->value, source_p->id)) - { - add_reply_target(target_p, source_p); - sendto_one(target_p, ":%s!%s@%s %s %s :%s", - source_p->name, - source_p->username, - source_p->host, command, target_p->name, text); - break; - } - } - } else if (IsSetRegOnlyMsg(target_p) && !source_p->user->suser[0]) { if (p_or_n != NOTICE)