Command blocker module

These are old archives. They are kept for historic purposes only.
Post Reply
Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Command blocker module

Post by Stealth »

It seems that many people would like to make commands oper-only these days. I think it would be nice to have a module that does this. AngryWolf's cmdshun module can be used for this, but that is not what the module is for.

I would send this request to AngryWolf, but he has stopped his custom coding because of school.
AngryWolf
Posts: 554
Joined: Sat Mar 06, 2004 10:53 am
Location: Hungary
Contact:

Post by AngryWolf »

Whoever decides to code such a module, keep in mind that making certain commands oper-only is a very, very bad idea. For instance, /module.
Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Post by Stealth »

AngryWolf wrote:certain commands oper-only is a very, very bad idea. For instance, /module.
They can always keep certain commands from being blocked (like module). Most people wanting a module like this want to disable such commands like: list map links lusers whois.
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

module and version need to be protected, definately, as well as:

/nick, /user, /pass - I doubt you can override these anyway...
/mode, /topic, /kick - Uh... and basically make chanops meaningful only for ircops? I think not (unless you run a closed network, but then you can't have tempops, etc).
/kill, /kline, /gline, /[g]zline - You already need to be an oper for these.
/oper - Uhhhhhh... unless you intend to replace it with a different method of opering...
/svs* - Module needs to obey the U:Line rule - meaning a U:Line is enough to pass any and all security checks, which means a U:Line should be considered an ircop for all intents and purposes.
Probably others

Checks really should only be enforced locally (if (!MyConnect(sptr)) /* edit: do whatever it is to run the next override or normal command, can't remember what it was now :/ */; I think).

Also, it should at least be able to disable third-party commands and aliases for non-opers. For example, typically OperServ access requires IRCop privileges, so disabling the /operserv and /os aliases to non-opers would be useful...
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

/nick, /user, /pass - I doubt you can override these anyway...
Unreal will allow you to override any command. In fact, there are very good reasons for overriding all of those! I know of a few nick registration modules that check the value of the NICK command to see whether the nickname you are requesting is registered and if it is it prompts you to enter a password with /pass. So you'd need to be able to override both of those. Really, we saw no reason to place restrictions like this because we figured it should be up to the module coder to decide what he/she needs to do.
-- codemastr
Jason
Posts: 570
Joined: Mon Jun 14, 2004 5:09 pm

Post by Jason »

Use angrywolf's cmdflood module, and set the floodrates to 1:60 or something similar to floodcheck even the first use of the command. Opers are not affected by this module
Why the hell can't my signature be empty?
"Your message contains too few characters."
Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Post by Stealth »

I already know about the modules AngryWolf has, but they are not designed to do such a thing. There is no use in wasting processor/memory useage by using a module that was diesigned for much more than blocking a command.
AngryWolf
Posts: 554
Joined: Sat Mar 06, 2004 10:53 am
Location: Hungary
Contact:

Post by AngryWolf »

I agree with Stealth.
aquanight wrote:/* edit: do whatever it is to run the next override or normal command, can't remember what it was now :/ */
Just for the record: CallCmdoverride.
Post Reply