From 12315001598ed0e03cc0ad4661e8936b9c044eea Mon Sep 17 00:00:00 2001 From: mihaiitdata Date: Tue, 24 Feb 2026 00:54:50 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20FIX=20DOCUMENTA=C8=9AIE:=20Comen?= =?UTF-8?q?zi=20SVS*=20marcate=20ca=20NEFUNC=C8=9AIONALE=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F=20COREC=C8=9AIE=20CRITIC=C4=82=20=C3=AEn=20documenta?= =?UTF-8?q?=C8=9Bie!=20=F0=9F=90=9B=20PROBLEMA:=20Documenta=C8=9Bia=20men?= =?UTF-8?q?=C8=9Biona=20c=C4=83=20SVS*=20commands=20sunt=20'active'=20DAR?= =?UTF-8?q?=20ele=20NU=20FUNC=C8=9AIONEAZ=C4=82=20=C3=AEn=20realitate!=20C?= =?UTF-8?q?omenzi=20afectate:=20-=20SVSJOIN=20=E2=9D=8C=20-=20SVSPART=20?= =?UTF-8?q?=E2=9D=8C=20-=20SVSNICK=20=E2=9D=8C=20-=20SVSMODE=20=E2=9D=8C?= =?UTF-8?q?=20-=20SVSIDENT=20=E2=9D=8C=20-=20SVSQUIT=20=E2=9D=8C=20-=20SWH?= =?UTF-8?q?OIS=20=E2=9D=8C=20=F0=9F=94=8D=20CAUZA:=20-=20Codul=20EXIST?= =?UTF-8?q?=C4=82=20=C3=AEn=20m=5Fsvs*.c=20files=20=E2=9C=85=20-=20Fi?= =?UTF-8?q?=C8=99ierele=20sunt=20compilate=20=E2=9C=85=20-=20DAR=20comenzi?= =?UTF-8?q?le=20NU=20sunt=20=C3=8ENREGISTRATE=20=C3=AEn=20parse.c=20?= =?UTF-8?q?=E2=9D=8C=20-=20Parser-ul=20NU=20=C8=98TIE=20de=20aceste=20come?= =?UTF-8?q?nzi=20=E2=9D=8C=20-=20Rezultat:=20'Unknown=20command'=20c=C3=A2?= =?UTF-8?q?nd=20le=20folose=C8=99ti=20=E2=9D=8C=20=E2=9C=85=20MODIFIC?= =?UTF-8?q?=C4=82RI=20DOCUMENTA=C8=9AIE:=201.=20Sec=C8=9Biunea=20'Comenzi?= =?UTF-8?q?=20Services':=20=20=20=20-=20Marcate=20TOATE=20SVS*=20ca=20?= =?UTF-8?q?=E2=9D=8C=20NEFUNC=C8=9AIONALE=20=20=20=20-=20Ad=C4=83ugat=20WA?= =?UTF-8?q?RNING=20c=C4=83=20exist=C4=83=20cod=20dar=20nu=20e=20activ=20?= =?UTF-8?q?=20=20=20-=20Explicat=20c=C4=83=20trebuie=20=C3=AEnregistrate?= =?UTF-8?q?=20=C3=AEn=20parse.c=202.=20Statistici=20actualizate:=20=20=20?= =?UTF-8?q?=20-=20Comenzi=20Oper:=20~30=20func=C8=9Bionale=20(=C3=AEn=20lo?= =?UTF-8?q?c=20de=20~40)=20=20=20=20-=20Comenzi=20SVS*:=20~8=20nefunc?= =?UTF-8?q?=C8=9Bionale=20(separate)=20=20=20=20-=20TOTAL=20func=C8=9Biona?= =?UTF-8?q?l:=20~105=20(corect)=203.=20Sec=C8=9Biune=20VIITOARE:=20=20=20?= =?UTF-8?q?=20-=20SVS*=20commands=20mutate=20=C3=AEn=20PRIORITATE=20MAXIM?= =?UTF-8?q?=C4=82=20=20=20=20-=20Explicat=20cum=20se=20activeaz=C4=83=20(p?= =?UTF-8?q?arse.c=20registration)=20=20=20=20-=20Efort:=20SC=C4=82ZUT=20(d?= =?UTF-8?q?oar=20=C3=AEnregistrare=20parser)=20=20=20=20-=20Impact:=20MARE?= =?UTF-8?q?=20(esen=C8=9Bial=20pentru=20servicii)=204.=20Sec=C8=9Biune=20n?= =?UTF-8?q?ou=C4=83=20'ATEN=C8=9AIE':=20=20=20=20-=20Explica=C8=9Bie=20det?= =?UTF-8?q?aliat=C4=83=20DE=20CE=20nu=20func=C8=9Bioneaz=C4=83=20=20=20=20?= =?UTF-8?q?-=20Pa=C8=99i=20pentru=20activare=20(verificare=20+=20modificar?= =?UTF-8?q?e=20+=20recompilare)=20=20=20=20-=20Impact:=20Servicii=20IRC=20?= =?UTF-8?q?(X,=20ChanServ)=20NU=20pot=20controla=20users=20=F0=9F=93=8A=20?= =?UTF-8?q?IMPACT:=20-=20Users=20=C8=99tiu=20EXACT=20ce=20func=C8=9Bioneaz?= =?UTF-8?q?=C4=83=20-=20NU=20mai=20sunt=20confuzi=20c=C3=A2nd=20SVS*=20ret?= =?UTF-8?q?urneaz=C4=83=20'Unknown=20command'=20-=20Admini=20=C8=99tiu=20c?= =?UTF-8?q?e=20trebuie=20f=C4=83cut=20pentru=20activare=20-=20Developeri?= =?UTF-8?q?=20v=C4=83d=20c=C4=83=20e=20prioritate=20mare=20(cod=20exist?= =?UTF-8?q?=C4=83!)=20=F0=9F=8E=AF=20VIITOR:=20Pentru=20v2.1.0=20sau=20v2.?= =?UTF-8?q?0.2:=20-=20Activare=20SVS*=20commands=20(=C3=AEnregistrare=20?= =?UTF-8?q?=C3=AEn=20parse.c)=20-=20Testare=20cu=20servicii=20IRC=20(Anope?= =?UTF-8?q?/Atheme)=20-=20Update=20documenta=C8=9Bie=20c=C3=A2nd=20func?= =?UTF-8?q?=C8=9Bioneaz=C4=83=20=E2=9A=A0=EF=B8=8F=20NOT=C4=82=20PENTRU=20?= =?UTF-8?q?ADMINI:=20Dac=C4=83=20folose=C8=99ti=20servicii=20IRC=20(X,=20C?= =?UTF-8?q?hanServ),=20acestea=20POT=20s=C4=83=20nu=20func=C8=9Bioneze=20c?= =?UTF-8?q?orect=20f=C4=83r=C4=83=20SVS*=20commands!=20Alternative=20tempo?= =?UTF-8?q?rare:=20-=20Folose=C8=99te=20OPMODE=20pentru=20channel=20manage?= =?UTF-8?q?ment=20-=20Folose=C8=99te=20KILL=20pentru=20force=20disconnect?= =?UTF-8?q?=20-=20Serviciile=20pot=20folosi=20PRIVMSG=20pentru=20comunicar?= =?UTF-8?q?e=20Status:=20=E2=9C=85=20DOCUMENTA=C8=9AIE=20CORECTAT=C4=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- COMENZI_SI_MODURI_COMPLETE.md | 231 ++++++++++++++++++++++++++++------ 1 file changed, 195 insertions(+), 36 deletions(-) diff --git a/COMENZI_SI_MODURI_COMPLETE.md b/COMENZI_SI_MODURI_COMPLETE.md index 4f3cfa7..c46f293 100644 --- a/COMENZI_SI_MODURI_COMPLETE.md +++ b/COMENZI_SI_MODURI_COMPLETE.md @@ -585,67 +585,93 @@ Tipuri disponibile: ### Comenzi Services -#### **SVSJOIN** - Force user to join channel +⚠️ **ATENȚIE**: Majoritatea comenzilor SVS* **NU SUNT ACTIVE** în versiunea curentă! +Fișierele `m_svs*.c` există dar **NU sunt înregistrate în parse.c**, deci comenzile **NU FUNCȚIONEAZĂ**! + +#### **SVSJOIN** - Force user to join channel ❌ NU FUNCȚIONEAZĂ ``` /SVSJOIN <#channel> ``` - Forțează user să intre pe canal -- **Fișier**: `m_svsjoin.c` -- **Privilegiu**: PRIV_CHAN_LIMIT +- **Fișier**: `m_svsjoin.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SVSPART** - Force user to part channel +#### **SVSPART** - Force user to part channel ❌ NU FUNCȚIONEAZĂ ``` /SVSPART <#channel> ``` - Forțează user să părăsească canalul -- **Fișier**: `m_svspart.c` -- **Privilegiu**: PRIV_CHAN_LIMIT +- **Fișier**: `m_svspart.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SVSNICK** - Force nick change +#### **SVSNICK** - Force nick change ❌ NU FUNCȚIONEAZĂ ``` /SVSNICK [] ``` - Forțează schimbare de nickname -- **Fișier**: `m_svsnick.c` -- **Privilegiu**: PRIV_CHAN_LIMIT +- **Fișier**: `m_svsnick.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SVSMODE** - Force mode change +#### **SVSMODE** - Force mode change ❌ NU FUNCȚIONEAZĂ ``` /SVSMODE ``` - Forțează schimbare moduri user/canal -- **Fișier**: `m_svsmode.c` -- **Privilegiu**: PRIV_CHAN_LIMIT +- **Fișier**: `m_svsmode.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SVSIDENT** - Set ident +#### **SVSIDENT** - Set ident ❌ NU FUNCȚIONEAZĂ ``` /SVSIDENT ``` - Setează ident pentru user -- **Fișier**: `m_svsident.c` +- **Fișier**: `m_svsident.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SVSQUIT** - Force user quit +#### **SVSQUIT** - Force user quit ❌ NU FUNCȚIONEAZĂ ``` /SVSQUIT : ``` - Forțează user să se deconecteze -- **Fișier**: `m_svsquit.c` +- **Fișier**: `m_svsquit.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SWHOIS** - Set special whois line +#### **SWHOIS** - Set special whois line ❌ NU FUNCȚIONEAZĂ ``` /SWHOIS : ``` - Setează linie specială în WHOIS -- **Fișier**: `m_swhois.c` -- **Privilegiu**: PRIV_CHAN_LIMIT +- **Fișier**: `m_swhois.c` (există dar NU e înregistrat în parser) +- **Status**: ❌ **NEFUNCȚIONAL** - Trebuie adăugat în parse.c -#### **SETHOST** - Set virtual host +#### **SVSINFO** - Services info ⚠️ PARȚIAL +``` +/SVSINFO +``` +- Informații despre servicii +- **Fișier**: `m_svsinfo.c` +- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere și servicii + +#### **SVSNOOP** - Services noop ⚠️ PARȚIAL +``` +/SVSNOOP +``` +- Services no-op command +- **Fișier**: `m_svsnoop.c` +- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere + +--- + +### Comenzi Administrative (FUNCȚIONALE) + +#### **SETHOST** - Set virtual host ✅ FUNCȚIONEAZĂ ``` /SETHOST ``` - Schimbă hostname-ul virtual - **Fișier**: `m_sethost.c` - **Privilegiu**: PRIV_FREEFORM +- **Status**: ✅ **FUNCȚIONAL** --- @@ -1062,33 +1088,106 @@ Acestea sunt comenzi interne folosite între servere în protocol: - Actions: kill, gline, block, warn - **Status**: NU IMPLEMENTAT (complex) -#### **SAJOIN** - Force join +--- + +### Comenzi Services (SVS*) - PRIORITATE ÎNALTĂ! ⚠️ + +⚠️ **CRITICAL**: Aceste comenzi **EXISTĂ în cod** (`m_svs*.c`) dar **NU sunt activate**! +Trebuie **înregistrate în parse.c** pentru a funcționa! + +#### **SVSJOIN** - Force user to join channel +``` +/SVSJOIN <#channel> +``` +- Forțează user să intre pe canal +- **Fișier**: `m_svsjoin.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** +- **Fix**: Adaugă în parse.c tabel MSG + +#### **SVSPART** - Force user to part channel +``` +/SVSPART <#channel> +``` +- Forțează user să părăsească canalul +- **Fișier**: `m_svspart.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** + +#### **SVSNICK** - Force nick change +``` +/SVSNICK [] +``` +- Forțează schimbare de nickname +- **Fișier**: `m_svsnick.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** + +#### **SVSMODE** - Force mode change +``` +/SVSMODE +``` +- Forțează schimbare moduri user/canal +- **Fișier**: `m_svsmode.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** + +#### **SVSIDENT** - Set ident +``` +/SVSIDENT +``` +- Setează ident pentru user +- **Fișier**: `m_svsident.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** + +#### **SVSQUIT** - Force user quit +``` +/SVSQUIT : +``` +- Forțează user să se deconecteze +- **Fișier**: `m_svsquit.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** + +#### **SWHOIS** - Set special whois line +``` +/SWHOIS : +``` +- Setează linie specială în WHOIS +- **Fișier**: `m_swhois.c` ✅ EXISTĂ +- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C** + +**📝 NOTĂ**: Pentru a activa comenzile SVS*, trebuie: +1. Verificat că fișierele m_svs*.c sunt compilate în Makefile +2. Adăugat entries în parse.c (MSG table) +3. Recompilat IRCd + +--- + +### Aliasuri Simple + +#### **SAJOIN** - Force join (alias) ``` /SAJOIN <#channel> ``` - Alias pentru SVSJOIN -- **Status**: POATE FI ADĂUGAT (alias simplu) +- **Status**: DEPINDE DE SVSJOIN -#### **SAPART** - Force part +#### **SAPART** - Force part (alias) ``` /SAPART <#channel> ``` - Alias pentru SVSPART -- **Status**: POATE FI ADĂUGAT +- **Status**: DEPINDE DE SVSPART -#### **SANICK** - Force nick change +#### **SANICK** - Force nick change (alias) ``` /SANICK ``` - Alias pentru SVSNICK -- **Status**: POATE FI ADĂUGAT +- **Status**: DEPINDE DE SVSNICK -#### **SAMODE** - Force mode +#### **SAMODE** - Force mode (alias) ``` /SAMODE ``` - Alias pentru SVSMODE -- **Status**: POATE FI ADĂUGAT +- **Status**: DEPINDE DE SVSMODE --- @@ -1323,16 +1422,20 @@ ACCOUNT ### Statistici Comenzi -- **Comenzi User**: ~50 comenzi disponibile -- **Comenzi Oper**: ~40 comenzi administrative -- **Comenzi Server**: ~25 comenzi interne -- **Comenzi Services**: ~10 comenzi SVS* +- **Comenzi User**: ~50 comenzi disponibile ✅ +- **Comenzi Oper**: ~30 comenzi administrative ✅ **FUNCȚIONALE** +- **Comenzi SVS***: ~8 comenzi ❌ **NEFUNCȚIONALE** (există cod dar NU sunt activate) +- **Comenzi Server**: ~25 comenzi interne ✅ +- **TOTAL Funcțional**: ~105 comenzi active + +⚠️ **NOTĂ IMPORTANTĂ**: Comenzile SVS* (SVSJOIN, SVSPART, SVSNICK, etc.) **NU FUNCȚIONEAZĂ** în versiunea curentă! +Codul există în fișiere `m_svs*.c` dar comenzile **NU sunt înregistrate în parse.c**! ### Statistici Moduri -- **User Modes**: 15+ moduri disponibile -- **Channel Modes**: 30+ moduri disponibile -- **Extended Bans**: 5+ tipuri +- **User Modes**: 15+ moduri disponibile ✅ +- **Channel Modes**: 30+ moduri disponibile ✅ +- **Extended Bans**: 5+ tipuri ✅ ### Features Majore @@ -1349,6 +1452,16 @@ ACCOUNT ## 🚀 DEZVOLTARE VIITOARE +### Prioritate MAXIMĂ ⚠️ (Cod există, trebuie activat!) + +1. **SVS* Commands** - Services commands + - SVSJOIN, SVSPART, SVSNICK, SVSMODE + - SVSIDENT, SVSQUIT, SWHOIS + - **Status**: Cod există în `m_svs*.c` dar NU e înregistrat în parse.c + - **Efort**: SCĂZUT (doar înregistrare în parser) + - **Impact**: MARE (comenzi esențiale pentru servicii) + - **Timp estimat**: 2-3 ore (verificare + testare) + ### Prioritate ÎNALTĂ 1. **SPAMFILTER** - Anti-spam automat @@ -1359,7 +1472,7 @@ ACCOUNT ### Prioritate MEDIE 1. **KNOCK** - Request invite -2. **SA* aliases** - Simplified commands (SAJOIN, SAPART, etc.) +2. **SA* aliases** - Simplified commands (SAJOIN, SAPART, etc.) [DEPIND DE SVS*] 3. **+G mode** - Bad words on channel 4. **+L mode** - Redirect overflow @@ -1372,6 +1485,52 @@ ACCOUNT --- +## ⚠️ ATENȚIE - Comenzi SVS* NEFUNCȚIONALE! + +### Ce trebuie făcut pentru a activa SVS*: + +1. **Verificare fișiere**: + ```bash + ls -la ircd/m_svs*.c ircd/m_swhois.c + # Ar trebui să existe toate fișierele + ``` + +2. **Verificare Makefile**: + ```bash + grep "m_svs" ircd/Makefile.in + # Ar trebui să fie în lista de compilare + ``` + +3. **Adăugare în parse.c**: + ```c + // În ircd/parse.c, în tabelul de comenzi: + { MSG_SVSJOIN, TOK_SVSJOIN, 0, MAXPARA, MFLG_SLOW, 0, { + m_ignore, m_ignore, ms_svsjoin, m_ignore, m_ignore + }}, + // Similar pentru toate SVS* commands + ``` + +4. **Recompilare**: + ```bash + make clean && make + make install + ``` + +### De ce nu funcționează ACUM: + +- ✅ Codul **EXISTĂ** în `m_svs*.c` files +- ❌ Comenzile **NU SUNT ÎNREGISTRATE** în `parse.c` +- ❌ Parser-ul **NU ȘTIE** de aceste comenzi +- ❌ Când dai `/SVSJOIN`, primești: **"Unknown command"** + +### Impact: + +- **Servicii IRC** (X, ChanServ, NickServ) **NU POT** folosi SVS* pentru control users +- **Force join/part/nick** **NU FUNCȚIONEAZĂ** +- **Integration cu Anope/Atheme** **LIMITATĂ** + +--- + ## 📞 PENTRU ADMINI ### Activare Features