From 10ec4b1c627606f6907ff376aeedc9c82ccd8b3a Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Sat, 2 Nov 2024 09:00:11 +0000 Subject: [PATCH] Update for the changes in v4.4.0. --- docs/3/modules/anticaps.yml | 48 +++++++++++++++++++++- docs/3/modules/hidechans.yml | 33 +++++++++++++++- docs/4/change-log.md | 66 +++++++++++++++++++++++++++++++ docs/4/configuration/_options.yml | 14 +++++-- docs/4/modules/anticaps.yml | 22 ++++++++++- docs/4/modules/chanhistory.yml | 28 ++++++++----- docs/4/modules/dnsbl.yml | 33 ++++++++++++++++ docs/4/modules/filter.yml | 7 ++++ docs/4/modules/geoclass.yml | 2 +- docs/4/modules/hidechans.yml | 9 ++++- docs/4/modules/messageflood.yml | 5 +-- docs/4/modules/repeat.yml | 9 +++-- docs/4/modules/sslinfo.yml | 4 ++ docs/server/messages/capab.yml | 2 +- 14 files changed, 256 insertions(+), 26 deletions(-) mode change 120000 => 100644 docs/3/modules/anticaps.yml mode change 120000 => 100644 docs/3/modules/hidechans.yml diff --git a/docs/3/modules/anticaps.yml b/docs/3/modules/anticaps.yml deleted file mode 120000 index a01026fe5..000000000 --- a/docs/3/modules/anticaps.yml +++ /dev/null @@ -1 +0,0 @@ -../../4/modules/anticaps.yml \ No newline at end of file diff --git a/docs/3/modules/anticaps.yml b/docs/3/modules/anticaps.yml new file mode 100644 index 000000000..eb9ee11d2 --- /dev/null +++ b/docs/3/modules/anticaps.yml @@ -0,0 +1,47 @@ +name: anticaps + +description: |- + This module adds channel mode `B` (anticaps) which allows channels to block messages which are excessively capitalised. + +configuration: +- name: anticaps + description: |- + The `` tag defines settings about how the anticaps module should behave. This tag can only be defined once. + attributes: + - name: lowercase + type: Text + required: false + default: abcdefghijklmnopqrstuvwxyz + description: |- + A list of characters to treat as lower case letters. + - name: uppercase + type: Text + required: false + default: ABCDEFGHIJKLMNOPQRSTUVWXYZ + description: |- + A list of characters to treat as upper case letters. + details: "" + example: |- + ```xml + + ``` + +chmodes: + chars: + - name: anticaps + char: B + type: Parameter + syntax: '{ban|block|mute|kick|kickban}::' + usable_by: Channel operators + description: |- + Enables blocking excessively capitalised messages. + example: + - description: |- + Kicks users who send a message which is longer than five characters and is more than 75% capital letters + text: |- + /MODE #channel +B kick:5:75 + +exemptions: +- name: anticaps + description: Allows exempted users to send overly capitalised messages. diff --git a/docs/3/modules/hidechans.yml b/docs/3/modules/hidechans.yml deleted file mode 120000 index 653001269..000000000 --- a/docs/3/modules/hidechans.yml +++ /dev/null @@ -1 +0,0 @@ -../../4/modules/hidechans.yml \ No newline at end of file diff --git a/docs/3/modules/hidechans.yml b/docs/3/modules/hidechans.yml new file mode 100644 index 000000000..e5022369c --- /dev/null +++ b/docs/3/modules/hidechans.yml @@ -0,0 +1,32 @@ +name: hidechans + +description: |- + This module adds user mode `I` (hidechans) which hides the channels users with it set are in from their `/WHOIS` response. + +configuration: +- name: hidechans + description: |- + The `` tag defines settings about how the hidechans module should behave. This tag can only be defined once. + attributes: + - name: affectsopers + type: Boolean + required: false + default: 'No' + description: |- + Whether server operators are affected by the user mode. + details: "" + example: |- + ```xml + + ``` + +umodes: + chars: + - name: hidechans + char: I + type: Switch + syntax: null + usable_by: Anyone + description: |- + Hides the channels the user is in from their `/WHOIS` response. + example: "" diff --git a/docs/4/change-log.md b/docs/4/change-log.md index 94bd760f3..ae938d164 100644 --- a/docs/4/change-log.md +++ b/docs/4/change-log.md @@ -6,6 +6,72 @@ title: v4 Change Log This page lists changes which have happened between releases. +### InspIRCd 4.4.0 + +**This version of InspIRCd was released on 2024-11-02.** + +- Added `` to allow customising the error shown when blocking an overly capitalised message. + +- Added `` to allow omitting messages from bots. + +- Added `` to allow showing the channel list of services pseudoclients to server operators. + +- Added a `/STATS` character to the sslinfo module for viewing ciphersuite info. + +- Added a faster method of converting values to a string for types that support it. + +- Added advertisement of the preferred extban format for services. + +- Added support for matching account bans against the entire nick group. + +- Added support for name-only extended bans. + +- Added support for named DNSBL replies and the `%reason%` variable in ``. + +- Added support for regex flags to the filter module. + +- Added the "opers" option to `` to allow only showing modes to an operator with the `channels/auspex` privilege. + +- Added the `%channel%` template variable to the messageflood and repeat error messages. + +- Changed the ldap module to use the Windows API for parsing LDAP URLs. + +- Changed the minimum value for `` from 1 to 2. + +- Developer: added `Time::FromNow` to convert a duration into a future timestamp. + +- Developer: moved core numerics back to a global header again. + +- Developer: switched several methods to take a string_view instead of a string. + +- Fixed "no tags to send" errors on some clients when `` is disabled. + +- Fixed extbans silently overwriting extbans with the same character from other modules. + +- Fixed potentially generating a malformed permchannels database. + +- Fixed rebuilding the 004 numeric when core_info is reloaded. + +- Fixed resending the 005 numerics when a user changes connect class. + +- Fixed the connectban module potentially generating a Z-line on a malformed CIDR range. + +- Fixed users not being removed from the services list when their server stops being a services server. + +- Fixed warning users about raw I/O logging after a rehash when started with `--nolog`. + +- Improved the restrictchans error message. + +- Improved the xline_db log messages. + +- Renamed `` to ``. + +- Reverted omission of services pseudoclients from the user count in `/LUSERS`. + +- Updated the location of the InspIRCd IRC channels. + +- Updated the Windows dependencies. + ### InspIRCd 4.3.0 **This version of InspIRCd was released on 2024-09-07.** diff --git a/docs/4/configuration/_options.yml b/docs/4/configuration/_options.yml index 59e46923d..260c13e9b 100644 --- a/docs/4/configuration/_options.yml +++ b/docs/4/configuration/_options.yml @@ -63,9 +63,9 @@ attributes: description: |- Whether to show the full user mask of a topic setter rather than just their nickname. - name: modesinlist - type: Boolean + type: Text required: false - default: 'Yes' + default: opers description: |- Whether to include the current channel modes in the `/LIST` output. - name: nosnoticestack @@ -139,6 +139,14 @@ details: |+ name | Normalise extbans to use their name. letter | Normalise extbans to use their letter. + The modesinlist field should be set to one of the following values: + + Value | Description + ----- | ----------- + yes | Show the current channel modes to all users. + opers | [**New in v4.4.0!**](/4/change-log/#inspircd-440) Show the current channel modes to server operators with the `channels/auspex` privilege. + no | Do not show the current channel modes in /LIST. + The splitwhois field should be set to one of the following values: Value | Description @@ -173,7 +181,7 @@ example: |- nosnoticestack="no" maskinlist="yes" maskintopic="yes" - modesinlist="no" + modesinlist="opers" prefixpart=""" prefixquit="Quit: " splitwhois="no" diff --git a/docs/4/modules/anticaps.yml b/docs/4/modules/anticaps.yml index eb9ee11d2..9f86835d9 100644 --- a/docs/4/modules/anticaps.yml +++ b/docs/4/modules/anticaps.yml @@ -8,6 +8,12 @@ configuration: description: |- The `` tag defines settings about how the anticaps module should behave. This tag can only be defined once. attributes: + - name: message + type: Text + required: false + default: Your message exceeded the %percent%%% upper case character threshold for %channel% + description: |- + The message to use when punishing users that hit the upper case character threshold. - name: lowercase type: Text required: false @@ -20,10 +26,22 @@ configuration: default: ABCDEFGHIJKLMNOPQRSTUVWXYZ description: |- A list of characters to treat as upper case letters. - details: "" + details: |- + The message field can contain any of the following template variables: + + Variable | Description + ------------- | ----------- + %channel% | The name of the channel the mode is set on. + %lower% | The number of lower case characters. + %minlen% | The minimum length from the mode value. + %percent% | The percentage from the mode value. + %punctuation% | The number of punctuation (non upper or lower) characters. + %upper% | The number of upper case characters. + example: |- ```xml - ``` diff --git a/docs/4/modules/chanhistory.yml b/docs/4/modules/chanhistory.yml index 9831f51d3..5b9b62f8b 100644 --- a/docs/4/modules/chanhistory.yml +++ b/docs/4/modules/chanhistory.yml @@ -8,12 +8,6 @@ configuration: description: |- The `` tag defines settings about how the chanhistory module should behave. This tag can only be defined once. attributes: - - name: bots - type: Boolean - required: false - default: 'Yes' - description: |- - Whether users with the bot user mode (+B) will receive history. - name: maxduration type: Duration required: false @@ -32,13 +26,29 @@ configuration: default: 'Yes' description: |- Whether to send a notice before sending history. + - name: + bots: 4.0.0 to 4.3.0 + sendtobots: since 4.4.0 + type: Boolean + required: false + default: 'Yes' + description: |- + Whether users with the bot user mode (+B) will receive history. + - name: savefrombots + type: Boolean + required: false + default: 'Yes' + added: 4.4.0 + description: |- + Whether messages from users with the bot user mode (+B) will be saved in the history. details: "" example: |- ```xml - + prefixmsg="yes" + savefrombots="yes" + sendtobots="yes"> ``` chmodes: diff --git a/docs/4/modules/dnsbl.yml b/docs/4/modules/dnsbl.yml index 8b29d88af..894a30c67 100644 --- a/docs/4/modules/dnsbl.yml +++ b/docs/4/modules/dnsbl.yml @@ -128,6 +128,7 @@ configuration: %ip% | The IP address of the user. %network% | **New in v4.1.0!** The name of the IRC network (from ``). %network.url% | **New in v4.1.0!** The name of the IRC network (from ``) encoded for use in an URL. + %reason% | **New in v4.4.0!** A human readable description of the DNSBL result (from ``). %result% | The record type returned by the DNSBL. The type field should be set to one of the following values: @@ -174,6 +175,38 @@ configuration: duration="7d" reason="Tor exit nodes are not allowed on this network. See https://metrics.torproject.org/rs.html#search/%ip% for more information."> ``` +- name: dnsblreply + description: |- + The `` tag defines the meaning of a reply from a DNSBL. This tag can be defined as many times as required. + attributes: + - name: name + type: Text + required: true + default: null + description: |- + The name of the DNSBL this reply applies to. + - name: reply + type: Number + required: true + default: null + description: |- + The DNSBL reply that this tag specifies a meaning for. + - name: description + type: Text + required: true + default: null + description: |- + A human readable description of the DNSBL reply. + details: "" + example: |- + Specifies that a result of 42 from the SpamBL DNSBL means that the user is connecting from an infected host. + + ```xml + + + ``` snomasks: - char: d diff --git a/docs/4/modules/filter.yml b/docs/4/modules/filter.yml index ca301eba2..466365c31 100644 --- a/docs/4/modules/filter.yml +++ b/docs/4/modules/filter.yml @@ -29,6 +29,12 @@ configuration: default: null description: |- The regular expression engine to use for checking matches. + - name: enableflags + type: Boolean + required: false + default: 'No' + description: |- + Whether to allow regex flags (`/pattern/flags`) to be used in a filter regular expression. - name: notifyuser type: Boolean required: false @@ -74,6 +80,7 @@ configuration: example: |- ```xml + ``` umodes: diff --git a/docs/4/modules/messageflood.yml b/docs/4/modules/messageflood.yml index 3f4eb466a..da52503c4 100644 --- a/docs/4/modules/messageflood.yml +++ b/docs/4/modules/messageflood.yml @@ -17,10 +17,9 @@ configuration: - name: message type: String required: false - default: Message flood (trigger is %messages% messages in %duration%) + default: Message flood detected (trigger is %messages% messages in %duration%) description: |- The message to use when punishing users that hit the message flood trigger. - - name: notice type: Decimal required: false @@ -51,7 +50,7 @@ configuration: example: |- ```xml diff --git a/docs/4/modules/repeat.yml b/docs/4/modules/repeat.yml index a4c1c31fa..d315caffc 100644 --- a/docs/4/modules/repeat.yml +++ b/docs/4/modules/repeat.yml @@ -35,9 +35,9 @@ configuration: - name: message type: String required: false - default: Repeat flood (trigger is %lines% messages in %duration%) + default: Repeat flood detected (trigger is %lines% messages in %duration%) description: |- - The message to kick users who repeat flood with. + The message to use when punishing users that hit the repeat flood trigger. - name: maxbacklog type: Number required: false @@ -69,10 +69,11 @@ configuration: description: |- The maximum number of characters to check for, can be used to truncate messages before they are checked, resulting in less CPU usage. details: |- - The kickmessage field can contain any of the following template variables: + The message field can contain any of the following template variables: Variable | Description ---------- | ----------- + %channel% | **New in v4.4.0!** The name of the channel the mode is set on. %diff% | The diff from the mode value. %duration% | The seconds from the mode value as a duration. %lines% | The lines from the mode value. @@ -81,7 +82,7 @@ configuration: example: |- ```xml - CAPABILITIES :[=]+ - - EXTBANS :[:=]+ + - EXTBANS :[:[=]]+ - MODULES :[[=]]+ - MODSUPPORT :[[=]]+ - CHANMODES :[:[]:=[]]+