15439 Commits

Author SHA1 Message Date
Sadie Powell
4f58176bc2 Merge branch 'insp3' into master. 2022-04-26 17:09:31 +01:00
Sadie Powell
cf3be77fbf Implement support for the IRCv3 bot tag. 2022-04-26 16:55:42 +01:00
Sadie Powell
875d40036f Migrate Windows build instructions to the docs site. 2022-04-24 23:52:45 +01:00
Sadie Powell
b77fb7f51a Update the supported CMake versions in the readme. 2022-04-24 23:12:08 +01:00
Sadie Powell
2615adfd4c Modernise the CMake syntax slightly.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-24 21:14:30 +01:00
Sadie Powell
ff329c6e4a Install the example configs/sql/locales properly on Windows.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-24 19:30:04 +01:00
Sadie Powell
adc3d19c1e Update the instructions for how to enable modules on Windows.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
[skip windows ci]
2022-04-24 18:27:10 +01:00
Sadie Powell
706ac54179 Enable all dependencies for Windows CI.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-24 17:21:49 +01:00
Sadie Powell
4284b7a461 Allow building with license-incompatible modules if manually enabled.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-24 17:21:31 +01:00
Sadie Powell
11e19ee27b Add a function for enabling extra modules on Windows.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-24 17:05:42 +01:00
Sadie Powell
5440586cfe Newer versions of mbedTLS can only be static linked on Windows.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-24 16:29:10 +01:00
Sadie Powell
7758577120 Fix building the Windows package on NSIS 3. 2022-04-24 15:28:01 +01:00
Sadie Powell
d682f3f2c9 Only write to the pid file on boot.
Being able to change this after first boot is error prone and does
not work well on system-wide installs where the server needs root
to write the file.

Closes #566.
2022-04-23 09:57:52 +01:00
Sadie Powell
455e8dadb2 Respect the invite announcement level when announcing knocks.
Closes #1976.
2022-04-23 09:18:01 +01:00
Sadie Powell
c886bc0395 Remove a forward declaration for a non-existent type. 2022-04-21 22:51:14 +01:00
Sadie Powell
13128cdc5b Update Doxygen config for the latest version. 2022-04-21 16:51:15 +01:00
Sadie Powell
9fbcb685e8 Merge branch 'insp3' into master. 2022-04-21 16:32:29 +01:00
Sadie Powell
cdd80af74c Add support for automatically expiring the override user mode. 2022-04-21 16:17:10 +01:00
Sadie Powell
5d90fa4c6e Mark the main loop as noreturn. 2022-04-21 09:20:33 +01:00
Sadie Powell
b122c182cc Fix an outdated comment. 2022-04-20 23:57:04 +01:00
Sadie Powell
47515ac269 Fix a now outdated documentation comment. 2022-04-18 18:04:59 +01:00
Sadie Powell
7b72365bdf Also send ACCOUNT to the user who is authenticating.
Closes #1974.
2022-04-18 13:16:47 +01:00
Sadie Powell
d45fe55f0e Constify the parameter arguments in ListModeBase's Tell* methods. 2022-04-17 14:57:41 +01:00
Sadie Powell
d856205432 Fix doxygen to include the public module header files. 2022-04-17 14:16:05 +01:00
Sadie Powell
b6c77b3e01 Fix a missing doxygen comment. 2022-04-17 12:13:35 +01:00
Sadie Powell
27c0ae9433 Allow normalising extbans to a specific format.
Also, fix canonicalisation of acting extban values.
2022-04-17 12:08:57 +01:00
Sadie Powell
57b3a40afa Refactor ListModeBase::OnModeChange. 2022-04-17 11:23:14 +01:00
Sadie Powell
80e8013282 Remove ValidateParam and rename CanonicalizeParam.
There's basically no safe way to handle a malformed list mode
sent by a remote server without causing a desync. Its probably
for the best if we just only apply validation to locally added
list modes entries.
2022-04-17 11:14:39 +01:00
Sadie Powell
3b71730688 Refactor CleanMask to cover more edge cases.
Test results from during refactoring:
  PASS:          => *!*@*
  PASS: !        => *!*@*
  PASS: @        => *!*@*
  PASS: !foo@bar => *!foo@bar
  PASS: fo:ob:ar => *!*@fo:ob:ar
  PASS: foo!@bar => foo!*@bar
  PASS: foo!bar  => foo!bar@*
  PASS: foo!bar@ => foo!bar@*
  PASS: foo.bar  => *!*@foo.bar
  PASS: foo@bar  => *!foo@bar
  PASS: !foo@    => *!foo@*
  PASS: foo      => foo!*@*
  PASS: foo!     => foo!*@*
