William Pitcock
c918eb5799
m_remove: Don't use capability_require().
2012-03-04 17:25:01 -06:00
William Pitcock
ac37f16a3d
m_stats: iterate capability indexes on /stats C
2012-02-04 21:33:54 -06: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
William Pitcock
deee7b4388
m_remove: fix parameter order on PART message
2012-02-04 18:49:46 -06:00
Jilles Tjoelker
bde42c6063
Don't shadow the name "index".
2012-02-04 15:15:26 +01:00
Jilles Tjoelker
63dd387b13
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.
2012-02-04 15:02: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
806402515b
m_server: make sure required_caps is non-zero.
2012-02-04 04:39:39 -06:00
William Pitcock
54bec06e97
Re-libtoolize.
2012-02-04 04:18:48 -06:00
William Pitcock
a949ab1a1c
configure: set version to charybdis 3.4.0-dev
2012-02-04 04:14:20 -06:00
William Pitcock
925c50efea
Add implementation of /REMOVE, based on ircd-seven implementation.
2012-02-04 02:20:56 -06:00
William Pitcock
79d488b283
m_server: reenable required cap negotiation
2012-02-04 02:03:52 -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
Keith Buck
4862f41a02
extban : Correct logic for matching against permissions.
2012-01-24 17:13:32 +00:00
JD Horelick
a8eae73002
extb_usermode should declare itself as what it actually is.
2012-01-22 13:56:25 -05:00
William Pitcock
655e7dee45
extban $o: add support for matching against specific permissions.
...
Syntax: $o:oper:admin (match against the oper:admin permission)
2012-01-22 04:05:34 -06:00
William Pitcock
11f2e78727
extb_usermode: should use EXTBAN_INVALID if no modestring is provided
2012-01-22 03:58:32 -06:00
William Pitcock
0b18e32cad
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)
2012-01-22 03:46:08 -06:00
Jilles Tjoelker
97532cfafb
Fix assertion failure when failing to join a channel and there is no forward.
...
This was harmless apart from the message.
2012-01-08 16:41:26 +01: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
Keith Buck
9319a2e206
Remove double-quote restriction on dline, kline, resv, and xline reasons; remove colon restriction on xline reasons.
2011-12-30 17:29:58 +00:00
Jilles Tjoelker
adcec062ce
'monitor s' output does not end with RPL_ENDOFMONLIST.
2011-12-21 21:29:46 +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
Keith Buck
c459d23ba9
Clarify documentation for cmode +c
2011-12-01 03:38:19 +00:00
Keith Buck
6e098ed550
Add tags to .gitignore
2011-12-01 03:25:32 +00:00
Jilles Tjoelker
cf5337395c
Rerun autoconf.
2011-11-29 23:41:30 +01:00
Jilles Tjoelker
ca8ff4830b
Force nicklen (all flavours) to be at least 9.
2011-11-29 23:41:18 +01:00