Class FederationOptions
Federation with other homeservers, configuration section Section.
Implements
Inherited Members
Namespace: Uniform.Matrix.Server.Configuration
Assembly: Uniform.Matrix.Server.dll
Syntax
public sealed record FederationOptions : IEquatable<FederationOptions>
Fields
| Edit this page View SourceSection
Configuration section name.
Declaration
public const string Section = "Federation"
Field Value
| Type | Description |
|---|---|
| string |
Properties
| Edit this page View SourceAllowPrivateAddresses
Whether to reach servers at private, loopback and link-local addresses; off, so remote names cannot make the server reach machines inside its network.
Declaration
public bool AllowPrivateAddresses { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Enabled
Whether to talk to other servers and answer them; off while federation is unfinished.
Declaration
public bool Enabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
JoinTimeout
How long to wait for another server to answer a join, which sends the whole state of the room; large rooms take minutes.
Declaration
public TimeSpan JoinTimeout { get; set; }
Property Value
| Type | Description |
|---|---|
| TimeSpan |
KeyRequestTimeout
How long to wait for a server's signing keys, from it or a key server; short, as a join waits for the keys of every server in the room, and some are always down.
Declaration
public TimeSpan KeyRequestTimeout { get; set; }
Property Value
| Type | Description |
|---|---|
| TimeSpan |
KeyValidity
How long other servers may cache this server's signing key, announced as valid_until_ts.
Declaration
public TimeSpan KeyValidity { get; set; }
Property Value
| Type | Description |
|---|---|
| TimeSpan |
RequestTimeout
How long to wait for another server to answer.
Declaration
public TimeSpan RequestTimeout { get; set; }
Property Value
| Type | Description |
|---|---|
| TimeSpan |
TrustedKeyServers
Key servers (notaries) to ask for other servers' signing keys when those servers cannot be reached, separated by commas, e.g. matrix.org; none by default, as asking tells them which servers this one talks to.
Declaration
public string? TrustedKeyServers { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
WellKnownServer
Where other servers should connect, announced in /.well-known/matrix/server, e.g. example.org:443 when a reverse proxy on port 443 forwards to this server; not served when unset, so other servers use port 8448 or the port in the server name.
Declaration
public string? WellKnownServer { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Methods
| Edit this page View SourceGetTrustedKeyServers()
Return TrustedKeyServers as a list.
Declaration
public IReadOnlyList<string> GetTrustedKeyServers()
Returns
| Type | Description |
|---|---|
| IReadOnlyList<string> |