Commit graph

4112 commits

Author SHA1 Message Date
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
25365ce716 Keep client channel lists sorted 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
Doug Freed
507bdac642
README: fix Travis badge, drop Appveyor badge
[ci skip]
2020-10-19 03:20:34 -04:00
Ed Kellett
255233fce9 channel: tell extbans in +e they're exceptions 2020-10-19 01:07:16 +01:00
Ed Kellett
d6b9005892 extb_canjoin: disable inside +e 2020-10-19 01:07:16 +01:00
Ed Kellett
a77ebe1ed7 m_dline: don't fail on /dline <time> 2020-10-18 20:14:34 +01:00
Ed Kellett
19dc147459 Document max_number in reference.conf 2020-10-18 20:03:05 +01:00
Ed Kellett
7c7065b07e Add class::max_autoconn configuration 2020-10-18 20:03:05 +01:00
Ed Kellett
a7bd528f61 extb_hostmask: handle banstr == NULL 2020-10-18 19:45:51 +01:00
Ed Kellett
a860e8f6fe
Don't run travis on random branches 2020-10-17 14:40:25 +01:00
Ed Kellett
0c25e4b611
Disable Travis notifications 2020-10-17 01:59:33 +01:00
Ed Kellett
fd461d96cf
Update credits 2020-10-16 21:57:22 +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
Ed Kellett
a9b8506b34
Update credits 2020-10-13 22:38:42 +01:00
Simon Arlott
f679aa459f
Remove me
Edit by @aaronmdjones: Merged from [1] at Simon's request.

[1] <https://github.com/nomis/charybdis/commit/e5073623d07e1a62>
2020-09-10 08:35:19 +00:00
Aaron Jones
e81795cd21
Merge pull request #364 from ophion-project/upstream/fix-chmode-propagation
chmode: use NULL for priv argument when auspex:cmodes priv is not needed
2020-09-10 07:49:27 +00:00
Ariadne Conill
f5d60bb5cd chmode: use NULL for priv argument when auspex:cmodes priv is not needed
Otherwise, sendto_channel_local_priv() will only distribute mode changes
to opers only.  This is because HasPrivilege(target_p, "") will evaluate
as false due to the target not being opered.

Thanks to Devin Brown for bisecting this issue.
2020-09-09 12:10:11 -06: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
f590bc6cec
Align reference.conf and ircd.conf.example 2020-08-04 22:58:31 +01:00
Ed Kellett
e206f185c5
ircd.conf.example: Fix duplicate priv 2020-08-04 22:58:31 +01:00
Ed Kellett
e06b75d23c
Document extension-only oper privs 2020-08-04 22:58:31 +01:00
Ed Kellett
64c9f5093f
Make opers with no known privset pass IsOperGeneral 2020-08-04 22:58:31 +01:00
Ed Kellett
734e774713
Document usermode:servnotice 2020-08-04 22:58:31 +01:00
Ed Kellett
848df803df
Add usermode:servnotice priv 2020-08-04 22:58:31 +01:00
Ed Kellett
4af85fed0a
Test sendto_channel_local_priv not ONLY_OPERS 2020-08-04 22:58:31 +01:00
Ed Kellett
2f68b6e203
Document the remaining new privs 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
076973363a
chmode: priv checks only for local clients 2020-08-04 22:58:30 +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
4a4b20955f
Add oper:dehelper 2020-08-04 22:58:30 +01:00
Ed Kellett
f510983eeb
Add oper:receive_immunity 2020-08-04 22:58:30 +01:00
Ed Kellett
458c853869
Add auspex:hostname 2020-08-04 22:58:30 +01:00
Ed Kellett
74434cf81e
Add auspex:umodes 2020-08-04 22:58:30 +01:00
Ed Kellett
cc61cadade
Add auspex:cmodes 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
1cd6639a35
Add auspex:oper 2020-08-04 22:58:30 +01:00
Ed Kellett
80303ab70e
chm_staff: use oper:cmodes, don't check op status 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
Aaron Jones
27c6ddbd56
Merge pull request #359 from edk0/stats-l-operhide
m_stats: Make /stats l respect oper hiding
2020-08-04 10:00:41 +00: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