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 ValidateApplicationServiceRequest(cfg *config.ClientAPI, userIDOrLocalpart string, accessToken string) (string, *util.JSONResponse)
- func ValidateApplicationServiceUserID(userID string) error
- func ValidateApplicationServiceUsername(localpart string, domain spec.ServerName) error
- func ValidatePassword(password string) error
- func ValidateUsername(localpart string, domain spec.ServerName) error
- func VersionString() string
- type MutexByRoom
- type Trace
- type TxnReq
Constants ¶
const ( VersionMajor = 0 VersionMinor = 14 VersionPatch = 0 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 ValidateApplicationServiceRequest ¶
func ValidateApplicationServiceRequest( cfg *config.ClientAPI, userIDOrLocalpart string, accessToken string, ) (string, *util.JSONResponse)
ValidateApplicationServiceRequest checks if a provided application service token corresponds to one that is registered, and, if so, checks if the supplied userIDOrLocalpart is within that application service's namespace.
As long as these two requirements are met, the matched application service ID will be returned. Otherwise, it will return a JSON response with the appropriate error message.
func ValidateApplicationServiceUsername ¶
func ValidateApplicationServiceUsername(localpart string, domain spec.ServerName) error
ValidateApplicationServiceUsername returns an error if the username is invalid for an application service
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. |