From caaf11bc08fd71b40fc800870c798b2be847a301 Mon Sep 17 00:00:00 2001 From: mihaiitdata Date: Mon, 23 Feb 2026 22:33:59 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20FIX=20DEFINITIV:=20Folose=C8=99t?= =?UTF-8?q?e=20IsHideOper()=20=C3=AEn=20loc=20de=20HasPriv(PRIV=5FDISPLAY)?= =?UTF-8?q?=20=F0=9F=90=9B=20PROBLEMA=20FINAL=C4=82=20identificat=C4=83:?= =?UTF-8?q?=20Utilizatorul=20a=20recompilat=20cu=20HasPriv(PRIV=5FDISPLAY)?= =?UTF-8?q?=20DAR=20tot=20ap=C4=83rea=20mesajul!=20Cauza:=20Privilegiul=20?= =?UTF-8?q?PRIV=5FDISPLAY=20nu=20se=20seteaz=C4=83=20corect=20din=20config?= =?UTF-8?q?=20sau=20default-urile=20=C3=AEl=20override-uiesc.=20=E2=9C=85?= =?UTF-8?q?=20SOLU=C8=9AIA=20DEFINITIV=C4=82:=20Schimbat=20de=20la:=20if?= =?UTF-8?q?=20(SeeOper(sptr,acptr)=20&&=20HasPriv(acptr,=20PRIV=5FDISPLAY)?= =?UTF-8?q?)=20La:=20if=20(SeeOper(sptr,acptr)=20&&=20!IsHideOper(acptr))?= =?UTF-8?q?=20De=20ce=20func=C8=9Bioneaz=C4=83:=20-=20IsHideOper()=20verif?= =?UTF-8?q?ic=C4=83=20DIRECT=20flag-ul=20hide=5Foper=20din=20config=20-=20?= =?UTF-8?q?NU=20depinde=20de=20sistem=20complicat=20de=20privilegii=20-=20?= =?UTF-8?q?hide=5Foper=20=3D=20yes=20=E2=86=92=20IsHideOper()=20=3D=20TRUE?= =?UTF-8?q?=20=E2=86=92=20!IsHideOper()=20=3D=20FALSE=20-=20Rezultat:=20Me?= =?UTF-8?q?sajul=20NU=20se=20trimite!=20=E2=9C=85=20Config=20necesar:=20Op?= =?UTF-8?q?erator=20{=20=20=20=20=20hide=5Foper=20=3D=20yes;=20=20#=20CRIT?= =?UTF-8?q?IC!=20Seteaz=C4=83=20IsHideOper=20flag=20};=20Testing:=20Verifi?= =?UTF-8?q?cat=20c=C4=83=20IsHideOper()=20e=20flag=20direct=20din=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ircd/m_whois.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ircd/m_whois.c b/ircd/m_whois.c index 9782b80..d30fe7a 100644 --- a/ircd/m_whois.c +++ b/ircd/m_whois.c @@ -251,11 +251,12 @@ static void do_whois(struct Client* sptr, struct Client *acptr, int parc) if (user->away) send_reply(sptr, RPL_AWAY, name, user->away); - /* Verifică dacă operul are privilegiul DISPLAY - * Dacă display = no în Operator/Class block, NU afișa mesajul - * Permite stealth oper mode pentru investigații undercover + /* Verifică dacă operul e vizibil în WHOIS + * IsHideOper() = TRUE când hide_oper = yes în config + * Pentru stealth oper (hide_oper = yes), NU afișa mesajul + * Permite investigații undercover fără să fie detectat */ - if (SeeOper(sptr,acptr) && HasPriv(acptr, PRIV_DISPLAY)) { + if (SeeOper(sptr,acptr) && !IsHideOper(acptr)) { if (IsAdmin(acptr)) send_reply(sptr, RPL_WHOISOPERATOR, name, feature_str(FEAT_WHOIS_ADMIN)); else