Commit Graph

1645 Commits

Author SHA1 Message Date
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 a4893a45be Use memmove instead of memcpy where there is overlap (modunload). 2010-03-05 22:05:15 +01:00
B.Greenham 5e09b8c741 Adding a TODO item. 2010-03-05 15:04:51 -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 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 559d530111 Make m_okick support the new +J format. 2010-03-05 13:59:35 -05:00
B.Greenham b5285733d3 Update NEWS. 2010-03-05 13:54:38 -05:00
B.Greenham d3b90aaad3 Clean up +J to work nicely and properly. 2010-03-05 13:45:01 -05: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 90072e8be6 kline: Fix oper reasons. 2010-03-05 18:28:59 +01: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
Jilles Tjoelker dce31e2723 Fix --disable-balloc.
libratbox r26769
2010-03-05 17:28:47 +01:00
B.Greenham 870b1b4694 Third time's the charm, apparently. Being sleepy and committing is a bad combo. 2010-03-05 01:51:36 -05:00
B.Greenham f865a3619d Actually make okick support +J. 2010-03-05 01:44:16 -05:00
B.Greenham d925c36c4e Make m_okick support +J. 2010-03-05 01:40:52 -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 07b7b659c1 6.0 is officially feature complete. 2010-03-05 00:41:05 -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
Jilles Tjoelker a491246f8f Skip propagated bans in rehash txlines/tresvs. 2010-03-05 00:37:56 +01:00
B.Greenham 402f23b9e0 TODO updates. 2010-03-04 18:15:12 -05:00
B.Greenham 9a4dc29c68 Finish chmode +K, which prevents repeated lines. 2010-03-04 18:05:15 -05:00
B.Greenham cc39ce707d Make it so that channels can have more than one piece of channel metadata with the same value. 2010-03-04 17:49:15 -05:00
B.Greenham 05f8f9e493 Automated merge with ssh://shadowircd/uranium/shadowircd/ 2010-03-04 15:08:41 -05:00
B.Greenham 6f659342dc Add channel metadata system. 2010-03-04 15:08:16 -05:00
JD Horelick f11e5895dc Fix a few errors in the example configs (caused errors on starting the ircd). 2010-03-04 14:18:15 -05:00
JD Horelick 3da167f207 Really fix the ugly-ass desync by re-adding some code i accidentally
deleted on the first chmode.c override commit.
2010-03-04 04:28:53 -05:00
JD Horelick e853274c16 Fix a warning which may fix a real ugly desync.
If this doesn't fix the desync, i have an idea of how to do so.
2010-03-04 04:22:14 -05:00
B.Greenham a5445b5bb5 Add TODO for ShadowIRCd-6.2 2010-03-04 02:22:45 -05:00
B.Greenham defa3ff445 Add oaccept to extensions/readme, also clarify it a bit in the NEWS. 2010-03-04 01:47:50 -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 5b453fee2a Merge. 2010-03-03 23:32:09 -05:00
B.Greenham 03d65f8fbb Backed out changeset 8ff8459cb04d 2010-03-03 23:20:48 -05:00
B.Greenham 32d464fe77 Finish adding custom operstring support. 2010-03-03 23:06:32 -05:00
B.Greenham 6d1f5fcc73 Automated merge with ssh://shadowircd/uranium/shadowircd/ 2010-03-03 22:59:49 -05:00
B.Greenham 3e06a4c803 Finish adding swhois support. 2010-03-03 22:59:26 -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
JD Horelick 90e68bbebf Added some stuff to NEWS (primarily about metadata and OACCEPT). 2010-03-03 20:53:25 -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
B.Greenham 3b0e9fa20e Automated merge with ssh://shadowircd/uranium/shadowircd/ 2010-03-03 20:38:57 -05:00
B.Greenham fb87421d0e Add user metadata. 2010-03-03 20:38:50 -05:00
JD Horelick fbb60f41c5 Remove override and immune from the shadow TODO since they're done now. 2010-03-03 20:28:22 -05: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 ebae0e200e ConfItem.next is not used, remove it. 2010-03-03 23:36:28 +01:00
Jilles Tjoelker 8a1d7222f4 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.
2010-03-03 22:58:16 +01:00