15312 Commits

Author SHA1 Message Date
Sadie Powell
0f3f8285fe Fix a bunch of weird uses of .c_str(). 2022-01-30 23:16:23 +00:00
Sadie Powell
c3d35d736e Merge branch 'insp3' into master. 2022-01-30 20:48:47 +00:00
Sadie Powell
6703b8065c Abort pre-registration SASL attempts when the user fully connects.
This makes InspIRCd work more like other IRC servers which implement
the recommended behaviour from the sasl-3.1 specification:

    If the client completes registration (with CAP END, NICK, USER
    and any other necessary messages) while the SASL authentication
    is still in progress, the server SHOULD abort it and send a 906
    numeric, then register the client without authentication.

Thanks to @aaronmdjones and @edk0 for finding and reporting this.
2022-01-30 13:22:53 +00:00
Sadie Powell
d7a7f37d14 Kill vendor_directory in favour of normal include paths. 2022-01-26 15:34:17 +00:00
Sadie Powell
ec46f6acda Replace consolecolors with a vendored library.
This library supports much more than consolecolors including the
Windows 8 console API.
2022-01-26 15:34:17 +00:00
Sadie Powell
4fd71323d3 Slim the included headers down more. 2022-01-26 14:00:58 +00:00
Sadie Powell
e519a0d258 Merge branch 'insp3' into master. 2022-01-26 00:07:37 +00:00
Sadie Powell
ad28a2bc5f Work around the deprecation of the old curve API in OpenSSL 3.0.0. 2022-01-25 23:47:19 +00:00
Sadie Powell
8ab6b7230f Remove duplicate includes from module headers. 2022-01-25 16:20:45 +00:00
Sadie Powell
d79147e7af Abolish the infernal space before accessibility keywords. 2022-01-25 14:02:36 +00:00
Sadie Powell
94046d9eaf Fix a few Doxygen comment errors. 2022-01-24 23:03:12 +00:00
Sadie Powell
dc87f6ec29 Merge branch 'insp3' into master. 2022-01-24 21:49:28 +00:00
Sadie Powell
8b32a46334 Add the new coremods target as a dependency for the all target.
[skip windows ci]
2022-01-22 11:49:02 +00:00
Sadie Powell
9d6ec04243 Separate core modules from modules in CI.
[skip windows ci]
2022-01-22 03:32:58 +00:00
Sadie Powell
6a863194d7 Fix the doxygen documentation and style of the extension classes. 2022-01-22 03:02:58 +00:00
Sadie Powell
a51d044c82 Fix various edge cases in extensible synchronisation.
- Fix not forwarding the accountid extensible if it is set.
- Rename the variadic Set() overload to SetFwd().
- Re-add the `const T&` overload of Set().
- Move `bool synced` to SimpleExtItem from StringExtItem.
- Only sync extensibles if their instance is marked as syncable.
2022-01-21 16:36:43 +00:00
Sadie Powell
087b0b54f9 Work around the deprecation of manual DH params in OpenSSL 3.0.0.
As of this version specifying custom DH parameters is deprecated
and should not be used. Instead, a default (secure) DH parameters
will be used.
2022-01-21 13:11:30 +00:00
Sadie Powell
5faa39f671 Work around the deprecation of manual DH params in GnuTLS 3.5.6.
As of this version specifying custom DH parameters is deprecated
and should not be used. Instead, a default (secure) DH parameters
will be used.
2022-01-21 13:11:28 +00:00
Sadie Powell
1373c45cca Fix parsing a LIST request with both a match and inverted match.
e.g. /LIST *foo* !*bar*
2022-01-20 15:14:34 +00:00
Sadie Powell
44c8d23e9f Fix parsing LIST commands with multiple constraints. 2022-01-20 14:32:37 +00:00
Sadie Powell
28513865ce Fix aliases which require routing to be broadcast out. 2022-01-19 11:44:35 +00:00
Sadie Powell
3443799702 Merge branch 'insp3' into master. 2022-01-18 18:03:49 +00:00
Sadie Powell
72267a59d4 Fix the regex_re2 module on the latest RE2 git.
[skip windows ci]
2022-01-18 17:38:06 +00:00
Sadie Powell
64a3eaa917 Fix being unable to use a pkg-config that isn't in the PATH.
[skip windows ci]
2022-01-18 17:31:33 +00:00
Sadie Powell
d216fd0af5 Use vector<string> instead of file_cache in ProcessColors. 2022-01-18 16:54:04 +00:00
Sadie Powell
89c89fd862 Move FilePosition to be with the config stuff it is used by. 2022-01-18 16:39:27 +00:00
Sadie Powell
26394c46f1 Replace FileWrapper with std::unique_ptr. 2022-01-18 16:29:47 +00:00
Sadie Powell
40035385c6 Add constexpr to the initialisation of various const static fields. 2022-01-18 14:33:06 +00:00
Sadie Powell
040bf53c77 Use C++11-style initialisation for the entity map in httpd_stats. 2022-01-18 14:26:38 +00:00
Sadie Powell
4856a8f967 Add constructors to the TokenList class. 2022-01-18 02:39:31 +00:00
Sadie Powell
d414992019 Add extra debug information to the module error message.
[skip windows ci]
2022-01-17 13:54:27 +00:00
Sadie Powell
72b1ade332 Fix the opermaxchans check, properly this time. 2022-01-16 22:06:55 +00:00
Sadie Powell
5881e6f6a3 Revert "Allow setting extension data on connect classes".
This can't reasonably be implemented safely with the current way
that extensibles work.

