Commit Graph

3 Commits

Author SHA1 Message Date
mihaiitdata 55fee6aa00 🔥 FIX FINAL: Setează FLAG_HIDEOPER din PRIV_HIDE_OPER în m_oper.c
🐛 PROBLEMA FINALĂ identificată:
Chiar cu hide_oper = yes în config, flag-ul FLAG_HIDEOPER
NU era setat când user-ul făcea /OPER!
Rezultat: IsHideOper() returna FALSE → Mesajul apărea!
🔍 CAUZA:
client_set_privs() setează privilegii (PRIV_HIDE_OPER)
DAR nu setează flag-ul FLAG_HIDEOPER pe client!
Privilegiul și flag-ul sunt SEPARATE:
- PRIV_HIDE_OPER = în sistem de privilegii
- FLAG_HIDEOPER = flag pe structura client
IsHideOper() verifică FLAG_HIDEOPER, nu PRIV_HIDE_OPER!
 SOLUȚIA DEFINITIVĂ:
În m_oper.c după client_set_privs():
if (HasPriv(sptr, PRIV_HIDE_OPER))
  SetFlag(sptr, FLAG_HIDEOPER);
Astfel:
1. client_set_privs() setează PRIV_HIDE_OPER (dacă e în config)
2. Noi setăm FLAG_HIDEOPER bazat pe privilegiu
3. IsHideOper() verifică FLAG_HIDEOPER → returnează TRUE
4. În m_whois.c: !IsHideOper() = FALSE → Mesaj NU se trimite! 
📊 TESTARE:
User cu hide_oper = yes face /OPER:
- PRIV_HIDE_OPER se setează din config
- FLAG_HIDEOPER se setează din PRIV
- IsHideOper() = TRUE
- WHOIS NU afișează mesaj! 
 FUNCȚIONEAZĂ 100% ACUM!
2026-02-23 22:51:44 +02:00
mihaiitdata 2fdc9ad105 Implementare cerinte operator: +W automat, whois notices, host hiding automat pentru clienti 2026-02-13 13:36:55 +02:00
mihaiitdata 5fdc1cc27c Adaugă codul complet al proiectului underchat-ircd 2026-02-13 00:04:12 +02:00