Ed Kellett
20066eae1f
Manage IsDynSpoof when effecting a (post-reg) SIGNON
2021-06-08 23:17:18 +01:00
Ed Kellett
16a2d0c9d3
Use MayHavePrivilege for oper:message
2021-06-08 22:13:10 +01:00
Ed Kellett
ce376a21cc
Keep propagated bans in a dictionary, not a list
2021-06-08 21:57:43 +01:00
Aaron Jones
8b7110d6ba
modules/m_sasl.c: use IsSecure() instead of IsSSL()
...
Further to our implementation of the concept of "secure origins", we can
indicate to services that the client is connected securely, rather than
just that the client is using TLS. For example, connections from the
local host (from the IRCd's perspective) can be considered secure
against eavesdropping.
Allow this to factor into services' decision on whether to allow an SASL
negotiation or not. Atheme currently assumes this means the client is
using TLS, but I have changed that in atheme/atheme@412d50103c
2021-06-08 04:59:43 +00:00
Ed Kellett
ea51635c01
m_whois: show services even if they lack opernames
2021-06-05 20:21:45 +01:00
Ed Kellett
96f6804b24
m_whois: put opername/privset in RPL_WHOISOPERATOR
...
Show just the opername if you're an oper the target is not hidden from
and you don't have oper:privs.
close #100
2021-06-05 20:21:45 +01:00
Ed Kellett
eeaea74616
Allow privset-less OPER bursting
2021-06-05 19:42:18 +01:00
Ed Kellett
53b209c748
m_oper: receive ircd-seven-style opernames
2021-06-05 19:42:18 +01:00
megubyte
cad61c9d1a
m_invite: send message tags ( #173 )
2021-06-05 15:57:03 +01:00
Ariadne Conill
3fc0499e77
Mailmap and copyright update for Ariadne
2021-06-01 12:40:02 -04:00
Ed Kellett
3ff5a12e75
Allow temporary K-lines to extend shorter ones ( #142 )
...
* Temp K-lines may extend shorter temp K-lines
* /unkline removes multiple matching K-lines
* K-lines remove any temp K-lines they're replacing
2021-04-27 14:45:04 +01:00
Ed Kellett
dfeba65563
Add channel::ip_bans_through_vhost
2021-04-26 17:51:55 +01:00
jess
64d5cff464
add separate priv (oper:message) for walking over CALLERID (umode +g) ( #152 )
2021-04-26 16:24:36 +00:00
Ed Kellett
4cac091255
Add an s2s cap for ECHO ( #141 )
2021-04-20 12:22:50 +01:00
David Schultz
f8838806ef
make VERSION not include sid ( #118 )
2021-04-10 15:19:27 +01:00
jesopo
5a261597e4
send account-notify messages to subject connection too
2021-04-10 15:15:39 +01:00
Ed Kellett
181410f218
Make privilegeset_privs more const
2021-03-01 15:45:03 +00:00
Ed Kellett
8b8320596c
privilege: factor out a null check
2021-03-01 15:45:03 +00:00
Ed Kellett
8aadf0ce46
Track and inform modules of privset changes
2021-03-01 15:45:03 +00:00
Taavi Väänänen
d04ed5c53f
wallops: require new oper:wallops right ( #110 )
...
Split oper:wallops right from oper:mass_notice. Update documentation and
examples to grant oper:wallops everywhere oper:mass_notice was granted.
closes #103
2021-01-28 14:09:31 +00:00
jess
fdd4857c1d
/accept list should track nick changes when you share channels ( #96 )
...
* move has_common_channel to s_user.c
* don't remove clients from /accept on NICK when there's a common channel
Co-authored-by: Ed Kellett <e@kellett.im>
2021-01-24 21:00:34 -08:00
Ed Kellett
b860ad5ffa
chmode: end the grace period more intelligently ( #84 )
...
We were ending the flood grace period for any channel mode command other
than `MODE #foo [bq]` by means of a hardcoded check. I've moved that to
after we parse the mode string, so we can correctly identify all
requests to change modes and end the grace period on exactly those.
It would have been entirely possible to move the check even further down
and flood_endgrace on only mode commands that *actually* change modes,
but I don't like the idea of making it sensitive to external conditions.
2020-11-30 09:24:32 +00:00
Doug Freed
73520cd1ed
m_challenge: various fixes
2020-11-19 16:48:44 -05:00
jess
40ecb85a1d
add ConfigFileEntry.oper_secure_only, to require TLS to oper up ( #76 )
2020-11-18 14:29:08 +00:00
Ed Kellett
6485005214
Get rid of hub_mask/leaf_mask
2020-11-14 18:22:08 +00:00
Doug Freed
aacd07a2c6
m_monitor: refactor to use multiline
2020-11-12 19:18:01 -05:00
Doug Freed
fcdc666b42
m_privs: refactor to use multiline
2020-11-12 19:18:01 -05:00
Doug Freed
d901e969a3
m_whois: refactor channel list to use multiline
2020-11-12 19:18:01 -05:00
Doug Freed
e51d9a67be
names: refactor to use multiline
2020-11-12 19:18:01 -05:00
Doug Freed
56c8530469
m_cap: refactor clicap_generate to use multiline
2020-11-12 19:18:01 -05:00
Ed Kellett
2707630451
m_info: Add some missing things
2020-11-09 21:02:41 +00: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
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
Ed Kellett
6ac21a70e2
Add general::hidden_caps
2020-11-08 14:08:38 +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
7fd01f9f0c
m_message: Initiate message echo on target server
2020-11-06 19:42:55 +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
35eccf4930
Rename UMODE_SSLCLIENT, IsSSLClient
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
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
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
3dcaa851f4
m_testline: Complain on formerly-silent failures
2020-10-23 10:28:55 +01:00
Ed Kellett
4dc6ff3dd9
Add /testkline
2020-10-23 10:28:55 +01:00
Ed Kellett
25f673bfde
um_callerid: Use newer common channel iteration
2020-10-21 20:24:40 +01:00
Ed Kellett
f3439650c0
m_cap: Try to append caps even if one is too long
2020-10-19 19:30:43 -04: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
54c7ead605
m_names: honour userhost-in-names for global NAMES
2020-10-19 11:47:08 +01:00
Ed Kellett
a77ebe1ed7
m_dline: don't fail on /dline <time>
2020-10-18 20:14:34 +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
Aaron Jones
9dd128b4da
Merge pull request #288 from edk0/umode-o-split
...
Split oper privs up a bit
2020-08-06 09:07:50 +00:00
Ed Kellett
7f7a433218
m_stats: Remove outdated comment
2020-08-04 22:58:31 +01:00
Ed Kellett
b549e8e80d
m_stats: use oper:privs for /stats O
2020-08-04 22:58:30 +01:00
Ed Kellett
326ecd968b
m_stats: Rework privilege requirements
...
.need_oper is replaced with a generic mechanism for requiring any
privilege. need_admin remains because I think it's the least horrible
way to deal with oper:hidden_admin.
All need_oper requirements have been changed to oper:general
requirements.
2020-08-04 22:58:30 +01:00
Ed Kellett
9039ac0178
m_stats: use designated initializers
2020-08-04 22:58:30 +01:00
Ed Kellett
458c853869
Add auspex:hostname
2020-08-04 22:58:30 +01:00
Ed Kellett
58a490f9a4
Add oper:testline
2020-08-04 22:58:30 +01:00
Ed Kellett
6d5be11fb1
Add oper:privs
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
24652f2b95
m_stats: Make /stats l respect oper hiding
...
found by @jesopo
2020-08-03 01:23:54 +01:00
Aaron Jones
ad7ecd5cbb
Merge pull request #352 from edk0/grant-oper-data
...
m_grant: zero-initialize struct oper_conf
2020-07-27 17:13:33 +00:00
Ed Kellett
cf0aa42180
m_dline: make apply_undline permissive
...
Trying to find invalid bans won't do anything unless they already exist,
in which case it's legitimate to try to remove them.
2020-07-26 22:50:42 +01:00
Ed Kellett
72464c6abd
m_dline: Make error notices more verbose
2020-07-26 22:50:42 +01:00
Ed Kellett
bf493a3410
m_dline: Abort early if host isn't an IP address
2020-07-26 22:03:20 +01:00
Ed Kellett
7d9e8e9d77
Add error handling to parse_netmask()
2020-07-26 22:03:06 +01:00
Ed Kellett
bd8b9a37be
m_privs: don't leave a damaged privset behind
2020-07-25 23:49:52 +01:00
Ed Kellett
687ec8f766
m_grant: zero-initialize struct oper_conf
...
bug noticed by @xnrand
2020-07-16 17:59:27 +01:00
Simon Arlott
373ba193b8
Merge pull request #351 from ophion-project/upstream/sasl
...
sasl: use mapi_cap_list_v2 correctly
2020-07-12 10:28:02 +01:00
Unit 193
7372db99f2
Fix a couple typos.
...
automaticlly → automatically
completly → completely
permissable → permissible
redunant → redundant
threshhold → threshold
2020-07-11 04:51:22 +00:00
Ariadne Conill
8ad8fd34f5
callerid: fix a missed instance of hardcoded +g
2020-07-10 21:25:25 -06:00
Ariadne Conill
c6e584dd1b
callerid: fix invite case
2020-07-10 18:43:31 -06:00
Ariadne Conill
ace0c8655b
callerid: align soft caller-id behavior with ircd-hybrid implementation
2020-07-10 18:18:28 -06:00
Ariadne Conill
3792c63dc0
sasl: use mapi_cap_list_v2 correctly
2020-07-09 17:47:28 -06:00
Ariadne Conill
92f5320e1d
message: run privmsg_user hook on both source and target
2020-07-09 16:06:56 -06:00
Ariadne Conill
4abf8eb2e6
callerid: actually the guard should be for source_p
2020-07-09 16:06:33 -06:00
Ariadne Conill
4841ad6197
callerid: only check the target's accept list on their own local server
2020-07-09 16:06:33 -06:00
Ariadne Conill
3ed61fba8c
callerid: use public isupport_umode
2020-07-09 16:06:33 -06:00
Ariadne Conill
5d4cce6cc0
callerid: has_common_channels(): fix return value
2020-07-09 16:06:33 -06:00
Ariadne Conill
4d07382c2d
callerid: fix module description
2020-07-09 16:06:33 -06:00
Ariadne Conill
915bb5614b
callerid: unregister usermode +g if usermode +G cannot be allocated
2020-07-09 16:06:33 -06:00
Ariadne Conill
c6edf65411
callerid: use hdata.error where available
2020-07-09 16:06:33 -06:00
Ariadne Conill
fdff78f891
callerid: catch find_umode_slot() failures
2020-07-09 16:06:33 -06:00
Ariadne Conill
db80763427
callerid: use invite instead of can_invite hook
2020-07-09 16:06:33 -06:00
Ariadne Conill
7b60cca0f1
callerid: implement relaxed caller id mode (+G)
2020-07-09 16:06:33 -06:00
Ariadne Conill
7106e36ed3
callerid: fix up isupport
2020-07-09 16:06:33 -06:00
Ariadne Conill
6558648dc3
callerid: don't clobber other modules
2020-07-09 16:06:33 -06:00
Ariadne Conill
921b508b1b
add callerid module
2020-07-09 16:06:33 -06:00
Ariadne Conill
4a9cf86981
message: remove hardcoded +G logic
2020-07-09 16:06:33 -06:00