2022-04-16 20:09:53 +01:00
Sadie Powell
30edd1070d Merge branch 'insp3' into master. 2022-04-16 16:16:29 +01:00
dependabot[bot]
97363d8cf4 Bump peter-evans/create-pull-request from 3 to 4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-16 15:55:04 +01:00
dependabot[bot]
054d1f7646 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-16 15:51:49 +01:00
Sadie Powell
e6fc04dac2 Allow dependabot to update the GitHub Actions dependencies. 2022-04-16 15:39:24 +01:00
Sadie Powell
76ba40f304 Fix the command used to retrieve the number of cores on Alpine.
[skip macos ci]
[skip ubuntu ci]
[skip windows ci]
2022-04-16 12:15:40 +01:00
Sadie Powell
c0bc5bf798 Add ListModeBase::CanonicalizeParam, fix cleaning extban masks. 2022-04-16 12:01:59 +01:00
Sadie Powell
985ef046ce Add a class that wraps a dynamic reference to the extban manager. 2022-04-16 10:52:34 +01:00
Sadie Powell
1f7f3ea6a6 Move most channel mode constructors to their own source file.
+k will be removed later once we have better validation.
2022-04-16 10:24:48 +01:00
Sadie Powell
8656e9cce1 Replace duplicated documentation with @copydoc. 2022-04-16 09:38:34 +01:00
Sadie Powell
0cf1eb4b04 Make the parameter field of ValidateParam const. 2022-04-16 09:17:27 +01:00
Sadie Powell
a810c07ccf Remove FPART, force REMOVE to always use the new syntax.
FPART was deprecated in v3 when the parameters for REMOVE were
switched.

This does not need any compat layer changes as v3 always forwarded
FPART as REMOVE.
2022-04-16 08:35:26 +01:00
Sadie Powell
73a4b470b2 Use FindNearestPrefixMode instead of looking for the halfop mode. 2022-04-12 21:42:14 +01:00
Sadie Powell
7266f8681d Add a numeric builder for the ERR_CHANOPRIVSNEEDED numeric.
This should make privilege errors more consistent.
2022-04-12 12:48:54 +01:00
Sadie Powell
c48c5f374b Use ERR_RESTRICTED when an action can't be done even with privileges. 2022-04-12 01:21:06 +01:00
Sadie Powell
fa8c035373 Use ERR_UNAVAILRESOURCE for things that should be retried later.
Also move it to the global numerics header to avoid duplication.
2022-04-12 00:52:10 +01:00
Sadie Powell
1faa31bb42 Fix using notices instead of the appropriate numerics in rmode. 2022-04-12 00:07:17 +01:00
Sadie Powell
6830169ef1 Add a method for finding the next prefix mode above a rank. 2022-04-11 23:49:22 +01:00
Sadie Powell
79b1c44721 Add a method to ConfigTag to help with retrieving a single character. 2022-04-10 23:43:43 +01:00
Sadie Powell
a3864dabc7 Fix <security announceinvites="dynamic"> when halfop is not loaded. 2022-04-07 20:25:07 +01:00
Sadie Powell
7385ceccb1 Expose the invite announcement level to modules. 2022-04-07 20:00:52 +01:00
Sadie Powell
2b3f3b2797 Fix serialising the kicknorejoin link data. 2022-04-07 14:02:39 +01:00