Class RoomServerAclContent
- java.lang.Object
-
- io.github.ma1uta.matrix.event.content.RoomServerAclContent
-
- All Implemented Interfaces:
EventContent
public class RoomServerAclContent extends Object implements EventContent
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.
The allow and deny lists are lists of globs supporting ? and * as wildcards. When comparing against the server ACLs, the suspect server's port number must not be considered. Therefore evil.com, evil.com:8448, and evil.com:1234 would all match rules that apply to evil.com, for example.
The ACLs are applied to servers when they make requests, and are applied in the following order:- If there is no m.room.server_acl event in the room state, allow.
- If the server name is an IP address (v4 or v6) literal, and allow_ip_literals is present and false, deny.
- If the server name matches an entry in the deny list, deny.
- If the server name matches an entry in the allow list, allow.
- Otherwise, deny.
-
-
Field Summary
Fields Modifier and Type Field Description private List<String>
allow
The server names to allow in the room, excluding any port information.private Boolean
allowIpLiterals
True to allow server names that are IP address literals.private List<String>
deny
The server names to disallow in the room, excluding any port information.
-
Constructor Summary
Constructors Constructor Description RoomServerAclContent()
-
-
-
Field Detail
-
allowIpLiterals
private Boolean allowIpLiterals
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.
-
allow
private List<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.
This defaults to an empty list when not provided, effectively disallowing every server.
-
-