This reverts commit b867007d201b1a3b130186c54e41481c0374a7f6.
2022-01-16 15:05:00 +00:00
Sadie Powell
e66555dea3 Switch isupport to use a module-local map instead of an extensible. 2022-01-16 14:31:05 +00:00
Sadie Powell
5486c0f383 Add ConnectClass::Ptr as an alias for std::shared_ptr<ConnectClass>. 2022-01-16 14:26:49 +00:00
Sadie Powell
aeb0bc3294 Make 005 dependent on the connect class. 2022-01-16 02:19:16 +00:00
Sadie Powell
b867007d20 Allow setting extension data on connect classes. 2022-01-16 02:19:16 +00:00
Sadie Powell
926a043922 Merge branch 'insp3' into master. 2022-01-16 02:13:21 +00:00
Sadie Powell
d854d64e7d Fix updating connect classes when <connect:{allow, deny}> is set. 2022-01-16 02:11:09 +00:00
Sadie Powell
f3fa3716e5 Fix the previous commit on Windows. 2022-01-16 00:04:06 +00:00
Sadie Powell
e5633c6b61 Make MSBuild less spammy in CI output.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-01-15 23:48:13 +00:00
Sadie Powell
9059147974 Replace uses of the FileSystem class with std::filesystem. 2022-01-15 23:20:45 +00:00
Sadie Powell
3f184e79d4 Fix using the oper channel limit even if it is lower than the general limit. 2022-01-15 22:36:28 +00:00
Sadie Powell
3cc263858e Merge branch 'insp3' into master. 2022-01-15 19:50:32 +00:00
Sadie Powell
b52983b268 Improve CI scripts.
- Add support for skipping CI on specific platforms with commit comments.
- Add support for testing on Alpine (which uses musl instead of glibc).
- Rename "Linux CI" to "Ubuntu CI" now we test other Linux distros.
- Properly add packages to the PATH and LD_LIBRARY_PATH on macOS.
2022-01-15 18:36:51 +00:00
Sadie Powell
6c13a6c6de Fix a warning when building with the poll socket engine on Alpine. 2022-01-15 18:07:13 +00:00
Sadie Powell
581304f95d Add the ATTR_NOT_NULL define for marking arguments that can't be null. 2022-01-15 15:52:35 +00:00
Sadie Powell
94d42ad3ba Rename CUSTOM_PRINTF to ATTR_PRINTF.
ATTR_* matches the naming scheme which will be used for function
attributes from now on.

Also, redocument it to have a better description and allow Doxygen
to parse it.
2022-01-15 15:15:42 +00:00
Sadie Powell
cb5083af6d Fix a spanningtree linker error on FreeBSD armv7. 2022-01-15 10:16:12 +00:00
Sadie Powell
abeddc4f83 Merge branch 'insp3' into master. 2022-01-14 18:49:06 +00:00