🔧 FIX DOCUMENTAȚIE: Comenzi SVS* marcate ca NEFUNCȚIONALE

⚠️ CORECȚIE CRITICĂ în documentație!
🐛 PROBLEMA:
Documentația menționa că SVS* commands sunt 'active' DAR ele
NU FUNCȚIONEAZĂ în realitate!
Comenzi afectate:
- SVSJOIN 
- SVSPART 
- SVSNICK 
- SVSMODE 
- SVSIDENT 
- SVSQUIT 
- SWHOIS 
🔍 CAUZA:
- Codul EXISTĂ în m_svs*.c files 
- Fișierele sunt compilate 
- DAR comenzile NU sunt ÎNREGISTRATE în parse.c 
- Parser-ul NU ȘTIE de aceste comenzi 
- Rezultat: 'Unknown command' când le folosești 
 MODIFICĂRI DOCUMENTAȚIE:
1. Secțiunea 'Comenzi Services':
   - Marcate TOATE SVS* ca  NEFUNCȚIONALE
   - Adăugat WARNING că există cod dar nu e activ
   - Explicat că trebuie înregistrate în parse.c
2. Statistici actualizate:
   - Comenzi Oper: ~30 funcționale (în loc de ~40)
   - Comenzi SVS*: ~8 nefuncționale (separate)
   - TOTAL funcțional: ~105 (corect)
3. Secțiune VIITOARE:
   - SVS* commands mutate în PRIORITATE MAXIMĂ
   - Explicat cum se activează (parse.c registration)
   - Efort: SCĂZUT (doar înregistrare parser)
   - Impact: MARE (esențial pentru servicii)
4. Secțiune nouă 'ATENȚIE':
   - Explicație detaliată DE CE nu funcționează
   - Pași pentru activare (verificare + modificare + recompilare)
   - Impact: Servicii IRC (X, ChanServ) NU pot controla users
📊 IMPACT:
- Users știu EXACT ce funcționează
- NU mai sunt confuzi când SVS* returnează 'Unknown command'
- Admini știu ce trebuie făcut pentru activare
- Developeri văd că e prioritate mare (cod există!)
🎯 VIITOR:
Pentru v2.1.0 sau v2.0.2:
- Activare SVS* commands (înregistrare în parse.c)
- Testare cu servicii IRC (Anope/Atheme)
- Update documentație când funcționează
⚠️ NOTĂ PENTRU ADMINI:
Dacă folosești servicii IRC (X, ChanServ), acestea
POT să nu funcționeze corect fără SVS* commands!
Alternative temporare:
- Folosește OPMODE pentru channel management
- Folosește KILL pentru force disconnect
- Serviciile pot folosi PRIVMSG pentru comunicare
Status:  DOCUMENTAȚIE CORECTATĂ
This commit is contained in:
mihaiitdata 2026-02-24 00:54:50 +02:00
parent 611033b63a
commit 1231500159
1 changed files with 195 additions and 36 deletions

View File

@ -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 <nickname> <#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 <nickname> <#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 <old_nick> <new_nick> [<timestamp>]
```
- 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 <target> <modes>
```
- 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 <nickname> <ident>
```
- 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 <nickname> :<reason>
```
- 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 <nickname> :<text>
```
- 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 <params>
```
- Informații despre servicii
- **Fișier**: `m_svsinfo.c`
- **Status**: ⚠️ **PROTOCOL INTERN** - Folosit între servere și servicii
#### **SVSNOOP** - Services noop ⚠️ PARȚIAL
```
/SVSNOOP <params>
```
- 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 <new_host>
```
- 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 <nickname> <#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 <nickname> <#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 <old_nick> <new_nick> [<timestamp>]
```
- Forțează schimbare de nickname
- **Fișier**: `m_svsnick.c` ✅ EXISTĂ
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
#### **SVSMODE** - Force mode change
```
/SVSMODE <target> <modes>
```
- Forțează schimbare moduri user/canal
- **Fișier**: `m_svsmode.c` ✅ EXISTĂ
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
#### **SVSIDENT** - Set ident
```
/SVSIDENT <nickname> <ident>
```
- Setează ident pentru user
- **Fișier**: `m_svsident.c` ✅ EXISTĂ
- **Status**: ❌ **NU E ÎNREGISTRAT ÎN PARSE.C**
#### **SVSQUIT** - Force user quit
```
/SVSQUIT <nickname> :<reason>
```
- 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 <nickname> :<text>
```
- 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 <nickname> <#channel>
```
- Alias pentru SVSJOIN
- **Status**: POATE FI ADĂUGAT (alias simplu)
- **Status**: DEPINDE DE SVSJOIN
#### **SAPART** - Force part
#### **SAPART** - Force part (alias)
```
/SAPART <nickname> <#channel>
```
- Alias pentru SVSPART
- **Status**: POATE FI ADĂUGAT
- **Status**: DEPINDE DE SVSPART
#### **SANICK** - Force nick change
#### **SANICK** - Force nick change (alias)
```
/SANICK <old_nick> <new_nick>
```
- Alias pentru SVSNICK
- **Status**: POATE FI ADĂUGAT
- **Status**: DEPINDE DE SVSNICK
#### **SAMODE** - Force mode
#### **SAMODE** - Force mode (alias)
```
/SAMODE <target> <modes>
```
- Alias pentru SVSMODE
- **Status**: POATE FI ADĂUGAT
- **Status**: DEPINDE DE SVSMODE
---
@ -1323,16 +1422,20 @@ ACCOUNT <nickname> <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 <nickname> <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 <nickname> <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 <nickname> <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