Commit Graph

192 Commits

Author SHA1 Message Date
Jilles Tjoelker 70fd7fc9fb BAN: Reject bans with insufficient non-wildcard characters.
Such bans are not applied locally, but are propagated normally.
They can only be removed on a server that applies them.

Note that normally KLINE will not accept such bans.
This is mainly for services, differing min_wildcard and
ircd changes.
2010-03-06 01:45:41 +01:00
Jilles Tjoelker c177d078ea Among bans with the same creation time, prefer the one with longest lifetime. 2010-03-05 23:16:28 +01:00
Jilles Tjoelker 05114b16a3 BAN: Avoid fake direction. 2010-03-05 22:53:35 +01:00
Jilles Tjoelker e49d818579 Remove +/- from the BAN message, instead indicating unban with duration=0.
A kline must now last at least one second since its creation time.

Also add better logic for bans that have already expired
when they come in.
2010-03-05 22:51:47 +01:00
Jilles Tjoelker 65b8e0029e 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.
2010-03-05 18:36:44 +01:00
JD Horelick 64dd2404ca Rewrite message when you don't have the privs to kick a user
(be it that the user is +a and you're +o/+h or you're not an op at all).
2010-03-25 12:31:12 -04:00
JD Horelick d25c6eb1b2 Yay for documenting code.... 2010-03-23 21:20:07 -04:00
JD Horelick 5ff039e923 Make remote restart and die actually...work... 2010-03-23 15:21:09 -04:00
JD Horelick 658a333d65 Pull in remote restart and die (from ircd-seven) allow opers
to remotely restart and die servers.
2010-03-23 14:21:31 -04:00
JD Horelick 6f7a78f6aa Added check for flood settings in m_message. Why was this not here
before? What good are flood settings really if they're not applied
to messages?
2010-03-21 03:43:25 -04:00
B.Greenham aa9a8067b1 Use strip_unprintable for chmodes +K and +G, which makes evasion less trivial. 2010-03-20 12:49:57 -04:00
B.Greenham 2c0c690444 Fix some compile warnings. 2010-03-18 12:32:42 -04:00
JD Horelick b705a46f43 Fix a signedness comparison warning. 2010-03-17 03:42:40 -04:00
B.Greenham 7469e4b0d2 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.
2010-03-16 13:47:03 -04:00
JD Horelick e78f685073 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.
2010-03-13 22:56:38 -05:00
JD Horelick c0e2aa60b8 Added static_quit support. Pretty much what the name implies. 2010-03-13 22:19:29 -05:00
B.Greenham 0fbe4a384c Make metadata use UIDs for s2s communication, and fix up propegation of channel metadata. 2010-03-08 18:09:10 -05:00
JD Horelick 71ea606903 Make override WALLOPS actually send netwide this time. 2010-03-07 23:22:07 -05:00
B.Greenham c1c91f9438 s/owner/admin/ throughout the source code and docs. 2010-03-07 23:18:39 -05:00
JD Horelick 34d8ef4d14 Change all override snotes to wallops to match m_o* and to
make it a lot more obvious when a oper is using override.
2010-03-07 22:42:51 -05:00
JD Horelick b6a3d80129 Change many of the ERR_CANNOTSENDTOCHAN messages to say WHY the user
can not send to the channel for the new chmodes.
2010-03-07 17:03:12 -05:00
B.Greenham bc4764aefd 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. 2010-03-06 19:22:59 -05:00
B.Greenham e80126d0d3 Fix +K unintentionally stripping any messages to the channel of color. 2010-03-05 20:59:23 -05:00
B.Greenham a58b84b4b2 Fix +J not checking for local clients properly. 2010-03-05 20:23:52 -05:00
B.Greenham 1c646b8914 Fix +g messages not showing to opers. 2010-03-05 14:39:42 -05:00
B.Greenham e6f94b0c3c Make oaccept use UIDs instead of nicks. 2010-03-05 14:34:44 -05:00
B.Greenham 85465c4341 Make +gGR not affect services. 2010-03-05 14:28:48 -05:00
B.Greenham 75a9b0c8b0 Make oaccept work for multiple opers on the same target. 2010-03-05 14:26:40 -05:00
B.Greenham d3b90aaad3 Clean up +J to work nicely and properly. 2010-03-05 13:45:01 -05:00
B.Greenham d925c36c4e Make m_okick support +J. 2010-03-05 01:40:52 -05:00
B.Greenham 104becbf7f Add channel_metadata_time_add, a local only form of metadata that stores time values. And use it to make +J work. 2010-03-05 00:18:56 -05:00
B.Greenham 9a4dc29c68 Finish chmode +K, which prevents repeated lines. 2010-03-04 18:05:15 -05:00
B.Greenham 6f659342dc Add channel metadata system. 2010-03-04 15:08:16 -05:00
B.Greenham 1fbf6db662 Add extensions/m_oaccept , a module to allow opers to bypass +gGR with a command. 2010-03-04 01:40:13 -05:00
B.Greenham 03d65f8fbb Backed out changeset 8ff8459cb04d 2010-03-03 23:20:48 -05:00
JD Horelick ccd2e3b8ee Have KICK not show snotes when you're opped in the channel and you have
override on.
2010-03-03 22:34:44 -05:00
B.Greenham 1e25cb1e0e Add core/m_metadata.c , a module required for metadata propegation to work. 2010-03-03 20:41:39 -05:00
JD Horelick e7c1f6a51f Luke! Use the fail Luke!
The fail. I am made of it.
* Jdhore boards the failboat.
2010-03-03 15:38:28 -05:00
JD Horelick cb097b8840 Don't discard self-oppings from remote override opers.
There's a small chance this could be incorrect.

Also, the final set of override cleanups.
2010-03-03 15:34:57 -05:00
JD Horelick 565f4362f2 A couple more chm_hidden cleanups/fixes. 2010-03-03 15:16:06 -05:00
JD Horelick f428b59fa8 Add +M awareness to KICK. 2010-03-03 14:51:25 -05:00
JD Horelick fbd2e5da56 Make KICK and INVITE send snotes on override. 2010-03-02 13:07:14 -05:00
B.Greenham 5ad94b5000 Add channel::exemptchanops, and make +cCDTNG support it. 2010-03-01 02:43:55 -05:00
B.Greenham 6a52011244 Fix m_kick so that it checks if you're trying to kick the target, not yourself. 2010-02-28 12:07:16 -05:00
B.Greenham 82f8e812f5 Add full support for +a (owner) and +h (halfop) chmodes. 2010-02-28 02:35:48 -05:00
B.Greenham b3b2ed9780 Add can_kick_deop() and use it in m_kick. 2010-02-27 21:27:05 -05:00
B.Greenham d1c7eccf6a Add is_any_op() in preperation for adding +ah, start using it instead of is_chanop() in a few places. 2010-02-27 19:20:01 -05:00
B.Greenham 0099f31acf Add some code back in that I accidentally deleted. 2010-02-25 20:41:19 -05:00
B.Greenham 99c780941a Fix everything I broke with the last three commits and make +G work for real. 2010-02-25 20:36:03 -05:00
B.Greenham 12cbce8059 Fix up +G and make it actually work. 2010-02-25 19:16:38 -05:00