14867 Commits

Author SHA1 Message Date
Sadie Powell
f20fa911c4 Increase the default connectban ban duration from 10m to 6h.
10m is borderline useless for preventing bot floods.
2022-04-05 18:28:31 +01:00
Sadie Powell
e5a724595f Default connectban cidr ranges to the values specified in <cidr>. 2022-04-05 18:28:31 +01:00
Sadie Powell
45643135c4 Fix the cban and connectban modules sending out duplicate snotices. 2022-04-05 18:28:31 +01:00
Sadie Powell
461b214b79 Fix the grammar of various xline messages. 2022-04-05 18:28:31 +01:00
Sadie Powell
9e3784dc0b Fix converting a token list to a string.
Fixes showing oper privs in /CHECK.
2022-04-05 15:51:10 +01:00
Sadie Powell
f5cf358c14 Remove a weird incorrect comment. 2022-04-03 10:48:06 +01:00
Sadie Powell
731fbab1a6 Fix server status messages unintentionally being sent to all users.
This fixes normal users seeing timedbans notices.

Thanks to @AndrioCelos for pointing this out.
2022-04-02 03:15:59 +01:00
Sadie Powell
2a3eff3dd6 Fix DisplayEmptyList not being called when a list does not exist. 2022-04-01 18:10:46 +01:00
Sadie Powell
e2b50c3551 Add the channels/ignore-chanfilter priv to the chanfilter module.
Closes #1971.
2022-03-28 17:22:51 +01:00
Sadie Powell
d9be3ed77f Add support for matching against geolocation data with WHO.
Closes #1969.
2022-03-25 13:18:45 +00:00
Sadie Powell
3bf6454518 Allow modules to handle WHO matching. 2022-03-25 13:18:42 +00:00
Sadie Powell
fb2a967575 Fix allowing modules to have a path on Windows. 2022-03-24 01:55:27 +00:00
Sadie Powell
42c97a9e70 Fix GNU++98 compatibility. 2022-03-24 01:42:32 +00:00
Sadie Powell
46f4a562c8 Fix using the prefix char instead of the prefix letter in oplevels. 2022-03-23 18:59:06 +00:00
Sadie Powell
770b8ec192 Add support for blocking invites to the commonchans module. 2022-03-23 14:33:57 +00:00
Sadie Powell
2468fc2582 Fix our WHO oplevels being incompatible with the WHOX spec.
Unlike in InspIRCd where 0 is an unprivileged member and higher
levels grant more privileges the WHOX spec defines the oplevel
field as using n/a for unprivileged users and the lower an oplevel
is the more privileges it grants. InspIRCd also uses values between
0 and UINT_MAX whereas WHOX only uses values between 0 and 999.

In order to work around this we now lazily build dummy oplevels for
the InspIRCd member ranks.
2022-03-22 17:15:38 +00:00
Sadie Powell
9260644ce9 Fix a typo in the connectban example config docs. 2022-03-22 15:31:31 +00:00
Sadie Powell
c87703e2a7 Rename <connectban:duration> to <connectban:banduration>. 2022-03-22 15:27:39 +00:00
Sadie Powell
8addeb78b7 Fix real name formatting bleeding into IRC messages. 2022-03-21 21:38:45 +00:00
Matt Schatz
3bb01023e8
m_deaf: Correct default return in HandleUser(). 2022-03-21 12:39:17 -06:00
Sadie Powell
fa06f210ef Swap out mysql-connector-c for libmysqlclient on Windows.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-03-19 20:09:23 +00:00
Val Lorentz
740e193f59
Add support for the <count> param of WHOWAS (#1968)
Not very useful IMO, but every server but InspIRCd seems to implement it,
and it's part of the RFCs:

* https://datatracker.ietf.org/doc/html/rfc1459#section-4.5.3
* https://datatracker.ietf.org/doc/html/rfc2812#section-3.6.3
2022-03-19 18:13:10 +00:00
Sadie Powell
bc64702bb2 Update the Windows dependencies. 2022-03-19 17:31:32 +00:00
Sadie Powell
988b7f0f3c Raise the minimum CMake version on Windows to 3.8.
This matches master and guarantees stuff will keep working with
upcoming CMake deprecations.
2022-03-19 17:31:32 +00:00
Valentin Lorentz
342f1f193d Reverse order of WHOWAS replies
To be consistent with other implementations + the RFCs:

* https://datatracker.ietf.org/doc/html/rfc1459#section-4.5.3
* https://datatracker.ietf.org/doc/html/rfc2812#section-3.6.3
2022-03-19 17:27:11 +00:00
Sadie Powell
e3f8149f65 Fix a compiler warning on Windows. 2022-03-19 16:36:25 +00:00
Sadie Powell
8342d531ff Use UCHAR_MAX instead of raw sizes in channames.
This matches other code that does similar things.
2022-03-11 12:17:57 +00:00
Sadie Powell
4cff9c460e Only set the chanlog channel name handler after reading the config.
Fixes IsChannel returning false for a valid channel name because
the bitset is empty on server boot.
2022-03-11 11:53:25 +00:00
Sadie Powell
9e3c44ef20 Improve chanlog config reading. 2022-03-09 17:14:06 +00:00
Sadie Powell
c20ca3382f Use windows-2019 for Windows builds. 2022-02-21 15:31:35 +00:00
Sadie Powell
f0ba324513 Update Windows dependencies.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-02-20 16:03:27 +00:00
Sadie Powell
f49f797743 Build missing Conan dependencies.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-02-20 15:59:57 +00:00
Sadie Powell
20efc7adda Handle negative times in InspIRCd::Duration. 2022-02-14 20:28:08 +00:00
Sadie Powell
4169e0e799 Make the accessor methods in ssl_cert const. 2022-02-14 20:28:08 +00:00
iwalkalone
5027a63e52
Change delaymsg to use exemptchanops and have an oper priv (#1959). 2022-02-13 14:54:47 +00:00
Sadie Powell
2b2a3a31d7 Add an option to allow channel ops to enable the permchannels mode.
Closes #1964.
2022-02-05 23:40:40 +00:00
Sadie Powell
24229f59f7 Squash an unnecessary string copy in SQL::Error. 2022-02-05 01:52:45 +00:00
Sadie Powell
744f8b4604 Fix various minor Doxygen warnings. 2022-02-02 14:15:57 +00:00
Sadie Powell
170a26e72b Fix splitting servers multiple times in some cases. 2022-02-01 11:26:31 +00:00
Sadie Powell
3ff3810ca1 Fix duplicate messages when a server connection errors. 2022-02-01 11:12:32 +00:00
Sadie Powell
63aa0a11e0 Fix SSL modules not being able to access the system-wide SSL dirs. 2022-01-31 18:23:00 +00:00
Sadie Powell
c89dc0612a Include the upstream license files for vendored libraries. 2022-01-31 00:11:44 +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
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
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
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