Commit Graph

3918 Commits

Author SHA1 Message Date
Eric Mertens d295a3986d
Stop using chm_nosuch as a sentinel value (#53)
Remove chmode compat modules

This removes the need for chm_nosuch as well. Unknown mode detection happens in mode parsing now.
2020-11-08 09:50:17 -08:00
Ed Kellett 4a8bd0b2fb Document general::hidden_caps 2020-11-08 14:08:38 +00:00
Ed Kellett 6ac21a70e2 Add general::hidden_caps 2020-11-08 14:08:38 +00:00
Eric Mertens 8e1bdeda92
Resolve shfit/reduce conflict in timespec production (#54)
Resolve shfit/reduce conflict in timespec production (no operational change)
2020-11-07 19:54:25 -08:00
Eric Mertens 92c6e47b4a
Clean up duplication in ChannelModeFunc prototypes (#52) 2020-11-07 16:45:12 -08:00
Ed Kellett 7393690255 Test chmode parsing 2020-11-08 00:26:27 +00:00
Ed Kellett 047b56e70e chmode: Generate a canonical mode string
Primarily because I want to use it in tests, but it also means people
reading override snotes don't have as much mental overhead. I hope.
2020-11-08 00:26:27 +00:00
Ed Kellett ea41b24fd4 chmode: Get elevated access for op-only queries 2020-11-08 00:26:27 +00:00
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
Ed Kellett b5c8d52d82 chmode: Make mode table manageable 2020-11-08 00:26:27 +00:00
Doug Freed 5d7273614b m_cap: simplify cap_req, remove multiline
Spec doesn't really allow multiline here, so don't use it
2020-11-07 16:27:24 -05:00
Ed Kellett cbc31cce4d Document s2s ECHO 2020-11-06 19:42:55 +00:00
Ed Kellett 7fd01f9f0c m_message: Initiate message echo on target server 2020-11-06 19:42:55 +00:00
Eric Mertens 0bece97692
Remove sno_whois mention in example configuration (#48) 2020-11-06 09:04:14 -08:00
Ed Kellett faf98b8e20 Update news 2020-11-04 18:08:56 +00:00
Ed Kellett 861a544541 m_webirc: Blow away ident if we've got it
Previously, anyone on the WEBIRC gateway would get its ident if it
advertised one, which seems wrong to me.

This allows ident to be used with WEBIRC while still letting users send
their own ~username in band.
2020-11-02 19:59:29 +00:00
Ed Kellett 05e3afc87e Explanatory comment for LFLAGS_FAKE 2020-11-01 04:33:30 +00:00
Ed Kellett 5409fbc0f7 Mark fake test clients, don't assert they're real 2020-11-01 04:33:30 +00:00
Ed Kellett d0a8ae2cf2 travis: Enable assertions correctly 2020-11-01 04:33:30 +00:00
Ed Kellett 017e37530e Multiply out handle_remote_unresv 2020-11-01 04:20:44 +00:00
Ed Kellett f57d88bc71 Remove shared blocks 2020-11-01 04:20:44 +00:00
Ed Kellett c07751a50d Remove hardcoded TLSv1 disables 2020-11-01 04:07:24 +00:00
Ed Kellett c1f9603bba Add a comment explaining match_arrange_stars 2020-10-31 17:00:25 +00:00
Ed Kellett 7741039058 match: assert mask_match mask is not too long 2020-10-31 17:00:25 +00:00
Ed Kellett 57fbf05388 Fix a corner case of superset matching
The algorithm we're using gets stuck if it has a ? and can only see a *
to feed to it, even if it could skip over that * and consume a character
following it. Remedy this by rearranging the input so * always precedes
? in runs of wildcards, so when we're matching ? we know we can skip
things.
2020-10-31 17:00:25 +00:00
Ed Kellett bc6e29e3b0 Update gitignore
(shhhh)
2020-10-31 17:00:25 +00:00
Ed Kellett 83e9a49847 Add (some failing) tests for mask matching 2020-10-31 17:00:25 +00:00
Ed Kellett 625cbb195b Refactor clear_out_address_conf* 2020-10-31 16:00:02 +00:00
Ed Kellett 35eccf4930 Rename UMODE_SSLCLIENT, IsSSLClient 2020-10-31 16:00:02 +00:00
Ed Kellett d1239f613f Document secure blocks 2020-10-31 16:00:02 +00:00
Ed Kellett 1cf798beb1 Add secure{} blocks 2020-10-31 16:00:02 +00:00
Ed Kellett bbdc439aa3 Replace IsInsecure with IsSecure 2020-10-31 16:00:02 +00:00
Ed Kellett 1a16d47edb authproc: Don't try to notice dead clients 2020-10-28 21:34:56 +00:00
Ed Kellett 26c3681f7c Delete extensions/spy_*,sno_whois 2020-10-28 21:19:36 +00:00
Ed Kellett 6ec9c49fc3 Update news 2020-10-28 15:32:35 +00:00
Ed Kellett f4b4216a9f m_message: global snote when massnotice is used 2020-10-27 23:52:24 +00:00
Eric Mertens 67ab06dd8a
Combine stats A output parameters (#35)
Every other use of RPL_STATSDEBUG follows the format: <letter> :<text>

This case appeared to slip through because it's two-word argument is encoded
in a single `->data` buffer.
2020-10-27 16:39:38 -07:00
Ed Kellett 0f8ec93849 helpops: change umode char to h 2020-10-27 13:53:01 +00:00
Ed Kellett 7d84719d68 Unify oper:{global,local}_kill 2020-10-25 20:02:03 +00:00
Ed Kellett 8a776ce65c cap_realhost: neaten oper IP tag check 2020-10-24 16:19:52 +01:00
Ed Kellett 272e4a7d33 cap_realhost: Don't send realhost to non-opers
If they can see it it's already in the message source
2020-10-24 16:19:52 +01:00
Ed Kellett 3b4731951f Implement oper realhost view via a hidden cap 2020-10-24 16:19:52 +01:00
Ed Kellett 0862875dd8 Add extensions/cap_realhost 2020-10-24 16:19:52 +01:00
Ed Kellett 71f10f833f Add a cap_change hook 2020-10-24 16:19:52 +01:00
Ed Kellett d0dc83b60a Manage help indexes properly in makefile 2020-10-23 14:25:38 +01:00
Ed Kellett 63cad9d882 Untrack help indexes 2020-10-23 14:25:38 +01:00
Ed Kellett 6ee7c05cfc
Undo overzealous seddery 2020-10-23 12:57:02 +01:00
Ed Kellett 3dcaa851f4 m_testline: Complain on formerly-silent failures 2020-10-23 10:28:55 +01:00
Ed Kellett f6b5e5382e Document /testkline 2020-10-23 10:28:55 +01:00
Ed Kellett 4dc6ff3dd9 Add /testkline 2020-10-23 10:28:55 +01:00