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
e36c077346
Log the versions of third-party libraries used by modules.
2023-01-19 14:46:15 +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
f897d06525
The cloak_md5 module needs the md5 module not the sha2 module.
2023-01-18 14:57:53 +00:00
Sadie Powell
c3b10fc914
Check the hashing modules are enabled when creating a cloak method.
2023-01-18 14:40:46 +00:00
Sadie Powell
bae5486e00
Fix some typos in the cloak_sha256 example config.
2023-01-18 14:40:46 +00:00
Sadie Powell
119b7bd70d
Allow setting <cloak:{host,path}parts> to 0.
2023-01-18 14:22:53 +00:00
Sadie Powell
88a0ef203e
Allow setting a different hostparts option for UNIX sockets.
...
This defaults to 1 as it doesn't really make sense to expose more
than just this.
2023-01-18 14:22:39 +00:00
Sadie Powell
ca8a576c74
Refactor the ListenSocket constructor to be less of a mess.
...
Also clear up the error handling.
2023-01-17 04:45:26 +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
9fab8a59bb
Fix some testing changes that snuck in to the previous commit.
2023-01-16 22:49:37 +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
d649d42c00
Move enforcing channel join limits to core_channel.
2023-01-16 06:02:58 +00:00
Sadie Powell
3061793a74
Merge branch 'insp3' into master.
2023-01-16 04:12:50 +00:00
Sadie Powell
5df3368991
Fix the cycle module sending a notice instead of ERR_BANNEDFROMCHAN.
2023-01-16 04:04:44 +00:00
Sadie Powell
a1e902e417
Convert the setidle module to use standard replies.
2023-01-16 04:03:17 +00:00
Sadie Powell
769f9c0c34
Fix some issues reported by scan-build.
...
All of these are harmless and should never cause an issue in practise.
2023-01-15 22:28:45 +00:00
Sadie Powell
9109587ed2
Fix cloaking users with a non-IP hostname when using hmac-sha256-ip.
2023-01-15 21:14:42 +00:00
Sadie Powell
7dbc0f8208
Constify config fields in cloak_sha256.
2023-01-15 20:33:51 +00:00
Sadie Powell
c3ed3fc7e3
Allow cloak_sha256 to only cloak IP addresses and not hostnames.
2023-01-15 20:32:03 +00:00
InspIRCd Robot
3838211b2c
Fixes by misspell-fixer.
2023-01-15 19:58:21 +00:00
Sadie Powell
91f80c65d5
Use insp::reverse_range in core_mode.
2023-01-14 22:17:20 +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
e1934a9f2e
Fix building the pgsql connection DSN in some rare cases.
...
These values need to be escaped or they will be malformed.
Ref: https://www.postgresql.org/docs/15/libpq-connect.html#id-1.7.3.8.3.5
2023-01-14 10:44:51 +00:00
Sadie Powell
046b1a2b65
Remove some more unnecessary things from the global headers.
2023-01-14 10:19:38 +00:00
Sadie Powell
b4dcaaaa62
Allow setting <cloak:psl> to "system" to use the system database.
2023-01-14 03:44:24 +00:00
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