3524 Commits

Author SHA1 Message Date
Sadie Powell
d4efd2677f Move NotifyRawIO to the Log namespace. 2023-01-22 22:52:30 +00:00
Sadie Powell
8389fbba6d Replace ModeAction with bool.
This enum is functionally the same as bool but with weird semantics.
2023-01-22 22:52:30 +00:00
Sadie Powell
cadf228c3e Convert various enums to strongly typed scoped enums. 2023-01-22 22:36:31 +00:00
Sadie Powell
e26cb5cacd Fix some Doxygen comment issues. 2023-01-21 13:32:53 +00:00
Sadie Powell
c0bb4742e0 Make implementing OnStreamSocketClose optional in middle hooks. 2023-01-21 13:22:33 +00:00
Sadie Powell
7bd8091f6b Use the underlying transport method for pinging idle clients.
Closes #1998.
2023-01-21 12:54:07 +00:00
Sadie Powell
9ed53d543f Fix Cloak::Method and Log::Method being needlessly Cullable.
If a method needs to be cullable it can inherit from that type and
pass Cullable::Deleter as a custom deleter to the shared_ptr.
2023-01-18 14:57:57 +00:00
Sadie Powell
c631b784ba Replace SocketEngine::SetReuse with SocketEngine::SetOption. 2023-01-17 04:45:26 +00:00
Sadie Powell
dad3eaa2da Add a helper method for determining if a sockaddrs is an IP endpoint. 2023-01-17 02:46:53 +00:00
Sadie Powell
a99a38a3ad Allow creating a FailedPort without a bindspec. 2023-01-17 00:37:14 +00:00
Sadie Powell
612e1a3027 Store the actual error in FailedPort instead of an error code. 2023-01-16 22:54:02 +00:00
Sadie Powell
34de733223 Add support for linking servers over SCTP sockets. 2023-01-16 21:16:16 +00:00
Sadie Powell
8856210499 Add support for SCTP listeners. 2023-01-16 21:15:55 +00:00
Sadie Powell
37ff45ac56 Improve the output of /CLOAK when there are no methods available. 2023-01-14 20:28:33 +00:00
Sadie Powell
3e75792e31 Fix a Doxygen comment typo in Cloak::Method. 2023-01-14 20:28:33 +00:00
Sadie Powell
046b1a2b65 Remove some more unnecessary things from the global headers. 2023-01-14 10:19:38 +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
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
5da15b0c5a Add the core of the new cloak implementation. 2023-01-13 07:01:03 +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
b2d86bb8a1 Qualify auto correctly in all cases. 2023-01-10 23:30:34 +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
610930face Deduplicate sending the raw I/O logging warning. 2023-01-09 18:33:37 +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
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
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
d048778f78 Merge branch 'insp3' into master. 2023-01-01 13:19:45 +00:00
Sadie Powell
1106b97c41 Release v3.15.0. 2022-12-30 11:33:00 +00:00
InspIRCd Robot
2b810b412a Update copyright headers. 2022-12-30 11:31:28 +00:00
Sadie Powell
f547805018 Rename the SimpleExtItem type parameter to be more descriptive. 2022-12-27 19:29:43 +00:00
Sadie Powell
a752f952af Allow overriding the deleter in ListExtItem. 2022-12-27 19:29:43 +00:00
Sadie Powell
72b5aec5d5 Add the SimpleExtItem::GetRef method. 2022-12-27 19:29:43 +00:00
Sadie Powell
75de6e0d5c Add the ListExtItem extension type. 2022-12-27 18:19:10 +00:00
Sadie Powell
1c2e79ea80 Move cull_delete to be inside of Cullable. 2022-12-27 14:12:10 +00:00
Sadie Powell
193408e3b4 Replace the unused padding argument of Percent::Encode with upper. 2022-12-27 13:37:38 +00:00
Sadie Powell
b1eb362d83 Refactor SocketEngine slightly.
- Remove pointless shutdown() wrapper.
- Remove pointless bounds checking function.
- Make Bind and Listen take an EventHandler instead of a fd.
- Add nullability attributes to every method.
2022-12-25 22:41:28 +00:00
Sadie Powell
7673db8d1b Pass the client/server sockaddr around as a ref instead of a ptr. 2022-12-25 13:06:50 +00:00