Nathan Phillip Brink
414c5f7d9b
Fix parallel compilation issue when building lexer/parser.
2012-02-28 04:36:00 +00:00
William Pitcock
63a0ed0604
numeric: reserve RPL_SASLMECHS (908)
2012-02-21 09:15:15 -06:00
Jilles Tjoelker
d42e6915cf
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.
2012-02-18 16:32:57 +01:00
Keith Buck
e88a1f1b15
Add ratelimit for high-bandwidth commands.
2012-02-18 03:54:44 +00:00
Jilles Tjoelker
7f0fc87d3c
Include forward channels when bursting bans to servers.
...
Obtained from: ircd-seven (spb)
2012-02-16 23:36:05 +01:00
Keith Buck
c5bbc60375
Add away-notify client capability.
2012-02-14 14:15:44 +00:00
Keith Buck
3e910a1847
chmode.c: Fix bug in printing removed bans.
2012-02-06 16:38:10 +00:00
William Pitcock
a16910aa4e
capability: add capability_index_stats() for getting statistics about the capability broker system
2012-02-04 21:27:43 -06:00
William Pitcock
885cd603b5
capability: add global list of capability indexes, and name all capability indexes
2012-02-04 21:16:40 -06:00
Jilles Tjoelker
bde42c6063
Don't shadow the name "index".
2012-02-04 15:15:26 +01:00
William Pitcock
8bedf01d19
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.
2012-02-04 05:23:15 -06:00
William Pitcock
e915e51f4d
capability: don't use DictionaryIter internals.
...
it's just ugly now that we're providing our own copies of keys.
2012-02-04 05:13:04 -06:00
William Pitcock
e679e38906
capability: do not use strings provided by modules for keyword index, instead duplicate the keyword.
2012-02-04 04:47:37 -06:00
William Pitcock
f01f67f0ad
capability: add capability_require().
2012-02-04 02:00:33 -06:00
William Pitcock
0582290f21
capability: missed one
2012-02-04 01:58:07 -06:00
William Pitcock
5058c8ebce
capability: change CapabilityIndex.orphaned to (CapabilityIndex.flags & CAP_ORPHANED)
...
This makes it possible to add other flags to capabilities.
2012-02-04 01:55:11 -06:00
William Pitcock
346fba9252
Migrate capability negotiation code to new dynamic capability management API.
...
This needs a lot of testing, obviously.
2012-02-04 01:47:46 -06:00
William Pitcock
ec3a9055f2
capability: add capability_index_mask() which calculates old CAP_MASK
2012-02-04 00:39:53 -06:00
William Pitcock
5e773521a9
capability: add capability_index_list() to build a list of capabilities given an index and mask
2012-02-04 00:36:42 -06:00
William Pitcock
64b56afd8c
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.
2012-02-04 00:05:13 -06:00
William Pitcock
481b443b4d
Missed a few -Wformat-security warnings.
2012-01-25 13:24:04 -06:00
William Pitcock
32ea9d3d83
Fix some warnings when using -Wformat-security on Alpine.
2012-01-25 13:22:56 -06:00
Jilles Tjoelker
1c60de9757
Check +bq against underlying IPv4 as well.
...
As with k/dlines, exceptions (here +eI) are not checked.
2012-01-08 16:39:11 +01:00
Jilles Tjoelker
fe74401bf0
Add one more const.
2012-01-08 16:25:34 +01:00
Jilles Tjoelker
d9af501aa8
Fix a warning about const with forward channels.
2012-01-08 16:23:18 +01:00
Jilles Tjoelker
a14de124d6
Remove code duplication between is_banned() and is_quieted().
2012-01-08 16:21:07 +01:00
Jilles Tjoelker
d006b551c8
Check k/dlines against underlying IPv4 as well.
2012-01-08 15:51:48 +01:00
Jilles Tjoelker
ae52fe0ff7
Show underlying IPv4 in a remote whois.
2012-01-08 15:51:48 +01:00
Jilles Tjoelker
524a5b3ac7
Add code to get IPv4 addresses from 6to4 and Teredo IPv6 addresses.
...
It is not used yet.
2012-01-08 15:51:44 +01:00
Jilles Tjoelker
be0365e152
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.
2011-12-18 23:24:22 +01:00
Jilles Tjoelker
f2edb2be59
Disallow '$' in forward targets only, rather than all channel names.
2011-12-11 16:56:37 +01:00
Jilles Tjoelker
e238d01db9
If use_forward is off, ignore forwarding bans rather than stripping the channel.
...
We do not want to set $r:* if $r:*$* was requested.
2011-12-10 17:17:13 +01:00
Jilles Tjoelker
5efa7ef677
Do not allow forward channels for +qeI, as in ircd-seven.
2011-12-10 00:58:08 +01:00
Jilles Tjoelker
e1dc9e549f
Apply the same restrictions to ban forwarding as to +f.
2011-12-10 00:45:57 +01:00
Jilles Tjoelker
0c7303213e
Move checks for forward channels to a separate function.
...
No functional change is intended.
2011-12-10 00:40:07 +01:00
Jilles Tjoelker
0ea417c4a4
Disallow $ in usernames as this may cause problems with ban forwarding.
2011-12-06 00:01:59 +01:00
Jilles Tjoelker
ca8ff4830b
Force nicklen (all flavours) to be at least 9.
2011-11-29 23:41:18 +01:00
William Pitcock
c68d30f70b
Switch to ircu NICKLEN/MAXNICKLEN semantics.
...
Clients should use MAXNICKLEN for preallocation, and NICKLEN should be treated as
informative.
2011-11-29 16:24:48 -06:00
William Pitcock
a83486bfe6
Remove nicklen_set barrier.
...
Since serverinfo::nicklen only controls NICKLEN_USABLE, we do not need to have a
barrier here.
2011-11-29 16:19:37 -06:00
William Pitcock
7b42eab627
Make sure ConfigFileEntry.nicklen follows the same semantics as real NICKLEN.
...
Otherwise, truncation would be one byte too short on nick changes.
2011-11-29 16:16:38 -06:00
William Pitcock
b583faf970
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.
2011-11-29 16:10:21 -06:00
Jilles Tjoelker
0cce01d388
Fix -Wformat errors found in ircd-ratbox.
...
We cannot use -Wformat meaningfully but ircd-ratbox trunk can.
2011-11-13 00:22:09 +01:00
Stephen Bennett
a695b0e40e
Apply extended-join client cap to QJM joins
2011-11-12 14:41:01 +00:00
Jilles Tjoelker
d74fa5b502
Prefer PATH_MAX to non-standard MAXPATHLEN.
2011-10-28 16:45:18 +02:00
Jilles Tjoelker
c55b2782fc
Properly update 004/005 when a rehash changes use_forward.
2011-10-25 00:38:27 +02:00
Stephen Bennett
717f809762
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.
2011-10-24 19:59:31 +01:00
Jilles Tjoelker
db6b1735cf
ilog_error: Avoid overwriting errno before sending it to opers.
2011-10-21 23:21:22 +02:00
Jilles Tjoelker
894325fe41
Force client_flood_burst_rate and client_flood_burst_rate to at least rfc1459 values (5).
2011-10-04 22:16:01 +02:00
Jilles Tjoelker
5a72f20c2c
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.
2011-10-04 01:08:12 +02:00
Jilles Tjoelker
a75bf40dad
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.
2011-10-04 00:57:49 +02:00