14874 Commits

Author SHA1 Message Date
Sadie Powell
7385ceccb1 Expose the invite announcement level to modules. 2022-04-07 20:00:52 +01:00
Sadie Powell
1d173d4911 GnuTLS DH parameters are optional from 3.6.0+ not 3.5.6+. 2022-04-07 00:14:05 +01:00
Sadie Powell
070d414310 Use consistent xline messages locally
For connectban these messages would have previously been duplicated
to other servers until this was fixed earlier today. For dnsbl and
rline they would have just differed on the local to a remote.

As of the previous commit the module name is included in the setter
so there is no need to vary the snotice. This makes things more
consistent for server operators and allows scripts to parse the
messages.
2022-04-05 23:21:47 +01:00
Sadie Powell
38c305bf0a Notify opers about the connectban zline being added before applying it.
This matches behaviour elsewhere.
2022-04-05 23:13:10 +01:00
Sadie Powell
ddf306850e Include the module name in the setter for server-added xlines. 2022-04-05 22:57:39 +01:00
Sadie Powell
233f3b55a2 Fix some more grammar errors in xline messages. 2022-04-05 20:50:05 +01:00
Sadie Powell
662fb00ad1 Update the Windows dependencies to fix a version conflict.
[skip alpine ci]
[skip macos ci]
[skip ubuntu ci]
2022-04-05 18:43:37 +01:00
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