mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-07-29 12:42:46 +00:00
refactor: update GMSL (#3058)
Sister PR to https://github.com/matrix-org/gomatrixserverlib/pull/364 Read this commit by commit to avoid going insane.
This commit is contained in:
parent
9fa39263c0
commit
72285b2659
306 changed files with 2117 additions and 1934 deletions
|
@ -26,6 +26,7 @@ import (
|
|||
|
||||
"github.com/matrix-org/dendrite/clientapi/auth/authtypes"
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
"github.com/matrix-org/gomatrixserverlib/spec"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/crypto/ed25519"
|
||||
"gopkg.in/yaml.v2"
|
||||
|
@ -239,7 +240,7 @@ func loadConfig(
|
|||
|
||||
key.KeyID = keyID
|
||||
key.PrivateKey = privateKey
|
||||
key.PublicKey = gomatrixserverlib.Base64Bytes(privateKey.Public().(ed25519.PublicKey))
|
||||
key.PublicKey = spec.Base64Bytes(privateKey.Public().(ed25519.PublicKey))
|
||||
|
||||
case key.KeyID == "":
|
||||
return nil, fmt.Errorf("'key_id' must be specified if 'public_key' is specified")
|
||||
|
|
|
@ -2,6 +2,7 @@ package config
|
|||
|
||||
import (
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
"github.com/matrix-org/gomatrixserverlib/spec"
|
||||
)
|
||||
|
||||
type FederationAPI struct {
|
||||
|
@ -101,7 +102,7 @@ type KeyPerspectives []KeyPerspective
|
|||
|
||||
type KeyPerspective struct {
|
||||
// The server name of the perspective key server
|
||||
ServerName gomatrixserverlib.ServerName `yaml:"server_name"`
|
||||
ServerName spec.ServerName `yaml:"server_name"`
|
||||
// Server keys for the perspective user, used to verify the
|
||||
// keys have been signed by the perspective server
|
||||
Keys []KeyPerspectiveTrustKey `yaml:"keys"`
|
||||
|
|
|
@ -9,6 +9,7 @@ import (
|
|||
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
"github.com/matrix-org/gomatrixserverlib/fclient"
|
||||
"github.com/matrix-org/gomatrixserverlib/spec"
|
||||
"golang.org/x/crypto/ed25519"
|
||||
)
|
||||
|
||||
|
@ -122,7 +123,7 @@ func (c *Global) Verify(configErrs *ConfigErrors) {
|
|||
c.Cache.Verify(configErrs)
|
||||
}
|
||||
|
||||
func (c *Global) IsLocalServerName(serverName gomatrixserverlib.ServerName) bool {
|
||||
func (c *Global) IsLocalServerName(serverName spec.ServerName) bool {
|
||||
if c.ServerName == serverName {
|
||||
return true
|
||||
}
|
||||
|
@ -134,7 +135,7 @@ func (c *Global) IsLocalServerName(serverName gomatrixserverlib.ServerName) bool
|
|||
return false
|
||||
}
|
||||
|
||||
func (c *Global) SplitLocalID(sigil byte, id string) (string, gomatrixserverlib.ServerName, error) {
|
||||
func (c *Global) SplitLocalID(sigil byte, id string) (string, spec.ServerName, error) {
|
||||
u, s, err := gomatrixserverlib.SplitID(sigil, id)
|
||||
if err != nil {
|
||||
return u, s, err
|
||||
|
@ -145,7 +146,7 @@ func (c *Global) SplitLocalID(sigil byte, id string) (string, gomatrixserverlib.
|
|||
return u, s, nil
|
||||
}
|
||||
|
||||
func (c *Global) VirtualHost(serverName gomatrixserverlib.ServerName) *VirtualHost {
|
||||
func (c *Global) VirtualHost(serverName spec.ServerName) *VirtualHost {
|
||||
for _, v := range c.VirtualHosts {
|
||||
if v.ServerName == serverName {
|
||||
return v
|
||||
|
@ -154,7 +155,7 @@ func (c *Global) VirtualHost(serverName gomatrixserverlib.ServerName) *VirtualHo
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *Global) VirtualHostForHTTPHost(serverName gomatrixserverlib.ServerName) *VirtualHost {
|
||||
func (c *Global) VirtualHostForHTTPHost(serverName spec.ServerName) *VirtualHost {
|
||||
for _, v := range c.VirtualHosts {
|
||||
if v.ServerName == serverName {
|
||||
return v
|
||||
|
@ -168,7 +169,7 @@ func (c *Global) VirtualHostForHTTPHost(serverName gomatrixserverlib.ServerName)
|
|||
return nil
|
||||
}
|
||||
|
||||
func (c *Global) SigningIdentityFor(serverName gomatrixserverlib.ServerName) (*fclient.SigningIdentity, error) {
|
||||
func (c *Global) SigningIdentityFor(serverName spec.ServerName) (*fclient.SigningIdentity, error) {
|
||||
for _, id := range c.SigningIdentities() {
|
||||
if id.ServerName == serverName {
|
||||
return id, nil
|
||||
|
@ -205,7 +206,7 @@ type VirtualHost struct {
|
|||
// Match these HTTP Host headers on the `/key/v2/server` endpoint, this needs
|
||||
// to match all delegated names, likely including the port number too if
|
||||
// the well-known delegation includes that also.
|
||||
MatchHTTPHosts []gomatrixserverlib.ServerName `yaml:"match_http_hosts"`
|
||||
MatchHTTPHosts []spec.ServerName `yaml:"match_http_hosts"`
|
||||
|
||||
// Is registration enabled on this virtual host?
|
||||
AllowRegistration bool `yaml:"allow_registration"`
|
||||
|
@ -236,14 +237,14 @@ type OldVerifyKeys struct {
|
|||
PrivateKey ed25519.PrivateKey `yaml:"-"`
|
||||
|
||||
// The public key, in case only that part is known.
|
||||
PublicKey gomatrixserverlib.Base64Bytes `yaml:"public_key"`
|
||||
PublicKey spec.Base64Bytes `yaml:"public_key"`
|
||||
|
||||
// The key ID of the private key.
|
||||
KeyID gomatrixserverlib.KeyID `yaml:"key_id"`
|
||||
|
||||
// When the private key was designed as "expired", as a UNIX timestamp
|
||||
// in millisecond precision.
|
||||
ExpiredAt gomatrixserverlib.Timestamp `yaml:"expired_at"`
|
||||
ExpiredAt spec.Timestamp `yaml:"expired_at"`
|
||||
}
|
||||
|
||||
// The configuration to use for Prometheus metrics
|
||||
|
|
|
@ -19,8 +19,8 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
"github.com/matrix-org/gomatrixserverlib/fclient"
|
||||
"github.com/matrix-org/gomatrixserverlib/spec"
|
||||
"github.com/sirupsen/logrus"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
@ -275,7 +275,7 @@ func Test_SigningIdentityFor(t *testing.T) {
|
|||
tests := []struct {
|
||||
name string
|
||||
virtualHosts []*VirtualHost
|
||||
serverName gomatrixserverlib.ServerName
|
||||
serverName spec.ServerName
|
||||
want *fclient.SigningIdentity
|
||||
wantErr bool
|
||||
}{
|
||||
|
@ -285,17 +285,17 @@ func Test_SigningIdentityFor(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "no identity found",
|
||||
serverName: gomatrixserverlib.ServerName("doesnotexist"),
|
||||
serverName: spec.ServerName("doesnotexist"),
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "found identity",
|
||||
serverName: gomatrixserverlib.ServerName("main"),
|
||||
serverName: spec.ServerName("main"),
|
||||
want: &fclient.SigningIdentity{ServerName: "main"},
|
||||
},
|
||||
{
|
||||
name: "identity found on virtual hosts",
|
||||
serverName: gomatrixserverlib.ServerName("vh2"),
|
||||
serverName: spec.ServerName("vh2"),
|
||||
virtualHosts: []*VirtualHost{
|
||||
{SigningIdentity: fclient.SigningIdentity{ServerName: "vh1"}},
|
||||
{SigningIdentity: fclient.SigningIdentity{ServerName: "vh2"}},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue