Doug Freed
fcdc666b42
m_privs: refactor to use 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
Ed Kellett
63ab1dd609
Add general::stats_l_oper_only
2020-11-08 19:38:19 +00: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
6ac21a70e2
Add general::hidden_caps
2020-11-08 14:08:38 +00:00
Eric Mertens
92c6e47b4a
Clean up duplication in ChannelModeFunc prototypes ( #52 )
2020-11-07 16:45:12 -08: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
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
f57d88bc71
Remove shared blocks
2020-11-01 04:20:44 +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
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
7d84719d68
Unify oper:{global,local}_kill
2020-10-25 20:02:03 +00:00
Ed Kellett
71f10f833f
Add a cap_change hook
2020-10-24 16:19:52 +01:00
Ed Kellett
6b3ae7e7b7
Add a comment explaining ITER_COMM_CHANNELS
2020-10-21 20:42:02 +01:00
jesopo
b9b28600d7
"server-side ignore" is an incorrect description of umode +g
2020-10-21 13:21:58 +01:00
Ed Kellett
738b5d291e
Mint CLICAP_FLAGS_PRIORITY
2020-10-19 19:30:43 -04:00
Ed Kellett
9f9e21dfbe
Kill CLICAP_FLAGS_REQACK
2020-10-19 19:30:43 -04:00
Ed Kellett
e8a8d7a440
Refactor common channel iteration
2020-10-19 20:15:26 +01:00
Ed Kellett
5e413b1372
Use linear channel list comparisons
2020-10-19 20:15:26 +01:00
Ed Kellett
7c7065b07e
Add class::max_autoconn configuration
2020-10-18 20:03:05 +01:00
Ed Kellett
94613c78b6
Implement the solanum.chat/identify-msg vendor cap
2020-10-16 21:47:38 +01:00
Ed Kellett
a6f63a829e
Innovation by sed
2020-10-15 15:52:41 +01:00
Aaron Jones
59cfd72e68
Merge pull request #355 from edk0/kline-cidr
...
Improve [kd]line handling of invalid IP-like masks
2020-08-06 09:17:00 +00:00
Ed Kellett
64c9f5093f
Make opers with no known privset pass IsOperGeneral
2020-08-04 22:58:31 +01:00
Ed Kellett
d3fd88a406
Send hidden mode changes to auspex:cmodes
2020-08-04 22:58:30 +01:00
Ed Kellett
1cd6639a35
Add auspex:oper
2020-08-04 22:58:30 +01:00
Ed Kellett
d4f7eb4ce6
Replace most checks for +o with oper:general
...
I'm preparing to PR a succession of privs changes with the ultimate goal
of severely limiting the scope of the binary oper/user dichotomy and
move conceptually distinct oper functions into their own privs.
Accomplishing this is a non-trivial task, and can wait, but it's
inconvenient now to have such functions enabled by the same mechanism
that grants any privs at all--so I'm moving all of them to a
transitional priv with the intention of eroding that later.
2020-08-04 22:58:30 +01:00
Ed Kellett
7d9e8e9d77
Add error handling to parse_netmask()
2020-07-26 22:03:06 +01:00
Ariadne Conill
ace0c8655b
callerid: align soft caller-id behavior with ircd-hybrid implementation
2020-07-10 18:18:28 -06:00
Ariadne Conill
8906ffd1b7
supported: make isupport_umode() public
2020-07-09 16:06:33 -06:00
Ariadne Conill
303e85c59e
remove callerid definitions
2020-07-09 16:06:33 -06:00
Simon Arlott
ac09f70838
Merge remote-tracking branch 'ophion/upstream/dnsbl-rename'
2020-07-09 20:53:38 +01:00
Aaron Jones
860d2381cf
Merge pull request #345 from edk0/alias
...
m_alias: Preserve protocol framing characters
2020-07-07 09:16:38 +00:00
Aaron Jones
e241d7979c
Merge pull request #346 from edk0/opmod-as-statusmsg
...
Port opmod_send_cprivmsg from ircd-seven, sans naming mistake
2020-07-06 10:52:15 +00:00
Janik Kleinhoff
04e5ed6c57
Make 5614c9e6f0b (opmod as fake statusmsg) optional
...
This adds a channel { ... } option, opmod_send_statusmsg, disabled by
default for compatibility reasons.
2020-07-06 10:36:35 +01:00
Ariadne Conill
a389de2a25
authd: rename blacklist_provider to dnsbl_provider, change auth notices accordingly
2020-07-05 21:20:34 -06:00
Ariadne Conill
3321eef45a
ircd: rename DNSBL entries from blacklist to dnsbl_entry.
2020-07-05 21:20:31 -06:00
Ariadne Conill
d07feac7b2
client: drop no longer existent 'struct blacklist' definition.
...
This went away when authd was implemented.
2020-07-05 21:20:30 -06:00
Ed Kellett
fff4f76353
Add general::tls_ciphers_oper_only
2020-07-05 23:06:51 +01:00
Ed Kellett
4e14f9a413
m_alias: Preserve protocol framing characters
2020-07-05 01:15:03 +01:00
Ariadne Conill
968dee680f
modularize usermode +R (registered users only)
2020-06-26 11:56:42 -06:00
Aaron Jones
17dc265c9d
Merge pull request #329 from edk0/reload-by-path
...
Reload modules by path
2020-06-25 17:32:58 +00:00
Aaron Jones
3ef1213be4
Merge pull request #335 from edk0/post-registration-delay
...
Import post_registration_delay from ircd-seven
2020-06-21 12:56:56 +00:00
Aaron Jones
4682079dd9
Merge pull request #327 from edk0/filter-quit
...
filter quit messages
2020-06-10 14:55:02 +00:00
Stephen Bennett
b3a0099139
Rename connect_delay to post_registration_delay. This matches the ircd-ratbox feature, and better describes what it actually is. Also make sure to set localClient->firsttime on registration, so that the delay counts from the right time.
2020-06-07 19:22:36 +01:00