mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-03-21 17:14:28 -05:00
Fix keyserver consumer maybe
This commit is contained in:
parent
2c92b29d22
commit
8f54d33f1d
|
@ -35,7 +35,7 @@ type DeviceListUpdateConsumer struct {
|
||||||
durable string
|
durable string
|
||||||
topic string
|
topic string
|
||||||
updater *internal.DeviceListUpdater
|
updater *internal.DeviceListUpdater
|
||||||
serverName gomatrixserverlib.ServerName
|
isLocalServerName func(gomatrixserverlib.ServerName) bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDeviceListUpdateConsumer creates a new DeviceListConsumer. Call Start() to begin consuming from key servers.
|
// NewDeviceListUpdateConsumer creates a new DeviceListConsumer. Call Start() to begin consuming from key servers.
|
||||||
|
@ -51,7 +51,7 @@ func NewDeviceListUpdateConsumer(
|
||||||
durable: cfg.Matrix.JetStream.Prefixed("KeyServerInputDeviceListConsumer"),
|
durable: cfg.Matrix.JetStream.Prefixed("KeyServerInputDeviceListConsumer"),
|
||||||
topic: cfg.Matrix.JetStream.Prefixed(jetstream.InputDeviceListUpdate),
|
topic: cfg.Matrix.JetStream.Prefixed(jetstream.InputDeviceListUpdate),
|
||||||
updater: updater,
|
updater: updater,
|
||||||
serverName: cfg.Matrix.ServerName,
|
isLocalServerName: cfg.Matrix.IsLocalServerName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ func (t *DeviceListUpdateConsumer) onMessage(ctx context.Context, msgs []*nats.M
|
||||||
origin := gomatrixserverlib.ServerName(msg.Header.Get("origin"))
|
origin := gomatrixserverlib.ServerName(msg.Header.Get("origin"))
|
||||||
if _, serverName, err := gomatrixserverlib.SplitID('@', m.UserID); err != nil {
|
if _, serverName, err := gomatrixserverlib.SplitID('@', m.UserID); err != nil {
|
||||||
return true
|
return true
|
||||||
} else if serverName == t.serverName {
|
} else if t.isLocalServerName(serverName) {
|
||||||
return true
|
return true
|
||||||
} else if serverName != origin {
|
} else if serverName != origin {
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -37,6 +37,7 @@ type SigningKeyUpdateConsumer struct {
|
||||||
topic string
|
topic string
|
||||||
keyAPI *internal.KeyInternalAPI
|
keyAPI *internal.KeyInternalAPI
|
||||||
cfg *config.KeyServer
|
cfg *config.KeyServer
|
||||||
|
isLocalServerName func(gomatrixserverlib.ServerName) bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewSigningKeyUpdateConsumer creates a new SigningKeyUpdateConsumer. Call Start() to begin consuming from key servers.
|
// NewSigningKeyUpdateConsumer creates a new SigningKeyUpdateConsumer. Call Start() to begin consuming from key servers.
|
||||||
|
@ -53,6 +54,7 @@ func NewSigningKeyUpdateConsumer(
|
||||||
topic: cfg.Matrix.JetStream.Prefixed(jetstream.InputSigningKeyUpdate),
|
topic: cfg.Matrix.JetStream.Prefixed(jetstream.InputSigningKeyUpdate),
|
||||||
keyAPI: keyAPI,
|
keyAPI: keyAPI,
|
||||||
cfg: cfg,
|
cfg: cfg,
|
||||||
|
isLocalServerName: cfg.Matrix.IsLocalServerName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,7 +79,7 @@ func (t *SigningKeyUpdateConsumer) onMessage(ctx context.Context, msgs []*nats.M
|
||||||
if _, serverName, err := gomatrixserverlib.SplitID('@', updatePayload.UserID); err != nil {
|
if _, serverName, err := gomatrixserverlib.SplitID('@', updatePayload.UserID); err != nil {
|
||||||
logrus.WithError(err).Error("failed to split user id")
|
logrus.WithError(err).Error("failed to split user id")
|
||||||
return true
|
return true
|
||||||
} else if serverName == t.cfg.Matrix.ServerName {
|
} else if t.isLocalServerName(serverName) {
|
||||||
logrus.Warn("dropping device key update from ourself")
|
logrus.Warn("dropping device key update from ourself")
|
||||||
return true
|
return true
|
||||||
} else if serverName != origin {
|
} else if serverName != origin {
|
||||||
|
|
Loading…
Reference in a new issue