mtx::events::state::ServerAcl struct

Content for the m.room.server_acl event.

An event to indicate which servers are permitted to participate in the room. Server ACLs may allow or deny groups of hosts. All servers participating in the room, including those that are denied, are expected to uphold the server ACL. Servers that do not uphold the ACLs MUST be added to the denied hosts list in order for the ACLs to remain effective.

Public variables

std::vector<std::string> allow
The server names to allow in the room, excluding any port information. Wildcards may be used to cover a wider range of hosts, where * matches zero or more characters and ? matches exactly one character.
std::vector<std::string> deny
The server names to disallow in the room, excluding any port information. Wildcards may be used to cover a wider range of hosts, where * matches zero or more characters and ? matches exactly one character.
bool allow_ip_literals
True to allow server names that are IP address literals. False to deny. Defaults to true if missing or otherwise not a boolean.

Friends

void from_json(const nlohmann::json& obj, ServerAcl& content)
Deserialization method needed by nlohmann::json.
void to_json(nlohmann::json& obj, const ServerAcl& content)
Serialization method needed by nlohmann::json.

Variable documentation

std::vector<std::string> mtx::events::state::ServerAcl::allow

The server names to allow in the room, excluding any port information. Wildcards may be used to cover a wider range of hosts, where * matches zero or more characters and ? matches exactly one character.

This defaults to an empty list when not provided, effectively disallowing every server.

std::vector<std::string> mtx::events::state::ServerAcl::deny

The server names to disallow in the room, excluding any port information. Wildcards may be used to cover a wider range of hosts, where * matches zero or more characters and ? matches exactly one character.

This defaults to an empty list when not provided.

bool mtx::events::state::ServerAcl::allow_ip_literals

True to allow server names that are IP address literals. False to deny. Defaults to true if missing or otherwise not a boolean.

This is strongly recommended to be set to false as servers running with IP literal names are strongly discouraged in order to require legitimate homeservers to be backed by a valid registered domain name.