15893 Commits

Author SHA1 Message Date
Sadie Powell
b3fe433e4c Check whether a server is using the PSL at server link time. 2023-01-14 03:37:17 +00:00
Sadie Powell
bc6d98c931 Add support for using the Public Suffix List in cloak_sha256.
Closes #1658.
2023-01-14 01:43:06 +00:00
Sadie Powell
cca9b9cb0f Fix require_version not respecting env and rename to require_library.
[skip windows ci]
2023-01-14 01:35:44 +00:00
Sadie Powell
1d64030e96 Fix a missing override keyword in the cloak module. 2023-01-13 23:56:23 +00:00
Sadie Powell
2f1a9a8048 Use Wrap() for wrapping a host cloak in cloak_sha256. 2023-01-13 23:14:14 +00:00
Sadie Powell
1f4ffdfee9 Various improvements to the cloak system.
- Only rewrite cloak => cloaking if the cloak_md5 module is also
  loaded.

- Include the cloak method in the link data.

- If 1206 servers are using different cloak methods then ignore
  the other data when telling operators about the link failure.

- Clean up the code in a few places.
2023-01-13 20:50:00 +00:00
Sadie Powell
e7084112fa Document the cloak_sha256 <cloak:case> option. 2023-01-13 10:02:09 +00:00
Sadie Powell
e9a82a716d Fix cloak_sha256 missing the separator after the prefix. 2023-01-13 09:59:27 +00:00
Sadie Powell
ab7a65f951 Fix cloak_md5 leaking the cloak key over server links.
This was introduced when adding the modern cloak system and does
not affect v3.
2023-01-13 09:55:20 +00:00
Sadie Powell
713b577496 Merge branch 'insp3' into master. 2023-01-13 07:46:47 +00:00
Sadie Powell
b353b799a2 Fix core_dns rejecting simple hostnames. 2023-01-13 07:23:45 +00:00
Sadie Powell
b680306816 Add a new cloak system that cloaks using HMAC-SHA256.
Closes #1107.

The core of the cloaking algorithm this uses is heavily inspired
by the Plexus4 cloak_hmac_sha256 module written by Adam. I've made
a few changes to the rest of it to work more like the old InspIRCd
cloaking system as well as adding the option for configuring the
case of the character table used for cloaking.

Co-authored-by: Adam <Adam@anope.org>
Co-authored-year: 2017
2023-01-13 07:02:02 +00:00
Sadie Powell
32258f5b11 Convert the cloak_md5 module to the new cloak system. 2023-01-13 07:01:03 +00:00
Sadie Powell
b80c4ad28c Rename the old cloaking implementation to cloak_md5. 2023-01-13 07:01:03 +00:00
Sadie Powell
5da15b0c5a Add the core of the new cloak implementation. 2023-01-13 07:01:03 +00:00
Sadie Powell
607ee6ed65 Allow mkheaders to pick up a coauthorship year. 2023-01-13 06:57:37 +00:00
Sadie Powell
abc5d52f13 Const correct various functions. 2023-01-11 00:56:15 +00:00
Sadie Powell
c3e42d4e5d Make some functions that don't use this static. 2023-01-11 00:56:15 +00:00
Sadie Powell
b7b72521a7 Fix calling various static functions through a type instance. 2023-01-11 00:56:10 +00:00
Sadie Powell
b2d86bb8a1 Qualify auto correctly in all cases. 2023-01-10 23:30:34 +00:00
Sadie Powell
a982e71041 Fix some unnecessary string copies. 2023-01-10 21:44:35 +00:00
Sadie Powell
a847107bee Fix using std::move when not appropriate. 2023-01-10 21:43:44 +00:00
Sadie Powell
396f2ab290 Avoid copying various shared_ptr usages when not necessary. 2023-01-10 21:39:08 +00:00
Sadie Powell
b25cd86ddf Avoid copying shared_ptr<IOHookProvider> when not necessary. 2023-01-10 21:27:29 +00:00
Sadie Powell
1b2916c845 Avoid copying shared_ptr<ConfigTag> when not necessary. 2023-01-10 21:27:18 +00:00
Sadie Powell
a83223378c Fix calling the base Set/Unset implementation in ListExtItem. 2023-01-10 20:28:29 +00:00
Sadie Powell
74e94eb02d Merge branch 'insp3' into master. 2023-01-09 18:37:56 +00:00
Sadie Powell
ccbc809c9b Make Dependabot send pull requests to the insp3 branch. 2023-01-09 18:37:24 +00:00
Sadie Powell
610930face Deduplicate sending the raw I/O logging warning. 2023-01-09 18:33:37 +00:00
Sadie Powell
573296baea Fix enabling the raw I/O logging warning when <log:level> is rawio. 2023-01-09 18:16:40 +00:00
Sadie Powell
9c95315763 Fix suspending GDB when the process gets sent a signal. 2023-01-09 18:08:40 +00:00
Sadie Powell
8831595e1a Rework how users are assigned to connect classes.
- Move core connect class checks and <performance:clonesonconnect>
  to the core_user module.
