Trixarian/trix-janus — Issue #3: Operlvl doesn't work (as described)
Author: antoligy
Created: 2011-12-04 18:08:08+00:00
State: open

I have operlvl set to 0, and yet I am still completely able to kill and override on remotely linked networks.
Tested with both an UnrealIRCd 3.2.x network and an InspIRCd 2.0.x network:

e.g. with InspIRCd 2: <-* Antoligy/StormBit has kicked Antoligy from #test (Killed (Antoligy ()))
and with UnrealIRCd 3.2: <-* Antoligy/StormBit has kicked Antoligy from #test (Killed (Antoligy ()))

while I understand that this is to prevent desynchronization, and that users are kicked as opposed to being killed. However, this is irrelevent, as operators can still override on channels and kills appear to be effective.
Which, as I'm sure you can understand, should not be the case.
```bash
$ grep -R operlvl *
Conffile.pm: unless (defined($Janus::operlvl)) {
Conffile.pm: my $operlvl = $newconf{set}{operlvl} || 0;
Conffile.pm: if ($operlvl >= 0 && $operlvl < 3) {
Conffile.pm: $Janus::operlvl = $operlvl;
Conffile.pm: Log::err("Bad value $operlvl for set::operlvl");
Janus.pm:=item $Janus::operlvl
Server/Inspircd_1105.pm: my $visible = $Janus::operlvl;
Server/Inspircd_1105.pm: my $visible = $Janus::operlvl;
Server/Inspircd_2000.pm: my $visible = $Janus::operlvl;
Server/Inspircd_2000.pm: my $visible = $Janus::operlvl;
Server/Inspircd_1200.pm: my $visible = $Janus::operlvl;
Server/Inspircd_1200.pm: my $visible = $Janus::operlvl;
Util/ModularNetwork.pm: my $visible = $Janus::operlvl;
```
Additionally, as can be seen, operlvl doesn't actually do anything outside of InspIRCd.