Jilles Tjoelker [Sat, 8 May 2010 22:30:51 +0000 (00:30 +0200)]
openssl: Avoid cutting off OpenSSL errors at 119 chars.
ERR_error_string() is just broken, as it returns at most 119 chars
which means error messages are frequently truncated.
Allow for 511 chars using ERR_error_string_n().
Do not allow a topic change if a user may not send to the channel
(resv, cmode +m, cmode +b, cmode +q, etc.).
This is only checked for local users.
For optimal compatibility, a failure for this reason still
returns ERR_CHANOPRIVSNEEDED.
Side effect: normal users cannot change topics of resv'ed
channels, even if they have ops, just like they already
cannot send messages. This only matters if resv_forcepart
is disabled, as the user would have been removed from the
channel otherwise.
Imported from charybdis changeset 1368:a224ec22c54c
Add OPERHOST option to /set, which allows you to change the host operators get on oper up (provided they don't have a specific one already defined in their operator block.)
Change the default ident timeout time to 5s to not be as annoying
to clients that don't send an ident and add a TODO item for 6.2 to
make ident timeout time configurable in the ircd.conf.
Currently it's only configurable in the include/defaults.h (ugly)
or on-the-fly with /set (doesn't persist, have to re-set it on each
restart/server).
Jilles Tjoelker [Wed, 31 Mar 2010 23:16:16 +0000 (01:16 +0200)]
New custom channel mode API allowing reloading such modules.
Additionally, attempting to use too many modes or two times
the same letter is now detected and prevented.
Modules now request that a channel mode be added/orphaned,
instead of ugly manipulation from which that request had
to be guessed.
Slight changes are needed to modules that provide channel modes.
From the old API, one important function has been made static,
the other important function has been renamed, so loading old
modules should fail safely.
B.Greenham [Wed, 31 Mar 2010 15:22:32 +0000 (11:22 -0400)]
Make chm_staff (staff only modes) only settable if you have ops in the channel in question.
If operators need to set such modes in a channel where they don't have ops, that's what override/omode are for.
JD Horelick [Sun, 28 Mar 2010 18:08:47 +0000 (14:08 -0400)]
Add helpchan and helpurl that tell users the official help channel
and (optionally) link them to your network's specific helppages on
the intertubes. It is shown in /quote help (with no extra parameters).
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).
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.
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.