aboutsummaryrefslogtreecommitdiff
path: root/federationapi/routing
diff options
context:
space:
mode:
Diffstat (limited to 'federationapi/routing')
-rw-r--r--federationapi/routing/keys.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/federationapi/routing/keys.go b/federationapi/routing/keys.go
index b2ef1dba..ee25ffbb 100644
--- a/federationapi/routing/keys.go
+++ b/federationapi/routing/keys.go
@@ -159,12 +159,12 @@ loop:
}
}
- identity, err := cfg.Matrix.SigningIdentityFor(serverName)
- if err != nil {
- identity, _ = cfg.Matrix.SigningIdentityFor(cfg.Matrix.ServerName)
- }
-
- if identity.ServerName == serverName {
+ var identity *gomatrixserverlib.SigningIdentity
+ var err error
+ if virtualHost == nil {
+ if identity, err = cfg.Matrix.SigningIdentityFor(cfg.Matrix.ServerName); err != nil {
+ return nil, err
+ }
publicKey := cfg.Matrix.PrivateKey.Public().(ed25519.PublicKey)
keys.ServerName = cfg.Matrix.ServerName
keys.ValidUntilTS = gomatrixserverlib.AsTimestamp(time.Now().Add(cfg.Matrix.KeyValidityPeriod))
@@ -183,6 +183,9 @@ loop:
}
}
} else {
+ if identity, err = cfg.Matrix.SigningIdentityFor(virtualHost.ServerName); err != nil {
+ return nil, err
+ }
publicKey := virtualHost.PrivateKey.Public().(ed25519.PublicKey)
keys.ServerName = virtualHost.ServerName
keys.ValidUntilTS = gomatrixserverlib.AsTimestamp(time.Now().Add(virtualHost.KeyValidityPeriod))