solanum-vs-hackint-and-char.../ircd
Ed Kellett 04952c32ad Rework channel mode handling
Incoming MODE processing is split into a parsing step and an execution
step, instead of a mode's effector function being involved in its own
parsing. Modes can no longer use custom logic to control their parsing,
and instead supply a combination of CHM_* flags to the parser. As a
result, we know before we try to effect any mode changes what all of
them will be.

The reauthorize hack for override is no longer necessary. A side effect
of its introduction was that `MODE #foo b x!y@z` no longer worked; in
removing it we restore that behaviour.

We gain the ability to reject various invalid inputs that:
- mutate or query unknown modes
- supply excess mode arguments
- query modes that can't be queried

In each case, whether we *should* reject it is an open question; for now
I'm rejecting the first one.
2020-11-08 00:26:27 +00:00
..
authproc.c authproc: Don't try to notice dead clients 2020-10-28 21:34:56 +00:00
bandbi.c Refactor clear_out_address_conf* 2020-10-31 16:00:02 +00:00
cache.c
capability.c
channel.c Refactor common channel iteration 2020-10-19 20:15:26 +01:00
chmode.c Rework channel mode handling 2020-11-08 00:26:27 +00:00
class.c
client.c Innovation by sed 2020-10-15 15:52:41 +01:00
dns.c
extban.c Innovation by sed 2020-10-15 15:52:41 +01:00
getopt.c
hash.c
hook.c Add a cap_change hook 2020-10-24 16:19:52 +01:00
hostmask.c Refactor clear_out_address_conf* 2020-10-31 16:00:02 +00:00
ircd.c Innovation by sed 2020-10-15 15:52:41 +01:00
ircd_lexer.l
ircd_parser.y
ircd_signal.c
listener.c Add secure{} blocks 2020-10-31 16:00:02 +00:00
logger.c Innovation by sed 2020-10-15 15:52:41 +01:00
main.c Innovation by sed 2020-10-15 15:52:41 +01:00
Makefile.am Innovation by sed 2020-10-15 15:52:41 +01:00
match.c Add a comment explaining match_arrange_stars 2020-10-31 17:00:25 +00:00
modules.c Implement the solanum.chat/identify-msg vendor cap 2020-10-16 21:47:38 +01:00
monitor.c
msgbuf.c Innovation by sed 2020-10-15 15:52:41 +01:00
newconf.c Remove shared blocks 2020-11-01 04:20:44 +00:00
operhash.c Innovation by sed 2020-10-15 15:52:41 +01:00
packet.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
parse.c Mark fake test clients, don't assert they're real 2020-11-01 04:33:30 +00:00
privilege.c Innovation by sed 2020-10-15 15:52:41 +01:00
ratelimit.c Innovation by sed 2020-10-15 15:52:41 +01:00
reject.c
restart.c
s_conf.c Refactor clear_out_address_conf* 2020-10-31 16:00:02 +00:00
s_newconf.c Remove shared blocks 2020-11-01 04:20:44 +00:00
s_serv.c Mint CLICAP_FLAGS_PRIORITY 2020-10-19 19:30:43 -04:00
s_user.c Rename UMODE_SSLCLIENT, IsSSLClient 2020-10-31 16:00:02 +00:00
scache.c Innovation by sed 2020-10-15 15:52:41 +01:00
send.c Send hidden mode changes to auspex:cmodes 2020-08-04 22:58:30 +01:00
snomask.c Innovation by sed 2020-10-15 15:52:41 +01:00
sslproc.c
substitution.c Innovation by sed 2020-10-15 15:52:41 +01:00
supported.c Innovation by sed 2020-10-15 15:52:41 +01:00
tgchange.c Refactor common channel iteration 2020-10-19 20:15:26 +01:00
version.c.SH Innovation by sed 2020-10-15 15:52:41 +01:00
whowas.c
wsproc.c