Module banlist

Source
Expand description

Versioned banlist settings files.

Modules§

legacy 🔒
v0 🔒
This module represents a banlist version that isn’t actually used. It is here and part of the migration process to provide an example for how to perform a migration for an old version; please use this as a reference when constructing new migrations.
v1 🔒
v2 🔒

Structs§

Ban
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
BanEntry
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
BanInfo
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade. NOTE: May not be present if performed from the command line or from a legacy file.
BanRecord
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
Banlist
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
IpBanEntry
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
IpBanRecord
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
NormalizedIpAddr
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade. The last 64 bits of IPv6 addresess may vary a lot even when coming from the same client, and taking the full IPv6 for IP bans is thus useless.

Enums§

BanAction
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade.
BanError
BanErrorKind
BanKind
BanOperation
NOTE: This isn’t serialized so we can place it outside the versioned modules.
BanOperationError
BanlistRaw
Versioned settings files, one per version (v0 is only here as an example; we do not expect to see any actual v0 settings files).
Role
NOTE: Always replace this with the latest banlist version. Then update the BanlistRaw, the TryFrom for Banlist, the previously most recent module, and add a new module for the latest version! Please respect the migration upgrade guarantee found in the parent module with any upgrade. Important: even if the role we are storing here appears to be identical to one used in another versioned store (like admin::Role), we must have our own versioned copy! This ensures that if there’s an update to the role somewhere else, the conversion function between them will break, letting people make an intelligent decision.

Type Aliases§

Final 🔒