]>
jfr.im git - solanum.git/log
Keith Buck [Sat, 18 Feb 2012 05:16:03 +0000 (05:16 +0000)]
ip_cloaking*: Do qjm locally too.
Keith Buck [Sat, 18 Feb 2012 03:56:47 +0000 (03:56 +0000)]
ratelimit: Add rate-limiting to MOTD, WHO, and remote WHOIS.
Keith Buck [Sat, 18 Feb 2012 03:54:44 +0000 (03:54 +0000)]
Add ratelimit for high-bandwidth commands.
Jilles Tjoelker [Thu, 16 Feb 2012 23:36:12 +0000 (00:36 +0100)]
Remove some TS5 code from ms_bmask().
ms_bmask() used to send MODE messages to TS5 servers, but
TS5 support was removed long ago.
Jilles Tjoelker [Thu, 16 Feb 2012 23:09:39 +0000 (00:09 +0100)]
Send forward channel when bans are added/removed because of TS/bursts.
If a netburst adds bans or a channel TS change removes bans, +b/-b modes
are generated. Make sure these contain the forward channel, if any.
This appears also broken in ircd-seven.
Jilles Tjoelker [Thu, 16 Feb 2012 22:36:05 +0000 (23:36 +0100)]
Include forward channels when bursting bans to servers.
Obtained from: ircd-seven (spb)
Jilles Tjoelker [Tue, 14 Feb 2012 22:14:42 +0000 (23:14 +0100)]
Do not send unchanged away messages to other users via away-notify.
William Pitcock [Tue, 14 Feb 2012 14:22:34 +0000 (08:22 -0600)]
CREDITS: Move mr_flea to committers section.
Keith Buck [Tue, 14 Feb 2012 14:15:44 +0000 (14:15 +0000)]
Add away-notify client capability.
Jilles Tjoelker [Sat, 11 Feb 2012 22:17:04 +0000 (23:17 +0100)]
Allow opers to do /stats C.
In particular, this allows remote /stats C.
Jilles Tjoelker [Sat, 4 Feb 2012 17:46:28 +0000 (18:46 +0100)]
Allow normal users to do PRIVS on themselves.
This basically shows a subset of the information shown by the notices
on connect like "*** You are exempt from K/X lines".
Keith Buck [Mon, 6 Feb 2012 16:38:10 +0000 (16:38 +0000)]
chmode.c: Fix bug in printing removed bans.
William Pitcock [Sun, 5 Feb 2012 03:33:54 +0000 (21:33 -0600)]
m_stats: iterate capability indexes on /stats C
William Pitcock [Sun, 5 Feb 2012 03:27:43 +0000 (21:27 -0600)]
capability: add capability_index_stats() for getting statistics about the capability broker system
William Pitcock [Sun, 5 Feb 2012 03:16:40 +0000 (21:16 -0600)]
capability: add global list of capability indexes, and name all capability indexes
William Pitcock [Sun, 5 Feb 2012 00:49:46 +0000 (18:49 -0600)]
m_remove: fix parameter order on PART message
Jilles Tjoelker [Sat, 4 Feb 2012 14:15:26 +0000 (15:15 +0100)]
Don't shadow the name "index".
Jilles Tjoelker [Sat, 4 Feb 2012 14:02:17 +0000 (15:02 +0100)]
Require all modes to be set for + part in $m extban.
This is like the - part requiring none of the modes to be set and is more
useful because the old behaviour can be emulated with multiple bans.
William Pitcock [Sat, 4 Feb 2012 11:23:15 +0000 (05:23 -0600)]
capability: store capability bit entries with actual bit numbers, instead of as an expanded mask
This makes accounting of number of bits allocated easier. Specifically, the amount of allocated
bits is computed by doing (index->highest_bit - 1) in code.
William Pitcock [Sat, 4 Feb 2012 11:13:04 +0000 (05:13 -0600)]
capability: don't use DictionaryIter internals.
it's just ugly now that we're providing our own copies of keys.
William Pitcock [Sat, 4 Feb 2012 10:47:37 +0000 (04:47 -0600)]
capability: do not use strings provided by modules for keyword index, instead duplicate the keyword.
William Pitcock [Sat, 4 Feb 2012 10:39:39 +0000 (04:39 -0600)]
m_server: make sure required_caps is non-zero.
William Pitcock [Sat, 4 Feb 2012 10:18:48 +0000 (04:18 -0600)]
Re-libtoolize.
William Pitcock [Sat, 4 Feb 2012 10:14:20 +0000 (04:14 -0600)]
configure: set version to charybdis 3.4.0-dev
William Pitcock [Sat, 4 Feb 2012 08:20:56 +0000 (02:20 -0600)]
Add implementation of /REMOVE, based on ircd-seven implementation.
William Pitcock [Sat, 4 Feb 2012 08:03:52 +0000 (02:03 -0600)]
m_server: reenable required cap negotiation
William Pitcock [Sat, 4 Feb 2012 08:00:33 +0000 (02:00 -0600)]
capability: add capability_require().
William Pitcock [Sat, 4 Feb 2012 07:58:07 +0000 (01:58 -0600)]
capability: missed one
William Pitcock [Sat, 4 Feb 2012 07:55:11 +0000 (01:55 -0600)]
capability: change CapabilityIndex.orphaned to (CapabilityIndex.flags & CAP_ORPHANED)
This makes it possible to add other flags to capabilities.
William Pitcock [Sat, 4 Feb 2012 07:47:46 +0000 (01:47 -0600)]
Migrate capability negotiation code to new dynamic capability management API.
This needs a lot of testing, obviously.
William Pitcock [Sat, 4 Feb 2012 06:39:53 +0000 (00:39 -0600)]
capability: add capability_index_mask() which calculates old CAP_MASK
William Pitcock [Sat, 4 Feb 2012 06:36:42 +0000 (00:36 -0600)]
capability: add capability_index_list() to build a list of capabilities given an index and mask
William Pitcock [Sat, 4 Feb 2012 05:58:53 +0000 (23:58 -0600)]
Add a new dynamic capability manager.
Specifically, what this capability manager does, is map keywords to
calculated bitmasks. These bitmasks are allocated at runtime, so that
the any managed capability index can be manipulated by modules.
Modules should call capability_orphan() when orphaning capabilities. This
makes it so that bitmasks aren't reallocated, except for cases where the
capability is the same.
William Pitcock [Wed, 25 Jan 2012 19:24:04 +0000 (13:24 -0600)]
Missed a few -Wformat-security warnings.
William Pitcock [Wed, 25 Jan 2012 19:22:35 +0000 (13:22 -0600)]
Fix some warnings when using -Wformat-security on Alpine.
Keith Buck [Tue, 24 Jan 2012 17:13:32 +0000 (17:13 +0000)]
extban : Correct logic for matching against permissions.
JD Horelick [Sun, 22 Jan 2012 18:56:25 +0000 (13:56 -0500)]
extb_usermode should declare itself as what it actually is.
William Pitcock [Sun, 22 Jan 2012 10:05:34 +0000 (04:05 -0600)]
extban $o: add support for matching against specific permissions.
Syntax: $o:oper:admin (match against the oper:admin permission)
William Pitcock [Sun, 22 Jan 2012 09:58:32 +0000 (03:58 -0600)]
extb_usermode: should use EXTBAN_INVALID if no modestring is provided
William Pitcock [Sun, 22 Jan 2012 09:46:08 +0000 (03:46 -0600)]
Add extban target for matching against a user's modes.
Syntax: $m:+o (require usermode +o)
Syntax: $m:+o-a (require usermode +o but do not allow +a)
Syntax: $m:+a (require usermode +a)
Syntax: $m:-h (require user disables cloaking to enter)
Jilles Tjoelker [Sun, 8 Jan 2012 15:41:26 +0000 (16:41 +0100)]
Fix assertion failure when failing to join a channel and there is no forward.
This was harmless apart from the message.
Jilles Tjoelker [Sun, 8 Jan 2012 15:39:11 +0000 (16:39 +0100)]
Check +bq against underlying IPv4 as well.
As with k/dlines, exceptions (here +eI) are not checked.
Jilles Tjoelker [Sun, 8 Jan 2012 15:25:34 +0000 (16:25 +0100)]
Add one more const.
Jilles Tjoelker [Sun, 8 Jan 2012 15:23:18 +0000 (16:23 +0100)]
Fix a warning about const with forward channels.
Jilles Tjoelker [Sun, 8 Jan 2012 15:21:07 +0000 (16:21 +0100)]
Remove code duplication between is_banned() and is_quieted().
Jilles Tjoelker [Sun, 8 Jan 2012 14:51:15 +0000 (15:51 +0100)]
Check k/dlines against underlying IPv4 as well.
Jilles Tjoelker [Sun, 8 Jan 2012 14:30:18 +0000 (15:30 +0100)]
Show underlying IPv4 in a remote whois.
Jilles Tjoelker [Sun, 8 Jan 2012 14:27:26 +0000 (15:27 +0100)]
Add code to get IPv4 addresses from 6to4 and Teredo IPv6 addresses.
It is not used yet.
Keith Buck [Fri, 30 Dec 2011 17:29:58 +0000 (17:29 +0000)]
Remove double-quote restriction on dline, kline, resv, and xline reasons; remove colon restriction on xline reasons.
Jilles Tjoelker [Wed, 21 Dec 2011 20:29:46 +0000 (21:29 +0100)]
'monitor s' output does not end with RPL_ENDOFMONLIST.
Jilles Tjoelker [Sun, 18 Dec 2011 22:24:22 +0000 (23:24 +0100)]
Add an error message if a ban mask is invalid.
This is given if the ban mask is too long, it is an invalid extban or the
forward channel is invalid and no other message has been given about that.
Jilles Tjoelker [Sun, 11 Dec 2011 15:56:37 +0000 (16:56 +0100)]
Disallow '$' in forward targets only, rather than all channel names.
Jilles Tjoelker [Sat, 10 Dec 2011 16:17:13 +0000 (17:17 +0100)]
If use_forward is off, ignore forwarding bans rather than stripping the channel.
We do not want to set $r:* if $r:*$* was requested.
Jilles Tjoelker [Fri, 9 Dec 2011 23:58:08 +0000 (00:58 +0100)]
Do not allow forward channels for +qeI, as in ircd-seven.
Jilles Tjoelker [Fri, 9 Dec 2011 23:45:57 +0000 (00:45 +0100)]
Apply the same restrictions to ban forwarding as to +f.
Jilles Tjoelker [Fri, 9 Dec 2011 23:40:07 +0000 (00:40 +0100)]
Move checks for forward channels to a separate function.
No functional change is intended.
Jilles Tjoelker [Mon, 5 Dec 2011 23:01:08 +0000 (00:01 +0100)]
Disallow $ in usernames as this may cause problems with ban forwarding.
Keith Buck [Thu, 1 Dec 2011 03:38:19 +0000 (03:38 +0000)]
Clarify documentation for cmode +c
Keith Buck [Thu, 1 Dec 2011 03:25:32 +0000 (03:25 +0000)]
Add tags to .gitignore
Jilles Tjoelker [Tue, 29 Nov 2011 22:41:30 +0000 (23:41 +0100)]
Rerun autoconf.
Jilles Tjoelker [Tue, 29 Nov 2011 22:41:18 +0000 (23:41 +0100)]
Force nicklen (all flavours) to be at least 9.
Jilles Tjoelker [Tue, 29 Nov 2011 22:32:10 +0000 (23:32 +0100)]
Change default --with-nicklen to 31, like atheme-services.
William Pitcock [Tue, 29 Nov 2011 22:24:48 +0000 (16:24 -0600)]
Switch to ircu NICKLEN/MAXNICKLEN semantics.
Clients should use MAXNICKLEN for preallocation, and NICKLEN should be treated as
informative.
William Pitcock [Tue, 29 Nov 2011 22:19:37 +0000 (16:19 -0600)]
Remove nicklen_set barrier.
Since serverinfo::nicklen only controls NICKLEN_USABLE, we do not need to have a
barrier here.
William Pitcock [Tue, 29 Nov 2011 22:16:38 +0000 (16:16 -0600)]
Make sure ConfigFileEntry.nicklen follows the same semantics as real NICKLEN.
Otherwise, truncation would be one byte too short on nick changes.
William Pitcock [Tue, 29 Nov 2011 22:10:21 +0000 (16:10 -0600)]
Add support for customizing the usable nick length.
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings. As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.
The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
William Pitcock [Tue, 29 Nov 2011 21:50:54 +0000 (15:50 -0600)]
Fix potential buffer-overflow from malformed RSFNC request.
Jilles Tjoelker [Sat, 12 Nov 2011 23:22:09 +0000 (00:22 +0100)]
Fix -Wformat errors found in ircd-ratbox.
We cannot use -Wformat meaningfully but ircd-ratbox trunk can.
Stephen Bennett [Sat, 12 Nov 2011 14:41:01 +0000 (14:41 +0000)]
Apply extended-join client cap to QJM joins
Jilles Tjoelker [Tue, 1 Nov 2011 21:07:32 +0000 (22:07 +0100)]
Remove an obsolete TS5 reference.
Jilles Tjoelker [Fri, 28 Oct 2011 14:45:18 +0000 (16:45 +0200)]
Prefer PATH_MAX to non-standard MAXPATHLEN.
Jilles Tjoelker [Mon, 24 Oct 2011 22:38:27 +0000 (00:38 +0200)]
Properly update 004/005 when a rehash changes use_forward.
Stephen Bennett [Mon, 24 Oct 2011 18:59:31 +0000 (19:59 +0100)]
Don't treat +r specially when displaying supported channel modes.
This used to be only advertised if a service was linked, which made
sense in ratbox when +r was only settable if services were available.
Now, however, +r is always available and so should always be advertised.
Jilles Tjoelker [Fri, 21 Oct 2011 21:21:22 +0000 (23:21 +0200)]
ilog_error: Avoid overwriting errno before sending it to opers.
Jilles Tjoelker [Tue, 4 Oct 2011 20:16:01 +0000 (22:16 +0200)]
Force client_flood_burst_rate and client_flood_burst_rate to at least rfc1459 values (5).
Jilles Tjoelker [Mon, 3 Oct 2011 23:08:12 +0000 (01:08 +0200)]
Limit sent_parsed to the highest possible value in the current config.
After a configuration change (or deoper with no_oper_flood) sent_parsed
might be way higher than allow_read, so that the user would have to wait
a long time before the server responds. Avoid this.
Jilles Tjoelker [Mon, 3 Oct 2011 22:57:49 +0000 (00:57 +0200)]
Fix weirdness with client_flood_burst_rate and client_flood_burst_max.
They are now in messages, even if client_flood_message_time is not 1.
If client_flood_message_time is not 1 (by default it is), this needs a
configuration change to maintain the same behaviour.
Jilles Tjoelker [Mon, 3 Oct 2011 22:46:00 +0000 (00:46 +0200)]
Minor cleanup to command throttling code:
* Deduce allow_read from the client's state (IsFloodDone) rather than
storing it in LocalUser.
* Fix the documentation (in oper /info), however strange
client_flood_burst_rate and client_flood_burst_max may seem, that is
how they currently work.
Jilles Tjoelker [Mon, 3 Oct 2011 22:25:22 +0000 (00:25 +0200)]
Disable LocalUser.actually_read (write-only field).
Jilles Tjoelker [Mon, 3 Oct 2011 22:21:19 +0000 (00:21 +0200)]
Fold client_flood_burst_rate check into MAX_FLOOD_BURST.
The original definition of floodgrace was MAX_FLOOD_BURST lines per second.
A second check for another number of lines per second makes no sense.
Jilles Tjoelker [Mon, 3 Oct 2011 22:13:53 +0000 (00:13 +0200)]
Enforce the average allowed send rate is at least the one allowed by rfc1459.
Jilles Tjoelker [Sun, 25 Sep 2011 15:26:01 +0000 (17:26 +0200)]
If use_forward=no, ignore any forwarding for joins by local users.
Jilles Tjoelker [Sun, 25 Sep 2011 14:25:17 +0000 (16:25 +0200)]
Make sure to check the length of a ban mask before removing a forward channel.
Otherwise a line might be truncated later, leading to desyncs.
Jilles Tjoelker [Sun, 25 Sep 2011 14:22:29 +0000 (16:22 +0200)]
Put back use_forward.
Jilles Tjoelker [Tue, 13 Sep 2011 22:52:56 +0000 (00:52 +0200)]
Fix double-free when removing a ban.
del_id() should not free the ban anymore, its caller does that now.
Jilles Tjoelker [Tue, 30 Aug 2011 23:04:04 +0000 (01:04 +0200)]
Ensure all signals keep working after a SIGINT restart.
After setting up signal handlers, unmask the signals we care about
(installed handlers for).
When handling SIGINT, the kernel adds SIGHUP and SIGINT to the signal
mask (as requested in sigaction()); if execve() is called from the
signal handler, this change is persistent.
Keith Buck [Thu, 18 Aug 2011 03:48:40 +0000 (03:48 +0000)]
m_resv.c: replace erroneous UNXLINE cluster calls with UNRESV.
Elizabeth Jennifer Myers [Sat, 13 Aug 2011 01:27:52 +0000 (21:27 -0400)]
Fix git fuckery.
Apparently my tree got horribly corrupted.
Elizabeth Jennifer Myers [Sat, 13 Aug 2011 01:09:13 +0000 (21:09 -0400)]
chmode: fix construct_cflags_strings.
Accidentally ported too much from ircd-seven. Fix this.
Elizabeth Jennifer Myers [Sat, 13 Aug 2011 00:33:10 +0000 (20:33 -0400)]
Port ircd-seven banfowards to charybdis.
nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb
for a while, and people have asked about it. Might as well do it since it's a
slow weekend.
Note that as a side effect use_forward is removed from the config and
unconditionally enabled!
Jilles Tjoelker [Sun, 7 Aug 2011 20:10:12 +0000 (22:10 +0200)]
override: Send notice when overriding can_send.
Also ensure no session deadline is maintained for a remote client.
Jilles Tjoelker [Sun, 7 Aug 2011 20:04:16 +0000 (22:04 +0200)]
Remove a stale comment.
Elizabeth Jennifer Myers [Tue, 26 Jul 2011 03:38:56 +0000 (23:38 -0400)]
Remove #define KEY from ip_cloaking modules.
I meant to do this 3 years ago when I rewrote the cloaking modules. I
never got around to it. Now I am. :p
Also add some basic comment headers whilst I'm here.
Elizabeth Jennifer Myers [Tue, 26 Jul 2011 03:36:00 +0000 (23:36 -0400)]
Update my email.
Elizabeth Jennifer Myers [Tue, 26 Jul 2011 03:32:36 +0000 (23:32 -0400)]
bandb/makefile.in: Add bantool to make clean.
Elizabeth Jennifer Myers [Fri, 8 Jul 2011 01:24:14 +0000 (21:24 -0400)]
Back out chanroles.
While what chanroles are trying to accomplish is a good idea, it is
apparently unclear this is the proper way to do it. Until we figure out
the exact way we wish to do this, it should be reverted for now.
Elizabeth Jennifer Myers [Wed, 6 Jul 2011 22:14:57 +0000 (18:14 -0400)]
Partially revert
e794d39a8053005fdd2835d6206a88cc23262f8d .
As jilles pointed out, it is best that the chanserv access list always
remain synced with the grant list. Thus, the ability for clients to set
this is not a good idea unless services knows about the grant, but this
leads to all sorts of messy issues and likely isn't worth it.
Elizabeth Jennifer Myers [Wed, 6 Jul 2011 21:25:26 +0000 (17:25 -0400)]
Add client interface for GRANT.
TODO: implement notifications of grant privilege changes to the target.
William Pitcock [Wed, 6 Jul 2011 20:16:38 +0000 (15:16 -0500)]
Update TODO.
William Pitcock [Wed, 6 Jul 2011 20:12:46 +0000 (15:12 -0500)]
chanroles: instead of checking for chanop + CHANROLE_UNSET combination, grant a default set of flags.
this allows ops with zero effective privilege.