JD Horelick [Sat, 27 Mar 2010 18:58:04 +0000 (14:58 -0400)]
Add option general::use_propagated_bans to allow disabling new KLINE.
If this option is yes (default), KLINE by itself sets global (propagated) bans.
If this option is no, KLINE by itself sets a local kline following cluster{},
compatible with 3.2 and older versions.
Jilles Tjoelker [Fri, 5 Mar 2010 17:36:44 +0000 (18:36 +0100)]
Add propagated klines.
A KLINE command without the ON clause now sets a propagated
("global") ban. KLINE commands with the ON clause work as
before.
Propagated klines can only be removed with an UNKLINE command
without the ON clause, and this removes them everywhere.
In fact, they remain in a deactivated state until the latest
expiry ever used for the mask has passed.
Propagated klines are part of the netburst using a new BAN
message and capab. If such a burst has an effect, both the
server name and the original oper are shown in the server
notice.
No checks whatsoever are done on bursted klines at this time.
The system should be extended to XLINE and RESV later.
There is currently no way to list propagated klines,
but TESTLINE works normally.
Jilles Tjoelker [Wed, 3 Mar 2010 21:58:16 +0000 (22:58 +0100)]
bandb: Group writes in transactions to reduce load on heavy kline activity.
When a ban is added or removed, open a transaction and
close it after 3 seconds; any bans in the 3 seconds
will not trigger another transaction (= 4 fsyncs with
sqlite).
The transaction is also committed if ircd closes the
connection, but not if bandb itself is terminated with
a signal.
Jilles Tjoelker [Sat, 27 Feb 2010 23:46:56 +0000 (00:46 +0100)]
Store the creation time of klines and dlines as a time_t instead of as text.
The value 0 indicates the creation time is unknown (currently the case
for bandb).
Also store a creation time for xlines and resvs, but do not use it yet.
JD Horelick [Thu, 25 Mar 2010 18:14:17 +0000 (14:14 -0400)]
Add a small FAQ and modify the todo item about disabled_commands in
auth {} to disable_oper since that covers ~99% of the use-cases and
can be much cleaner.
JD Horelick [Sat, 20 Mar 2010 09:30:37 +0000 (05:30 -0400)]
Bump the version in configure since we're now in development of 6.1.0.
We've been in 6.1.0 development for like a week now but i forgot to change this a week ago.
Better late than never...
JD Horelick [Sat, 20 Mar 2010 08:34:44 +0000 (04:34 -0400)]
Add showing modes to OLIST so you can more easily see if you're
about to join a +s channel and it can be useful as a oper to easily
see which channels have certain modes set (i'm thinking +PL and maybe more).
B.Greenham [Tue, 16 Mar 2010 17:47:03 +0000 (13:47 -0400)]
Remove the ability of overriding opers to privmsg/notice @#channel while lacking ops.
Since this goes past +q/+m and so on, it could easily and silently be abused.
B.Greenham [Tue, 16 Mar 2010 17:44:44 +0000 (13:44 -0400)]
Remove override being able to automatically and silently go through +q/+m/etc.
This was previously doable without sending wallops, and had high abuse potential.
Overriding opers can set themselves +v/+o or remove the offending mode if they need to get past such things.
JD Horelick [Sun, 14 Mar 2010 03:56:38 +0000 (22:56 -0500)]
Add use_part_messages config option. When disabled, this will show
all PARTs without a message/reason. Recommended to set to no if
a static quit message is set.
JD Horelick [Mon, 8 Mar 2010 18:51:46 +0000 (13:51 -0500)]
Remove curly braces around 2 options in m_info. This caused some
compile warnings which are now gone and the 2 options seem to show
just fine in /INFO and nothing segfaults when you do /INFO.
JD Horelick [Sun, 7 Mar 2010 22:13:46 +0000 (17:13 -0500)]
Add m_webirc to "default" loaded extensions in .conf files and
add a WEBIRC auth {} block for it to show how its used so you
don't have to read the source of the extension to figure it out.
B.Greenham [Sun, 7 Mar 2010 00:22:59 +0000 (19:22 -0500)]
Looks like irc_dictionary things cannot support more than one key with the same value. Therefore, a rework of +J and OACCEPT's metadata are required to make them work properly with multiple users.