Anope IRC Services => General Chat => Topic started by: Eddie on January 20, 2007, 05:20:03 AM

Title: ChanServ Forbid - Waste of Resources?
Post by: Eddie on January 20, 2007, 05:20:03 AM
I've noticed, when you forbid a channel, it does nothing.  ChanServ joins the channel when a user joins, then bans them, and parts immediately.  When ChanServ parts, the channel is empty, which then clears the banlist.  The user rejoins and this all happens again.. it's a continuous cycle that never ends, and wastes resources.  Especially on large channels.
Post by: katsklaw on January 20, 2007, 06:19:20 AM
That is the best Services can do .. please understand that services doesn't know about a user joining any channel until AFTER they have joined. What happens is that the user requests to join the channel, the request goes to the ircd, the ircd allows the user to join if there is no restrictions on the user or channel such as bans, channel keys, limits ... etc .. once the user is cleared to join the server tells the client it's ok and sychs the channel across the network where applicable. This synching process is when Services learns that the user has joined a forbiden channel and it's then services turn to take any appropriate action.

If you don't want the channel used at all .. use your IRCd, many ircds can deny channels in the conf file.
Post by: Eddie on January 20, 2007, 06:47:11 AM
okay, i was just wondering on a network with like 5+ servers, you would have to make a deny.conf for each individual server.   And modify each one, every time something was added or removed..  wanted to see if there was something i missed in the modules .. oh and.. every time i post on the forums i get

"MySQL has encountered an unknown error. To find out the exact problem, please set the DEBUG flag to true in config.php."

Post by: katsklaw on January 20, 2007, 04:23:36 PM
If you are using Unreal then this is an advantage of having remote includes. What I do with it is I have opers, the network set block and all the deny blocks that are netwide in a single remote include file. Then insure that your network admins have remote rehash capabilities so that when the file is edited the servers can be rehashed. This makes it so opers are not restricted to just one server and all opers can oper network wide. It also allows for anyone with remote conf access to remove rogue opers if you don't allow any oper blocks in individual files.

The good thing about remote includes is you don't need root access to do it, any users with shell access can add remote includes to their ircd using curl.

[Edited on 20-1-2007 by katsklaw]
Post by: Jobe on January 21, 2007, 11:09:58 AM
As katsklaw said you dont need root access. I was able to completly install UnrealIRCd with remote includes on a server which hadnt got the curl libs installed on it anywhere as a completly un-priviledged user.

Plus as katsklaw says remote includes makes managing network wide configs easier.