X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_services_account.cpp;h=72cd925abea7037d39662cfde8d987fa49600b94;hb=9acece70e533fc45d5401e331af25a5e99dab660;hp=6e15aa8bf7dd138bc466ac9507b250350c4f0889;hpb=e57d1b19ff4823b7885eb7f4d3b37c84d2edca0e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp index 6e15aa8bf..72cd925ab 100644 --- a/src/modules/m_services_account.cpp +++ b/src/modules/m_services_account.cpp @@ -207,32 +207,39 @@ class ModuleServicesAccount std::string *account = accountname.get(user); bool is_registered = account && !account->empty(); - if (target.type == MessageTarget::TYPE_CHANNEL) + switch (target.type) { - Channel* targchan = target.Get(); + case MessageTarget::TYPE_CHANNEL: + { + Channel* targchan = target.Get(); - if (!targchan->IsModeSet(m2) || is_registered) - return MOD_RES_PASSTHRU; + if (!targchan->IsModeSet(m2) || is_registered) + return MOD_RES_PASSTHRU; - if (CheckExemption::Call(exemptionprov, user, targchan, "regmoderated") == MOD_RES_ALLOW) - return MOD_RES_PASSTHRU; + if (CheckExemption::Call(exemptionprov, user, targchan, "regmoderated") == MOD_RES_ALLOW) + return MOD_RES_PASSTHRU; - // User is messaging a +M channel and is not registered or exempt. - user->WriteNumeric(ERR_NEEDREGGEDNICK, targchan->name, "You need to be identified to a registered account to message this channel"); - return MOD_RES_DENY; - } - else if (target.type == MessageTarget::TYPE_USER) - { - User* targuser = target.Get(); - if (!targuser->IsModeSet(m3) || is_registered) - return MOD_RES_PASSTHRU; + // User is messaging a +M channel and is not registered or exempt. + user->WriteNumeric(ERR_NEEDREGGEDNICK, targchan->name, "You need to be identified to a registered account to message this channel"); + return MOD_RES_DENY; + break; + } + case MessageTarget::TYPE_USER: + { + User* targuser = target.Get(); + if (!targuser->IsModeSet(m3) || is_registered) + return MOD_RES_PASSTHRU; - if (calleridapi && calleridapi->IsOnAcceptList(user, targuser)) - return MOD_RES_PASSTHRU; + if (calleridapi && calleridapi->IsOnAcceptList(user, targuser)) + return MOD_RES_PASSTHRU; - // User is messaging a +R user and is not registered or on an accept list. - user->WriteNumeric(ERR_NEEDREGGEDNICK, targuser->nick, "You need to be identified to a registered account to message this user"); - return MOD_RES_DENY; + // User is messaging a +R user and is not registered or on an accept list. + user->WriteNumeric(ERR_NEEDREGGEDNICK, targuser->nick, "You need to be identified to a registered account to message this user"); + return MOD_RES_DENY; + break; + } + case MessageTarget::TYPE_SERVER: + break; } return MOD_RES_PASSTHRU; }