JD Horelick
504f309e38
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.
2010-03-27 14:58:04 -04:00
Jilles Tjoelker
f8cebd00f2
Show d/kline setter to opers in stats/testline.
2010-03-06 22:37:42 +01:00
Jilles Tjoelker
c3666dd012
Avoid crash if get_oper_name() somehow gave no {} for local oper.
2010-03-06 16:37:50 +01:00
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
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
a4893a45be
Use memmove instead of memcpy where there is overlap (modunload).
2010-03-05 22:05:15 +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
Jilles Tjoelker
12894c8888
Add code to expire "propagated" bans.
...
The data structure is very simple: a dlink list of all propagated bans.
2010-03-04 00:21:22 +01:00
Jilles Tjoelker
cf06f92b78
Make struct operhash_entry private.
2010-03-01 01:24:00 +01:00
Jilles Tjoelker
a0f4c418d3
Track who set a dline/kline/xline/resv as in ratbox3.
...
Like in ratbox3, there is no way to query this information
(other than bandb's tables, but they worked before this
commit).
2010-03-01 01:23:22 +01:00
Jilles Tjoelker
157c1f04bd
Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created.
2010-02-28 16:27:06 +01:00
Jilles Tjoelker
ce60772db6
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.
2010-02-28 00:46:56 +01:00
Jilles Tjoelker
bebc68755d
Add a missing comment for new /challenge numerics.
2010-02-27 23:56:56 +01:00
Alexander F?r?y
360742bdf4
Use RPL_QUIETLIST and RPL_ENDOFQUIETLIST instead of RPL_BANLIST and
...
RPL_ENDOFBANLIST for channel mode +q.
2010-02-27 01:08:41 +01:00
JD Horelick
3232087a3c
Make all snotes for mod* stuff netwide since unless you're opered
...
on more than one server, you won't know if the command worked or not.
2010-03-25 03:18:32 -04:00
JD Horelick
e31b740dd1
Allow using all the mod* commands remotely.
2010-03-25 00:33:20 -04:00
JD Horelick
069f104a2e
Add shared::modules option, remote module stuff coming later/soon.
2010-03-24 15:50:15 -04:00
JD Horelick
4aa4fa57f2
I am made of fail.
2010-03-23 15:21:42 -04:00
JD Horelick
74e3e4f1e2
Add DIE shared option for remote restart and die which are on their
...
way next.
2010-03-23 14:19:48 -04:00
JD Horelick
1cc810d3a7
Add general::true_no_oper_flood . I'm not going to explain it here.
...
Ask me what it does on IRC if you're curious.
2010-03-21 00:14:02 -04:00
JD Horelick
29b3f2e4e5
Fix a small typo that i noticed looking around the source.
2010-03-18 02:44:51 -04:00
B.Greenham
7bd3701cd6
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.
2010-03-16 13:44:44 -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
B.Greenham
f8b60fb5fd
Make joining in override only wallops if you couldn't normally join the channel.
2010-03-07 22:58:27 -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
c809010b89
Make +-a give you the appropriate error message if you don't have
...
the proper privs.
2010-03-07 21:57:00 -05:00
William Pitcock
a9f16d808d
Fix construction of the channel mode vector table.
...
This fixes chm_* modules and should be backported to ircd-seven and charybdis 3.2.
2010-03-07 14:45:42 -06:00
B.Greenham
942d361d89
I am a massive idiot. Fix this problem.
2010-03-07 00:48:39 -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
JD Horelick
55bf488d0f
Update the YOUREOPER/oper-up message.
2010-03-06 01:36:21 -05:00
JD Horelick
55f5eaa147
Add a header file.
2010-03-05 21:35:36 -05:00
B.Greenham
7ab1bb39ab
Automated merge with ssh://shadowircd/uranium/shadowircd/
2010-03-05 20:09:26 -05:00
B.Greenham
937efa520e
Fix segfault on netsplit due to clearing metadata too late.
2010-03-05 20:06:44 -05:00
JD Horelick
a8afd89db2
Made overriding join send snotes.
2010-03-05 19:32:17 -05:00
JD Horelick
a039358ed0
Fix a typo
2010-03-05 19:18:38 -05:00
B.Greenham
67cecc2b22
Should just specify the name here.
2010-03-05 19:16:27 -05:00
B.Greenham
8e3b2b85c7
Clean up cmode norepeat's metadata when unsetting +K.
2010-03-05 19:10:24 -05:00
B.Greenham
2f39232fab
Fix the 'mode changes appear multiple times' bug.
2010-03-05 18:49:57 -05:00
B.Greenham
a18f1b6ef8
Make it so that the same user can have more than one metadata entry of the same type.
2010-03-05 14:06:32 -05:00
B.Greenham
d3b90aaad3
Clean up +J to work nicely and properly.
2010-03-05 13:45:01 -05:00
B.Greenham
6a97cac667
Make channel_metadata_time_add accept a regular value as well as a time value.
2010-03-05 11:57:48 -05:00
B.Greenham
a6d1c6c037
Make RPL_WHOISMODES look a bit nicer.
2010-03-05 01:22:08 -05:00
B.Greenham
0b370fcc63
There's no reason to have two nearly identical structs for metadata, move metadata struct to ircd.h and use it for both channel and user metadata.
2010-03-05 00:51:40 -05:00
B.Greenham
8bced6dc39
Add *_metadata_clear and start using them.
2010-03-05 00:39:18 -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