- Add pre-change and post-change events for when a connect class
  changes.
- Split explicit class changing out into its own method.
- Remove the need to almost always call CheckClass after SetClass.
- Add use counting to the connect class instead of relying on the
  shared_ptr use count.
2023-01-08 16:28:40 +00:00
Sadie Powell
94740c6252 Switch sqloper to use a local user lookup instead of IS_LOCAL. 2023-01-08 13:48:44 +00:00
Sadie Powell
1239ee1e14 Merge branch 'insp3' into master. 2023-01-08 13:19:40 +00:00
Sadie Powell
7e103d95dc Fix DNSBL user/host marks being overwritten by ident/host lookups. 2023-01-07 23:16:31 +00:00
Sadie Powell
9e985f5979 Add some overloads of Find{Nick,UUID,} for local/remote users. 2023-01-07 04:36:31 +00:00
Sadie Powell
756ed58b77 Silence a Valgrind warning in SSLIOHook.
Closes #2011.
2023-01-05 17:23:54 +00:00
Sadie Powell
d7182c584c Add a helper class for creating a reference to a DNS manager. 2023-01-05 00:41:04 +00:00
Sadie Powell
26c6a8811b Allow specifying milliseconds and a timespec in the server-time API. 2023-01-04 19:56:57 +00:00
Sadie Powell
3ea463dae7 Misc DNSBL code cleanup. 2023-01-04 18:00:54 +00:00
Sadie Powell
bb9c264dca Move the shared data in the DNSBL module to its own class. 2023-01-04 17:52:36 +00:00
Sadie Powell
3d1f139467 Sync whether an oper login was performed automatically. 2023-01-03 15:23:04 +00:00
Sadie Powell
ef292c8d80 Fix CanUseSnomask checking the wrong snomask index.
We reuse the mode index packing here to avoid duplication.
2023-01-02 22:49:07 +00:00
Sadie Powell
b1e6084b2d Fix getting the full snomask and mode lists. 2023-01-02 22:49:07 +00:00
Sadie Powell
45ef938965 Get rid of the virtual Has*Permission methods.
These are no longer needed now we store privs for the remote oper.
2023-01-02 21:49:20 +00:00
Sadie Powell
4a468f26cc Allow synching oper privileges between servers. 2023-01-02 21:49:20 +00:00
Sadie Powell
137dbe2fdc Allow getting all of the oper command/mode/snomask privs. 2023-01-02 21:05:19 +00:00
Sadie Powell
37ce48e61a Add some useful aliases to OperType. 2023-01-02 19:48:14 +00:00
Sadie Powell
6d6ccfd24b Add a method for unescaping tags. 2023-01-02 19:22:40 +00:00
Sadie Powell
93088a1ffb Release v4.0.0 alpha 18. v4.0.0a18 2023-01-01 13:21:20 +00:00