Documentation ¶
Index ¶
- Constants
- Variables
- func CloseAndLogIfError(ctx context.Context, closer io.Closer, message string)
- func PasswordResponse(err error) *util.JSONResponse
- func SetupHookLogging(hooks []config.LogrusHook)
- func SetupPprof()
- func SetupStdLogging()
- func UsernameResponse(err error) *util.JSONResponse
- func ValidatePassword(password string) error
- func ValidateUsername(localpart string, domain spec.ServerName) error
- func VersionString() string
- type MutexByRoom
- type TxnReq
Constants ¶
const ( VersionMajor = 0 VersionMinor = 13 VersionPatch = 6 VersionTag = "" // example: "rc1" )
Variables ¶
var ( PDUCountTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Namespace: "dendrite", Subsystem: "federationapi", Name: "recv_pdus", Help: "Number of incoming PDUs from remote servers with labels for success", }, []string{"status"}, ) EDUCountTotal = prometheus.NewCounter( prometheus.CounterOpts{ Namespace: "dendrite", Subsystem: "federationapi", Name: "recv_edus", Help: "Number of incoming EDUs from remote servers", }, ) )
var ( ErrPasswordTooLong = fmt.Errorf("password too long: max %d characters", maxPasswordLength) ErrPasswordWeak = fmt.Errorf("password too weak: min %d characters", minPasswordLength) ErrUsernameTooLong = fmt.Errorf("username exceeds the maximum length of %d characters", maxUsernameLength) ErrUsernameInvalid = errors.New("username can only contain characters a-z, 0-9, or '_+-./='") ErrUsernameUnderscore = errors.New("username cannot start with a '_'") )
Functions ¶
func CloseAndLogIfError ¶
CloseAndLogIfError Closes io.Closer and logs the error if any
func PasswordResponse ¶
func PasswordResponse(err error) *util.JSONResponse
PasswordResponse returns a util.JSONResponse for a given error, if any.
func SetupHookLogging ¶
func SetupHookLogging(hooks []config.LogrusHook)
SetupHookLogging configures the logging hooks defined in the configuration. If something fails here it means that the logging was improperly configured, so we just exit with the error
func SetupPprof ¶
func SetupPprof()
SetupPprof starts a pprof listener. We use the DefaultServeMux here because it is simplest, and it gives us the freedom to run pprof on a separate port.
func SetupStdLogging ¶
func SetupStdLogging()
SetupStdLogging configures the logging format to standard output. Typically, it is called when the config is not yet loaded.
func UsernameResponse ¶
func UsernameResponse(err error) *util.JSONResponse
UsernameResponse returns a util.JSONResponse for the given error, if any.
func ValidatePassword ¶
ValidatePassword returns an error if the password is invalid
func ValidateUsername ¶
func ValidateUsername(localpart string, domain spec.ServerName) error
ValidateUsername returns an error if the username is invalid
func VersionString ¶
func VersionString() string
Types ¶
type MutexByRoom ¶
type MutexByRoom struct {
// contains filtered or unexported fields
}
func NewMutexByRoom ¶
func NewMutexByRoom() *MutexByRoom
func (*MutexByRoom) Lock ¶
func (m *MutexByRoom) Lock(roomID string)
func (*MutexByRoom) Unlock ¶
func (m *MutexByRoom) Unlock(roomID string)
type TxnReq ¶
type TxnReq struct { gomatrixserverlib.Transaction // contains filtered or unexported fields }
func NewTxnReq ¶
func NewTxnReq( rsAPI api.FederationRoomserverAPI, userAPI userAPI.FederationUserAPI, ourServerName spec.ServerName, keys gomatrixserverlib.JSONVerifier, roomsMu *MutexByRoom, producer *producers.SyncAPIProducer, inboundPresenceEnabled bool, pdus []json.RawMessage, edus []gomatrixserverlib.EDU, origin spec.ServerName, transactionID gomatrixserverlib.TransactionID, destination spec.ServerName, ) TxnReq
func (*TxnReq) ProcessTransaction ¶
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package hooks exposes places in Dendrite where custom code can be executed, useful for MSCs.
|
Package hooks exposes places in Dendrite where custom code can be executed, useful for MSCs. |