Doug Freed
56c8530469
m_cap: refactor clicap_generate to use multiline
2020-11-12 19:18:01 -05:00
Ed Kellett
6f88bf5c30
Add some tests for multiline
2020-11-12 19:18:01 -05:00
Doug Freed
8efff56fdf
send: add sendto_one_multiline_* API
...
Allows simplifying multiline wrapping for multiple usages, like CAP
LS/LIST, NAMES, and WHOIS channel listing
2020-11-12 19:18:01 -05:00
jesopo
f0356d2a6f
iter lists backwards when sending BMASK
2020-11-12 21:34:21 +00:00
Ed Kellett
dab715910d
Update .gitignore for 25d169b649
( #69 )
2020-11-11 14:14:12 -08:00
Ed Kellett
8e7cc44919
Remove *.la from install/lib
...
Co-authored-by: Unit 193 <unit193@unit193.net>
2020-11-10 09:37:55 +00:00
Ed Kellett
f7d1cc997e
Don't reassign logdir
...
Co-authored-by: Unit 193 <unit193@unit193.net>
2020-11-10 09:37:55 +00:00
Ed Kellett
0e50ab822d
tests: clean *.db, *.log
...
Co-authored-by: Unit 193 <unit193@unit193.net>
2020-11-10 09:37:55 +00:00
Ed Kellett
3eab43b680
help: cleanup indexes properly
...
Co-authored-by: Unit 193 <unit193@unit193.net>
2020-11-10 09:37:55 +00:00
Ed Kellett
75fd7ead8d
readme: add building instructions
2020-11-10 00:02:48 +00:00
Ed Kellett
1596fc8ffd
Forget the old drain reason when rehashing
2020-11-09 21:10:55 +00:00
Ed Kellett
2707630451
m_info: Add some missing things
2020-11-09 21:02:41 +00:00
Ed Kellett
828f8ffada
Autogenerate tests/runtime/modules
2020-11-09 09:18:36 +00:00
Ed Kellett
4eeaf9473e
tests: autogenerate TESTS
2020-11-09 09:18:36 +00:00
Ed Kellett
c4f463c9ad
tests: cleanup .gitignore
2020-11-09 09:18:36 +00:00
Ed Kellett
875051669a
tests: implicitly link *_util.c into every test
2020-11-09 09:18:36 +00:00
Eric Mertens
25d169b649
Rename bantool to solanum-bantool ( #64 )
...
Rename bantool to solanum-bantool
2020-11-08 18:51:27 -08:00
Ed Kellett
7874410742
m_info: string constness
2020-11-09 01:00:04 +00:00
Ed Kellett
dce5f18f6f
m_info: remove repetition
2020-11-09 01:00:04 +00:00
Ed Kellett
0ee3f45c89
m_info: be type-safe, somewhat enforced by macros
2020-11-09 01:00:04 +00:00
Ed Kellett
b3701ae2f3
Remove some unnecessary commenty things
2020-11-09 01:00:04 +00:00
Ed Kellett
8f0dd52ce7
Add /stats s to list secure blocks
...
`s` and `S` were both used for ssld stats, but only `S` was documented,
so I'm taking `s`. You can't stop me!
2020-11-09 00:26:56 +00:00
Ed Kellett
eafe4df92a
Document general::stats_l_oper_only
2020-11-08 19:38:19 +00:00
Ed Kellett
63ab1dd609
Add general::stats_l_oper_only
2020-11-08 19:38:19 +00:00
jess
a922755512
make more snotes L_NETWIDE
2020-11-08 14:30:41 -05:00
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