]>
jfr.im git - solanum.git/log
William Pitcock [Sat, 17 Mar 2012 14:48:25 +0000 (09:48 -0500)]
libratbox: make defer_accept optional.
William Pitcock [Sat, 17 Mar 2012 14:16:39 +0000 (09:16 -0500)]
libratbox: add support for TCP_DEFER_ACCEPT on linux
This allows for some further hardening against synflooding and connection flooding
where no data is actually sent, as the kernel will simply ignore those connections
(well, as far as the ircd is concerned anyway).
Jilles Tjoelker [Wed, 14 Mar 2012 23:58:56 +0000 (00:58 +0100)]
strip_colour: Prefer IsDigit to isdigit.
Unlike isdigit, IsDigit can safely be applied to 'char's.
Arguments to isdigit needs a character cast to 'unsigned char' or EOF.
Jilles Tjoelker [Wed, 14 Mar 2012 23:17:40 +0000 (00:17 +0100)]
When stripping colour/control codes, also strip \004.
Some clients such as irssi interpret \004 as colour or other markup.
Jilles Tjoelker [Wed, 14 Mar 2012 22:20:05 +0000 (23:20 +0100)]
Apply special CTCP handling to messages to @/+ channel as well:
* +C cmode blocks CTCPs
* CTCPs to large channels relax some flood protection to allow all
answers through.
Jilles Tjoelker [Wed, 14 Mar 2012 22:04:30 +0000 (23:04 +0100)]
Apply colour stripping (cmode +c) to messages to @/+ channel as well.
Jilles Tjoelker [Tue, 13 Mar 2012 21:41:39 +0000 (22:41 +0100)]
Specify more about IP addresses in TS6 protocol document.
Jilles Tjoelker [Tue, 6 Mar 2012 23:39:03 +0000 (00:39 +0100)]
Fix RSFNC parameter order in TS6 protocol document.
William Pitcock [Sun, 4 Mar 2012 23:25:17 +0000 (17:25 -0600)]
Merge branch 'master' of git.atheme.org:/gitroot/charybdis
William Pitcock [Sun, 4 Mar 2012 23:25:01 +0000 (17:25 -0600)]
m_remove: Don't use capability_require().
Jilles Tjoelker [Sat, 3 Mar 2012 22:45:52 +0000 (23:45 +0100)]
Keep forward channels in sync after a netjoin.
Arbitrarily prefer a forward channel to no forward channel and an
alphabetically higher forward channel to a lower one.
This is a simplistic implementation that generates one MODE message to
local clients for each ban removed (to be replaced).
For simplicity and to avoid amplification of incoming MODE messages,
regular modes may still desync the forward channel of a ban.
Nathan Phillip Brink [Sat, 3 Mar 2012 03:30:34 +0000 (03:30 +0000)]
Fix typo `User' => `Use'.
Nathan Phillip Brink [Fri, 2 Mar 2012 01:51:30 +0000 (01:51 +0000)]
Detect a potential infinite loop in ./configure in AC_DEFINE_DIR.
Fixes the changes made to AC_DEFINE_DIR in
c74836dc4a5bde1e0bf38da58053bf5f28da8ff5 .
Nathan Phillip Brink [Fri, 2 Mar 2012 01:11:42 +0000 (01:11 +0000)]
Fix inconsistency between --sysconfdir and --with-confdir, deprecate --with-confdir.
The inconsistency was created in
c74836dc4a5bde1e0bf38da58053bf5f28da8ff5 where genssl.sh.in was made
to use sysconfdir while the IRCd and buildsystem still used confdir.
Nathan Phillip Brink [Thu, 1 Mar 2012 03:51:33 +0000 (03:51 +0000)]
Run make depend.
Nathan Phillip Brink [Thu, 1 Mar 2012 03:49:35 +0000 (03:49 +0000)]
Run autoconf and autoheader.
Nathan Phillip Brink [Thu, 1 Mar 2012 03:39:54 +0000 (03:39 +0000)]
Fix bandb's interaction with --enable-fhs-paths by storing ban.db in the correct directory, pkglocalstatedir.
Nathan Phillip Brink [Thu, 1 Mar 2012 02:41:09 +0000 (02:41 +0000)]
Add explicit support for being installed into a system triggered with --enable-fhs-paths.
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.
Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.
Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
Nathan Phillip Brink [Wed, 29 Feb 2012 07:43:54 +0000 (07:43 +0000)]
Fix viconf's dependencies on setup.h and config.h.
Nathan Phillip Brink [Tue, 28 Feb 2012 06:51:57 +0000 (06:51 +0000)]
Do not unconditionally create a `help-old' folder during installation.
Nathan Phillip Brink [Tue, 28 Feb 2012 06:40:18 +0000 (06:40 +0000)]
During installation, don't unconditionally create an empty `modules-old' directory.
Nathan Phillip Brink [Thu, 14 Jul 2011 12:23:33 +0000 (08:23 -0400)]
Fix parallel compilation issue when building lexer/parser.
Nathan Phillip Brink [Thu, 14 Jul 2011 00:23:34 +0000 (20:23 -0400)]
Use LDFLAGS when compiling extensions or modules.
William Pitcock [Wed, 22 Feb 2012 03:09:49 +0000 (21:09 -0600)]
Merge branch 'master' of git.atheme.org:/gitroot/charybdis
William Pitcock [Wed, 22 Feb 2012 03:09:33 +0000 (21:09 -0600)]
Ensure AWAY pacing only affects local clients.
Jilles Tjoelker [Tue, 21 Feb 2012 20:01:19 +0000 (21:01 +0100)]
Remove dummies, given that ratelimit already broke the ABI once.
As with ratelimit, ircd/modules before and after this commit
are incompatible, but not detected as such.
William Pitcock [Tue, 21 Feb 2012 15:15:15 +0000 (09:15 -0600)]
numeric: reserve RPL_SASLMECHS (908)
Jilles Tjoelker [Sat, 18 Feb 2012 15:35:31 +0000 (16:35 +0100)]
Don't end the flood grace period with the first AWAY.
This allows clients to restore an away message early in the connection
process without breaking flood grace.
Jilles Tjoelker [Sat, 18 Feb 2012 15:32:57 +0000 (16:32 +0100)]
Pace aways.
This becomes important because of away-notify sending aways to common
channels much like nick changes (which are also paced).
Marking as unaway is not limited (but obviously only does something if the
user was away before). To allow users to fix typos in away messages, two
aways are allowed in sequence if away has not been used recently.
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.