Skip to content

Commit

Permalink
Update docs for the v4.0.0a25 release.
Browse files Browse the repository at this point in the history
  • Loading branch information
SadieCat committed Mar 1, 2024
1 parent d61d8c0 commit 45cb3ca
Show file tree
Hide file tree
Showing 21 changed files with 153 additions and 57 deletions.
2 changes: 1 addition & 1 deletion docs/3/modules/nokicks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ extbans:
/MODE #channel +b Q:*!*@example.com
special_notes: |-
You should consider using [the mlock module](/{{ version }}/modules/mlock) and the mode locking feature of your IRC services to prevent privileged users from evading this mode by unsetting it.
You should consider using [the mlock module](/3/modules/mlock) and the mode locking feature of your IRC services to prevent privileged users from evading this mode by unsetting it.
18 changes: 14 additions & 4 deletions docs/4/change-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@ This page lists changes which have happened between releases.

### InspIRCd 4.0.0a25

<!-- TODO: ensure changes after commit 25bf927365204c2474b958d3f9b514f777e90a31 are added to this list before release. -->

**This version of InspIRCd has not yet been released.**
**This pre-release version of InspIRCd was released on 2024-02-01.**

- Added `/LOGIN` and `/LOGOUT` aliases to the generic services example config.

Expand All @@ -28,24 +26,36 @@ This page lists changes which have happened between releases.

- Added the `$address` variable to the alias module.

- Added the `case` option to cloak_user option to allow controlling cloak cases.
- Added the `SVSCMODE` S2S message to allow services to clear modes matching a user.

- Added the `case` option to cloak_user's cloak config to allow controlling cloak cases.

- Added the `fingerprint` cloak engine to the cloak_user module.

- Allowed setting `<securelist:waittime>` to 0 when `<securelist:exemptregistered>` is enabled to disable `/LIST` for unregistered users.

- Changed the `FIDENT` S2S message to allow a second parameter that changes the real username of a remote user.

- Fixed not unsetting oper connect classes when logging out of an oper account.

- Fixed parsing messages in the v3 server protocol compatibility layer.

- Improved the layout of the config files generated by the permchannels module.

- Merged the `mlock` module into the `services` module.

- Merged the `topiclock` module into the `services` module.

- Moved the `SVSJOIN`, `SVSNICK`, and `SVSPART` messages from the spanningtree module to the services module.

- Renamed `<options:hostintopic>` to `<options:maskintopic>`.

- Renamed the `hmac-sha256-ip` cloak engine to `hmac-sha256-addr`.

- Replaced `<sslinfo:spkifp>` with the `spki-` prefix in the `<sslinfo:hash>` value.

- Replaced the `FRHOST` S2S message introduced in 4.0.0a5 with a two parameter version of the `FHOST` message.

### InspIRCd 4.0.0a24

