Commit Graph

966 Commits

Author SHA1 Message Date
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