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.
rkline/rzline module
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
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
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...?
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]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
Yes, I know of the appropos case. not that that is quite the point.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).
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.
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.
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.