**This pre-release version of InspIRCd was released on 2023-09-01.**
Expand Down
2 changes: 1 addition & 1 deletion docs/4/configuration/_log.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ details: |+
m_pgsql | critical<br>normal<br>debug | Messages relating to [the pgsql module](/4/modules/pgsql).
m_regex_pcre | normal | Messages relating to [the regex_pcre module](/4/modules/regex_pcre).
m_sasl | normal<br>debug | Messages relating to [the sasl module](/4/modules/sasl).
m_services | debug | Messages relating to [the services module](/4/modules/services).
m_showfile | warning | Messages relating to [the showfile module](/4/modules/showfile).
m_silence | debug | Messages relating to [the silence module](/4/modules/silence).
m_spanningtree | warning<br>normal<br>debug<br>rawio | Messages relating to [the spanningtree module](/4/modules/spanningtree).
Expand All @@ -118,7 +119,6 @@ details: |+
m_ssl_openssl | warning<br>normal<br>debug | Messages relating to [the ssl_openssl module](/4/modules/ssl_openssl).
m_sslinfo | debug | Messages relating to [the sslinfo module](/4/modules/sslinfo).
m_sslrehashsignal | normal | Messages relating to [the sslrehashsignal module](/4/modules/sslrehashsignal).
m_topiclock | debug | Messages relating to [the topiclock module](/4/modules/topiclock).
m_vhost | warning | Messages relating to [the vhost module](/4/modules/vhost).
m_xline_db | critical<br>debug | Messages relating to [the xline_db module](/4/modules/xline_db).
Expand Down
19 changes: 13 additions & 6 deletions docs/4/configuration/_options.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,24 @@ attributes:
default: null
description: |-
If defined then a static value to replace users' quit messages with.
- name: hostintopic
- name: invitebypassmodes
type: Boolean
required: false
default: 'Yes'
description: |-
Whether being invited to a channel allows the invitee to bypass channel modes which would otherwise prevent them from joining.
- name: maskinlist
type: Boolean
required: false
default: 'No'
description: |-
Whether to show the full user mask of a topic setter rather than just their nickname.
- name: invitebypassmodes
Whether to show the full user mask of a list mode setter rather than just their nickname.
- name: maskintopic
type: Boolean
required: false
default: 'Yes'
default: 'No'
description: |-
Whether being invited to a channel allows the invitee to bypass channel modes which would otherwise prevent them from joining.
Whether to show the full user mask of a topic setter rather than just their nickname.
- name: modesinlist
type: Boolean
required: false
Expand Down Expand Up @@ -163,9 +169,10 @@ example: |-
extbanformat="name"
fixedpart=""
fixedquit=""
hostintopic="yes"
invitebypassmodes="yes"
nosnoticestack="no"
maskinlist="yes"
maskintopic="yes"
modesinlist="no"
prefixpart="&quot;"
prefixquit="Quit: "
Expand Down
1 change: 1 addition & 0 deletions docs/4/modules/alias.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ configuration:
------------ | -----------
$1 to $9 | The value of the parameter at the specified position.
$1- to $9- | The values of the parameters at and after the specified position.
$address | The IP address or UNIX socket path of the user that executed the command.
$chan | If executed as a channel command then the name of the channel.
$host | The real hostname of the user that executed the command.
$nick | The nickname of the user that executed the command.
Expand Down
21 changes: 11 additions & 10 deletions docs/4/modules/cloak.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,17 @@ configuration:
details: |-
The method field should be set to one of the following values:
Value | Module | Description
-------------- | --------------------------------------- | -----------
account | [cloak_user](/4/modules/cloak_user) | Cloak the user with their account name. Requires [the account module](/4/configuration/account).
account-id | [cloak_user](/4/modules/cloak_user) | Cloak the user with their account id. Requires [the account module](/4/configuration/account).
full | [cloak_md5](/4/modules/cloak_md5) | *Deprecated!* Cloak with three salted MD5 hashes of significant ranges of a user's IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Does not cloak UNIX socket users. Requires [the md5 module](/4/configuration/md5).
half | [cloak_md5](/4/modules/cloak_md5) | *Deprecated!* If the user has a DNS hostname then cloak all but the last few labels with a salted MD5 hash. Otherwise, cloak with a salted MD5 hash of the most unique /16 subnet of a IPv4 address or /48 subnet of a IPv6 address. Does not cloak UNIX socket users. Requires [the md5 module](/4/configuration/md5).
hmac-sha256 | [cloak_sha256](/4/modules/cloak_sha256) | If the user has a DNS hostname or is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their hostname and socket path suffixed with the public part of that value. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Requires [the sha2 module](/4/configuration/sha2).
hmac-sha256-ip | [cloak_sha256](/4/modules/cloak_sha256) | If the user is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their socket path suffixed with the public part of the path. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Requires [the sha2 module](/4/configuration/sha2).
nickname | [cloak_user](/4/modules/cloak_user) | Cloak the user with their nickname.
username | [cloak_user](/4/modules/cloak_user) | Cloak the user with their real username.
Value | Module | Description
---------------- | --------------------------------------- | -----------
account | [cloak_user](/4/modules/cloak_user) | Cloak the user with their account name. Requires [the account module](/4/configuration/account).
account-id | [cloak_user](/4/modules/cloak_user) | Cloak the user with their account id. Requires [the account module](/4/configuration/account).
fingerprint | [cloak_user](/4/modules/cloak_user) | Cloak the user with their TLS fingerprint. Requires [the sslinfo module](/4/configuration/sslinfo).
full | [cloak_md5](/4/modules/cloak_md5) | *Deprecated!* Cloak with three salted MD5 hashes of significant ranges of a user's IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Does not cloak UNIX socket users. Requires [the md5 module](/4/configuration/md5).
half | [cloak_md5](/4/modules/cloak_md5) | *Deprecated!* If the user has a DNS hostname then cloak all but the last few labels with a salted MD5 hash. Otherwise, cloak with a salted MD5 hash of the most unique /16 subnet of a IPv4 address or /48 subnet of a IPv6 address. Does not cloak UNIX socket users. Requires [the md5 module](/4/configuration/md5).
hmac-sha256 | [cloak_sha256](/4/modules/cloak_sha256) | If the user has a DNS hostname or is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their hostname and socket path suffixed with the public part of that value. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Requires [the sha2 module](/4/configuration/sha2).
hmac-sha256-addr | [cloak_sha256](/4/modules/cloak_sha256) | If the user is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their socket path suffixed with the public part of the path. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (IPv4: /16 /24 /32, IPv6: /32 /48 /64). Requires [the sha2 module](/4/configuration/sha2).
nickname | [cloak_user](/4/modules/cloak_user) | Cloak the user with their nickname.
username | [cloak_user](/4/modules/cloak_user) | Cloak the user with their real username.
- name: connect
description: |-
Expand Down
8 changes: 4 additions & 4 deletions docs/4/modules/cloak_sha256.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ introduction: |-
This module can be built against a third-party library ([libpsl](https://github.com/rockdaboot/libpsl)) to add more features.
description: |-
This module adds the `hmac-sha256` and `hmac-sha256-ip` cloaking methods for use with [the cloak module](/4/modules/cloak).
This module adds the `hmac-sha256` and `hmac-sha256-addr` cloaking methods for use with [the cloak module](/4/modules/cloak).
configuration:
- name: cloak
Expand All @@ -18,7 +18,7 @@ configuration:
- name: hmac-sha256
description: |-
If the user has a DNS hostname or is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their hostname and socket path suffixed with the public part of that value. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (see below).
- name: hmac-sha256-ip
- name: hmac-sha256-addr
description: |-
If the user is connecting via a UNIX socket then cloak with an HMAC-SHA256 hash of their socket path suffixed with the public part of the path. Otherwise, cloak with three HMAC-SHA256 hashes of significant ranges of their IP address (see below).
attributes:
Expand Down Expand Up @@ -93,10 +93,10 @@ configuration:
class="">
```
Cloaking using the hmac-sha256-ip method:
Cloaking using the hmac-sha256-addr method:
```xml
<cloak method="hmac-sha256-ip"
<cloak method="hmac-sha256-addr"
key="changeme"
prefix="MyNet"
suffix="ip"
Expand Down
33 changes: 32 additions & 1 deletion docs/4/modules/cloak_user.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: cloak_user

description: |-
This module adds the `account`, `account-id`, `nickname`, and `username` cloaking methods for use with [the cloak module](/4/modules/cloak).
This module adds the `account`, `account-id`, `fingerprint`, `nickname`, and `username` cloaking methods for use with [the cloak module](/4/modules/cloak).
configuration:
- name: cloak
Expand All @@ -24,6 +24,11 @@ configuration:
description: |-
Cloak users with their real username.
attributes:
- name: case
type: Text
default: preserve
description: |-
The case to transform the cloaked data to.
- name: class
type: String
required: false
Expand All @@ -48,6 +53,14 @@ configuration:
description: |-
The value to suffix cloaks with.
details: |-
The case field should be set to one of the following values:
Value | Description
-------- | -----------
lower | Convert the cloaked data to lower case.
upper | Convert the cloaked data to upper case.
preserve | Preserve the case of the cloaked data.
The invalidchar field should be set to one of the following values:
Value | Description
Expand All @@ -61,6 +74,7 @@ configuration:
```xml
<cloak method="account"
case="preserve"
class=""
invalidchar="strip"
prefix="MyNet/"
Expand All @@ -71,16 +85,32 @@ configuration:
```xml
<cloak method="account-id"
case="preserve"
class=""
invalidchar="strip"
prefix="MyNet/"
suffix="">
```
Cloaking using the fingerprint method:
```xml
<cloak method="fingerprint"
case="preserve"
class=""
invalidchar="strip"
length="32"
prefix="MyNet/"
suffix=""
sanitize="yes">
```
Cloaking using the nickname method:
```xml
<cloak method="nickname"
case="preserve"
class=""
invalidchar="strip"
prefix="MyNet/"
Expand All @@ -91,6 +121,7 @@ configuration:
```xml
<cloak method="username"
case="preserve"
class=""
invalidchar="strip"
prefix="MyNet/"
Expand Down
6 changes: 2 additions & 4 deletions docs/4/modules/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ Name | Description
[clearchan](/4/modules/clearchan) | Adds the /CLEARCHAN command which allows server operators to mass-punish the members of a channel.
[cloak](/4/modules/cloak) | Adds user mode x (cloak) which allows user hostnames to be hidden.
[cloak_md5](/4/modules/cloak_md5) | Adds the half and full cloaking methods for use with the cloak module.
[cloak_sha256](/4/modules/cloak_sha256) | Adds the hmac-sha256 and hmac-sha256-ip cloaking methods for use with the cloak module.
[cloak_sha256](/4/modules/cloak_sha256) | Adds the hmac-sha256 and hmac-sha256-addr cloaking methods for use with the cloak module.
[cloak_static](/4/modules/cloak_static) | Adds the static cloaking method for use with the cloak module.
[cloak_user](/4/modules/cloak_user) | Adds the account, account-id, nickname, and username cloaking methods for use with the cloak module.
[cloak_user](/4/modules/cloak_user) | Adds the account, account-id, fingerprint, nickname, and username cloaking methods for use with the cloak module.
[codepage](/4/modules/codepage) | Allows the server administrator to define what characters are allowed in nicknames and how characters should be compared in a case insensitive way.
[commonchans](/4/modules/commonchans) | Adds user mode c (deaf_commonchan) which requires users to have a common channel before they can privately message each other.
[conn_join](/4/modules/conn_join) | Allows the server administrator to force users to join one or more channels on connect.
Expand Down Expand Up @@ -107,7 +107,6 @@ Name | Description
[maphide](/4/modules/maphide) | Allows the server administrator to replace the output of a /MAP and /LINKS with an URL.
[md5](/4/modules/md5) | Allows other modules to generate MD5 hashes.
[messageflood](/4/modules/messageflood) | Adds channel mode f (flood) which helps protect against spammers which mass-message channels.
[mlock](/4/modules/mlock) | Allows services to lock channel modes so that they can not be changed.
[monitor](/4/modules/monitor) | Adds the /MONITOR command which allows users to find out when their friends are connected to the server.
[multiprefix](/4/modules/multiprefix) | Provides the IRCv3 multi-prefix client capability.
[muteban](/4/modules/muteban) | Adds extended ban m: (mute) which bans specific masks from speaking in a channel.
Expand Down Expand Up @@ -175,7 +174,6 @@ Name | Description
[swhois](/4/modules/swhois) | Adds the /SWHOIS command which adds custom lines to a user's WHOIS response.
[timedbans](/4/modules/timedbans) | Adds the /TBAN command which allows channel operators to add bans which will be expired after the specified period.
[tline](/4/modules/tline) | Adds the /TLINE command which allows server operators to determine how many users would be affected by an X-line on a specified pattern.
[topiclock](/4/modules/topiclock) | Allows services to lock the channel topic so that it can not be changed.
[uhnames](/4/modules/uhnames) | Provides the IRCv3 userhost-in-names client capability.
[uninvite](/4/modules/uninvite) | Adds the /UNINVITE command which allows users who have invited another user to a channel to withdraw their invite.
[vhost](/4/modules/vhost) | Allows the server administrator to define accounts which can grant a custom virtual host.
Expand Down
1 change: 0 additions & 1 deletion docs/4/modules/mlock.yml

This file was deleted.

1 change: 0 additions & 1 deletion docs/4/modules/nokicks.yml

This file was deleted.

32 changes: 32 additions & 0 deletions docs/4/modules/nokicks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: nokicks

description: |-
This module adds channel mode `Q` (nokick) which prevents privileged users from using the `/KICK` command.
chmodes:
chars:
- name: nokick
char: Q
type: Switch
syntax: null
usable_by: Channel operators
description: |-
Prevents privileged users from using the `/KICK` command.
example: ""

extbans:
description: ""
chars:
- name: nokick
char: Q
type: Acting
syntax: <mask>
description: Bans privileged users matching &lt;mask&gt; from using the `/KICK` command.
example:
- description: |-
Bans privileged users matching `*!*@example.com` from using the `/KICK` command
text: |-
/MODE #channel +b Q:*!*@example.com
special_notes: |-
You should consider using [the services module](/4/modules/services) and the mode locking feature of your IRC services to prevent privileged users from evading this mode by unsetting it.
2 changes: 1 addition & 1 deletion docs/4/modules/opmoderated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ chmodes:
example: ""

exemptions:
- name: blockcolor
- name: opmoderated
description: |-
Allows exempted users to send messages to all users of the channel.
Expand Down
Loading

0 comments on commit 45cb3ca

Please sign in to comment.