Versioned SendJoin

This commit is contained in:
Neil Alexander 2020-03-25 13:38:23 +00:00
parent 35de2f444b
commit b620099df7
5 changed files with 10 additions and 33 deletions

View file

@ -244,7 +244,9 @@ func (r joinRoomReq) joinRoomUsingServers(
if err == nil {
if _, err = r.producer.SendEvents(
r.req.Context(),
[]gomatrixserverlib.HeaderedEvent{(*event).Headered(queryRes.RoomVersion)},
[]gomatrixserverlib.HeaderedEvent{
(*event).Headered(queryRes.RoomVersion),
},
r.cfg.Matrix.ServerName,
nil,
); err != nil {
@ -340,11 +342,11 @@ func (r joinRoomReq) joinRoomUsingServer(roomID string, server gomatrixserverlib
}, nil
}
eventID := ""
eventIDFormat, err := respMakeJoin.RoomVersion.EventIDFormat()
if err != nil {
return nil, err
}
eventID := ""
if eventIDFormat == gomatrixserverlib.EventIDFormatV1 {
eventID = fmt.Sprintf("$%s:%s", util.RandomString(16), r.cfg.Matrix.ServerName)
}
@ -358,7 +360,7 @@ func (r joinRoomReq) joinRoomUsingServer(roomID string, server gomatrixserverlib
return &res, nil
}
respSendJoin, err := r.federation.SendJoin(r.req.Context(), server, event)
respSendJoin, err := r.federation.SendJoin(r.req.Context(), server, event, respMakeJoin.RoomVersion)
if err != nil {
return nil, err
}

View file

@ -15,8 +15,6 @@
package routing
import (
"encoding/json"
"fmt"
"net/http"
"time"
@ -106,9 +104,6 @@ func MakeJoin(
"room_version": verRes.RoomVersion,
}
j, _ := json.MarshalIndent(resultMap, "", " ")
fmt.Println("Response to make join:", string(j))
return util.JSONResponse{
Code: http.StatusOK,
JSON: resultMap,
@ -181,7 +176,7 @@ func SendJoin(
if verifyResults[0].Error != nil {
return util.JSONResponse{
Code: http.StatusForbidden,
JSON: jsonerror.Forbidden("The join must be signed by the server it originated on"),
JSON: jsonerror.Forbidden("Signature check failed: " + verifyResults[0].Error.Error()),
}
}

2
go.mod
View file

@ -9,7 +9,7 @@ require (
github.com/matrix-org/go-http-js-libp2p v0.0.0-20200318135427-31631a9ef51f
github.com/matrix-org/go-sqlite3-js v0.0.0-20200304164012-aa524245b658
github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324150017-6ca972ea0dd6
github.com/matrix-org/gomatrixserverlib v0.0.0-20200325133651-ab73f35cb35c
github.com/matrix-org/naffka v0.0.0-20200127221512-0716baaabaf1
github.com/matrix-org/util v0.0.0-20190711121626-527ce5ddefc7
github.com/mattn/go-sqlite3 v2.0.2+incompatible

24
go.sum
View file

@ -128,28 +128,8 @@ github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26 h1:Hr3zjRsq2bh
github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26/go.mod h1:3fxX6gUjWyI/2Bt7J1OLhpCzOfO/bB3AiX0cJtEKud0=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200124100636-0c2ec91d1df5 h1:kmRjpmFOenVpOaV/DRlo9p6z/IbOKlUC+hhKsAAh8Qg=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200124100636-0c2ec91d1df5/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200320164238-a144ea149d55 h1:1m/D/bEL+NqtW2PWko7Q7i9lekcegN+K3STLK4D/CFM=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200320164238-a144ea149d55/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323094202-39ec5e17a8f5 h1:hmC78piVeAvvdjuQ+zjnkyEmlAjR2gGwMWQh79srtAM=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323094202-39ec5e17a8f5/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323095935-e6d3df15dbfe h1:Zt5rFJriUGlCm+x8RRc3LdSqy0e6EaEWzW+PJXv76zw=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323095935-e6d3df15dbfe/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323100819-422881c3d06b h1:QrO9XkmoR+kbPwRmjcNl2crTt6XGXKcpsCyV/nZJDd0=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323100819-422881c3d06b/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323155135-fd2e0821d1e0 h1:wVR4nLO/R7kvwnRnno50DW5ZDhvUL506UBG4lOtEytU=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323155135-fd2e0821d1e0/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323160828-b738416a2b5e h1:ftQ7/kwP5SQDmL2P4heKaxKwlI/S0++WqPClAHuPwdI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200323160828-b738416a2b5e/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324100959-fe9d2e3d62ad h1:jmNvcmlTNgtNhjy2dsFA6zTZVjRP+3gudY6EEJDVr1s=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324100959-fe9d2e3d62ad/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324101436-adfad2a3229b h1:ApGwqHjiiqvSB8bbA2WJkcmGX2NTyoadaVQloAu3egk=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324101436-adfad2a3229b/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324103128-0e0e658437bf h1:eO2W70kcUgpej3WP4p9Rim5gHkCN7wL6DPhtucDAngI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324103128-0e0e658437bf/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324123255-52c9992f89e0 h1:Up8Vp8fHOnmlrZO1nJwG9UPz6WHFfLzbiDP+viRjpTY=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324123255-52c9992f89e0/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324150017-6ca972ea0dd6 h1:/JzmJULEQsxplixw8SNKxwtyyHtMVmfgbyycW4NAi7I=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200324150017-6ca972ea0dd6/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200325133651-ab73f35cb35c h1:vYMzfIA+7U9CTiZhmGXbXnzSZlGzE/HbyiDJT20yJT8=
github.com/matrix-org/gomatrixserverlib v0.0.0-20200325133651-ab73f35cb35c/go.mod h1:FsKa2pWE/bpQql9H7U4boOPXFoJX/QcqaZZ6ijLkaZI=
github.com/matrix-org/naffka v0.0.0-20200127221512-0716baaabaf1 h1:osLoFdOy+ChQqVUn2PeTDETFftVkl4w9t/OW18g3lnk=
github.com/matrix-org/naffka v0.0.0-20200127221512-0716baaabaf1/go.mod h1:cXoYQIENbdWIQHt1SyCo6Bl3C3raHwJ0wgVrXHSqf+A=
github.com/matrix-org/util v0.0.0-20171127121716-2e2df66af2f5 h1:W7l5CP4V7wPyPb4tYE11dbmeAOwtFQBTW0rf4OonOS8=

View file

@ -59,7 +59,7 @@ var roomVersions = map[gomatrixserverlib.RoomVersion]RoomVersionDescription{
// DefaultRoomVersion contains the room version that will, by
// default, be used to create new rooms on this server.
func DefaultRoomVersion() gomatrixserverlib.RoomVersion {
return gomatrixserverlib.RoomVersionV4
return gomatrixserverlib.RoomVersionV2
}
// RoomVersions returns a map of all known room versions to this