rkline/rzline module

These are old archives. They are kept for historic purposes only.
Post Reply
tabrisnet
Posts: 11
Joined: Sun May 30, 2004 9:45 pm
Location: Michigan, USA

rkline/rzline module

Post by tabrisnet »

Idea is a way to set/unset local klines/zlines w/o having to logon to the server in question to do so.

Consider the following cases. a) unknown-flood's local zlines b) spamfilters set to local kline/zlines.

Other cases exist, and are outlined in the bugreport referenced below.

I also originally posted this as a feature-request here: Bug 1776

I'll admit it's unorthodox, but would seem to have some value all the same.

I'm told that it could be done with some raw TKL injections, but as I'm unclear how one would inject it to a specific server, and TKLs for non global bans wouldn't seem to cross server boundaries _anyway_, I do not know how to do this. BUT, as it could be done, I would also think that it could be done semi-trivially in a module.

That is something else I could use. Tho I should probably just read the code for these things. there are some commands that i'm not sure are fully documented. like TKL. My interest is for coding a services package that can then understand TKL G or TKL Z, set them, unset them, etc.

I should probably just hook a logging bot to a pseudo-server and observe.
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

I don't know how well it would go, but maybe you can inject straight KLINE or ZLINE commands into the server (with the appropriate arguments)?

Otherwise, look into using TKL K and TKL z (yes, lowercase z). The parameters are pretty much the same as with their counterparts TKL G and TKL Z (yes uppercase Z).

Good luck ;)
w00t
Posts: 1136
Joined: Thu Mar 25, 2004 3:31 am
Location: Nowra, Australia

Post by w00t »

http://www.angrywolf.org/frames.php?lang=en

m_rmtkl

Not sure if that's what you mean.
And arent there SVS* commands for services stuff like that...?
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
tabrisnet
Posts: 11
Joined: Sun May 30, 2004 9:45 pm
Location: Michigan, USA

Post by tabrisnet »

I don't know how well it would go, but maybe you can inject straight KLINE or ZLINE commands into the server (with the appropriate arguments)?

Otherwise, look into using TKL K and TKL z (yes, lowercase z). The parameters are pretty much the same as with their counterparts TKL G and TKL Z (yes uppercase Z).
Yes, I know of the appropos case. not that that is quite the point.

Second, how do I "inject straight KLINE ... commands" into the server? or, better put, how do I specify a _specific_ server that it will go to?

Same question applies to TKL K or TKL z. how do I specify which servers they go to? I'm not on a single server network here. there's like.. 3 servers on one net I own, plus 9 servers on a larger network that I admin (not counting stats and services)

as to rmtkl. I have it. it works great. but.. it also does not allow me to specify a specific server for the command to go to. so, rmtkl for the local klines is only useful... locally.'

SVS* cmds? there's AKILL. but, that's just mapped to TKL G nowadays. (and i believe that AKILL was an oper cmd, but was deprecated for gline)

Unless one of you find gentlemen know something I don't. In which case, plz, do educate me.
Jason
Posts: 570
Joined: Mon Jun 14, 2004 5:09 pm

Post by Jason »

I have asked about this myself, and think that rather than a module, perhaps a modification of the unreal package itself would be in order. To allow a server argument to be appended to the KLINE command. Or would this be too difficult? I'm no coder
tabrisnet
Posts: 11
Joined: Sun May 30, 2004 9:45 pm
Location: Michigan, USA

Post by tabrisnet »

I originally submitted this as a feature request on the bugzilla system, but the idea was rejected and suggested to be a module instead.
Jason
Posts: 570
Joined: Mon Jun 14, 2004 5:09 pm

Post by Jason »

Well, then it is be a module I will be quick to install
Why the hell can't my signature be empty?
"Your message contains too few characters."
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

I've thought of how this could be done. You use a seperate command for starting the process, and for shooting across servers. Namely:

RKLINE <server> <kline parameters>
RZLINE <server> <zline parameters>

If you want to try, <server> could be a mask. (* would make them effectively g(z)lines). At a minimum, Opers should be required to have can_gkline to use wildcards in RKLINE, and can_gzline to use wildcards in RZLINE. If you want, you can require can_g(k|z)line for any use of R(K|Z)LINE at all. Once the oper sends the command, the server checks to see if it itself matches the <server> mask and if so, runs KLINE/ZLINE normally. Then for each other server matching the <server> mask, it fires a targeted copy of R(K|Z)LINE down the necessary paths. When a server receives an R(K|Z)LINE targetted to it, it runs the appropriate K/ZLINE command. If it receives a command targeted to a server behind it, it passes it on without doing anything. If you want bandwidth conservation, fire the wildcarded command to other servers, which should forward the command down all appropriate paths EXCLUDING the one it received it from. In any case, I think you can call m_tkline for KLINE, and m_tzline for ZLINE, just be sure to set parc and parv correctly, and you can try to set cptr and sptr to the "correct values" (namely, cptr and sptr from your m_rkline / m_rzline), but if that causes server crashes, try passing &me, and handle the "no parameters" case (get k/z-line list) in your rk/zline code. If that doesn't work, you'll probably have to add the k/zline directly.
Post Reply