Commit graph

2134 commits

Author SHA1 Message Date
Jilles Tjoelker
5c2b9eaf48 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
416d868ed4 Add /stats g to show propagated (global) klines. 2010-03-06 00:31:51 +01:00
Jilles Tjoelker
6229f9f83b Among bans with the same creation time, prefer the one with longest lifetime. 2010-03-05 23:16:28 +01:00
Jilles Tjoelker
9470d75a42 BAN: Avoid fake direction. 2010-03-05 22:53:35 +01:00
Jilles Tjoelker
cedb7d05b4 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
f54e1a8fd6 Use memmove instead of memcpy where there is overlap (modunload). 2010-03-05 22:05:15 +01:00
Jilles Tjoelker
431a1a2784 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
c935336b64 kline: Fix oper reasons. 2010-03-05 18:28:59 +01:00
Jilles Tjoelker
74178a388e Fix --disable-balloc.
libratbox r26769
2010-03-05 17:28:47 +01:00
Jilles Tjoelker
97f44d343a Skip propagated bans in rehash txlines/tresvs. 2010-03-05 00:37:56 +01:00
Jilles Tjoelker
9197bc355e 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
c2e7ab8c1e ConfItem.next is not used, remove it. 2010-03-03 23:36:28 +01:00
Jilles Tjoelker
9fca38c815 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
Jilles Tjoelker
c52fe5f5f2 Merge final 3.2.0 changes. 2010-03-03 01:10:34 +01:00
Jilles Tjoelker
6d9035e030 Added tag charybdis-3.2.0 for changeset c2443ea9ff84 2010-03-03 01:03:41 +01:00
Jilles Tjoelker
b47da22428 Add a hint how to import old ban .conf files into bandb. 2010-03-03 00:20:34 +01:00
Jilles Tjoelker
f9545a9b54 Make struct operhash_entry private. 2010-03-01 01:24:00 +01:00
Jilles Tjoelker
27f616ddf5 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
3d242eb30f Merge bugfix that also applied to 3.2.x. 2010-02-28 16:45:55 +01:00
Jilles Tjoelker
4db0e2bdf2 Fix memory leak on /rehash bans.
We do not have the 'oper' field in klines yet.
2010-02-28 16:45:25 +01:00
Jilles Tjoelker
a12ad04472 Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created. 2010-02-28 16:27:06 +01:00
Jilles Tjoelker
b52c294986 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
58c728aed8 Add a missing comment for new /challenge numerics. 2010-02-27 23:56:56 +01:00
William Pitcock
0e21e12f8c Added tag charybdis-3.2.0 for changeset 6144f52a119b 2010-02-27 15:23:22 -06:00
Alexander F?r?y
51027be825 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
William Pitcock
497c263d8f Update configure. 2010-02-27 15:26:54 -06:00
William Pitcock
fe5746222d Charybdis 3.3.x development cycle begins. 2010-02-27 15:26:42 -06:00
Jilles Tjoelker
e875ae74ae help: Remove references to old ban .confs,
calling bandb "the database" instead.
2010-02-24 23:31:56 +01:00
Jilles Tjoelker
3102dbdc4f Use FLAGS_SENTUSER when checking whether to register when ping cookie is received. 2010-02-24 23:28:27 +01:00
Stephen Bennett
1fb3b1e1c4 Use FLAGS_SENTUSER instead of 'user' being non-empty to decide whether to register a user on CAP END.
identd and SASL can cause source_p->user to be present without USER having been sent.
Without this change, that could cause a crash later on as localClient->fullcaps is not initialised.
2010-02-23 22:35:58 +00:00
Jilles Tjoelker
666de5311f Remove some obsolete paths from config.h. 2010-02-22 23:53:45 +01:00
Jilles Tjoelker
1815320d3b Remove more old kline.conf stuff.
Make sure to recompile modules, stuff has been removed
close to the start of ConfigFileEntry.
2010-02-22 19:31:05 +01:00
Jilles Tjoelker
2cb7175cfa gnutls: I guess a gnutls_x509_crt_deinit() is needed to avoid memory leak. 2010-02-22 19:16:37 +01:00
Jilles Tjoelker
22342cd11f Remove code to write bans to csv files. 2010-02-22 19:09:46 +01:00
William Pitcock
3fe59c99c7 gnutls: Add support for certfp gathering. 2010-02-22 11:13:59 -06:00
Jilles Tjoelker
087a839962 Add spambot check changes to NEWS. 2010-02-21 23:15:07 +01:00
Jilles Tjoelker
ff91faaf76 Do not penalize for spambot checks if creating a new channel. 2010-02-21 01:45:51 +01:00
Jilles Tjoelker
981586df2b spambot checks: Fix excessive expiry in some cases. 2010-02-21 01:29:41 +01:00
Jilles Tjoelker
4eb9a3ca0b JOIN 0: Make spambot check equivalent to PART's. 2010-02-21 01:12:04 +01:00
Jilles Tjoelker
9148f6aa7c Remove dead code: last_join_time is already updated by check_spambot_warning(). 2010-02-21 01:10:04 +01:00
Jilles Tjoelker
cf3564d61f Do not check for spambot if the user is not allowed to join the channel. 2010-02-21 01:07:32 +01:00
Jilles Tjoelker
b2d64e51f0 Fix a memory leak with client certificates. 2010-02-19 16:55:15 +01:00
William Pitcock
dbcd150bce Do not try to free the alias dict if it does not exist. 2010-02-18 18:38:26 -06:00
William Pitcock
7ef7663502 Automated merge with ssh://hg.atheme.org//hg/charybdis 2010-02-18 18:11:32 -06:00
William Pitcock
7472e54da1 Fix libtool build issue. 2010-02-18 18:11:23 -06:00
Jilles Tjoelker
fad065bb95 challenge: Fix build. 2010-02-18 23:42:07 +01:00
William Pitcock
bb86b59086 Added tag proposed-charybdis-3.2.0 for changeset 7450d2086b3a 2010-02-18 07:35:05 -06:00
William Pitcock
bf8483b1d3 Removed tag proposed-charybdis-3.2.0 2010-02-18 07:35:01 -06:00
William Pitcock
a8560affce Documentation updates for the ip_cloaking_4.0 transition. 2010-02-18 07:34:40 -06:00
William Pitcock
4cbfc368b4 Add ip_cloaking_4.0 module, which is the same cloaking as 3.2, but moves the usermode from +h to +x,
which allows us to start transitioning this usermode change.
2010-02-18 07:30:26 -06:00