(Please word-wrap your lines.)

>   Just a beginner C/C++ programmer here, but I thought you might like to know
> , you're additions for making Opers Non-Deopable and Non-Kickable, as well as
>  allowing them to set modes on a channel whether or not they have ops, and in
> cluding the option for "walking through" modes, wasn't working. I found the r
> esolution to all of these issues.
> 
> Resolving the "walking through" modes issue:
>       Remove the reference to IsOperOnLocalChannel(x, chan) and change it to 
> IsAnOper(x).
> 
> Resolving the making Opers Non-Deopable/Kickable:
>       Same as first resolution.
> 
> Resolving the allowing them to set modes whether or not they have ops:
>       *Remove* the Global Variable completely, you *don't* need it, and chang
> e the if statements to just check whether or not they are an Oper, as above i
> n the first 2 resolutions.

These changes would allow operators to be non-deopable/kickable--and, worse,
allow them to change modes--on any global channel.  This is *very* *very*
*bad*.  Among other things, remote servers will bounce the oper mode
changes...not to mention the privacy issues of opers being able to walk
through bans and channel keys on a global channel without any form of logging
or other accountability.  The features you have changed were specifically
intended to be used for *local* channels, which are channels that begin with
'&' rather than '#', and they were intended to provide a way for server
admins to run channel registration-like services for their local channels.

My personal feeling is that you have misunderstood the intent of these
features, which, given the lack of documentation, is very easy to do.
-- 
Kevin L. Mitchell <[EMAIL PROTECTED]>

Reply via email to