Fix /v1/invite test

This commit is contained in:
Neil Alexander 2020-08-17 11:13:15 +01:00
parent 131c6866fc
commit bc050f6b4b
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
6 changed files with 18 additions and 21 deletions

View file

@ -46,7 +46,7 @@ func InviteV2(
} }
} }
return processInvite( return processInvite(
httpReq.Context(), inviteReq.Event(), inviteReq.RoomVersion(), inviteReq.InviteRoomState(), roomID, eventID, cfg, rsAPI, keys, httpReq.Context(), true, inviteReq.Event(), inviteReq.RoomVersion(), inviteReq.InviteRoomState(), roomID, eventID, cfg, rsAPI, keys,
) )
} }
@ -75,12 +75,13 @@ func InviteV1(
util.GetLogger(httpReq.Context()).Warnf("failed to extract stripped state from invite event") util.GetLogger(httpReq.Context()).Warnf("failed to extract stripped state from invite event")
} }
return processInvite( return processInvite(
httpReq.Context(), event, roomVer, strippedState, roomID, eventID, cfg, rsAPI, keys, httpReq.Context(), false, event, roomVer, strippedState, roomID, eventID, cfg, rsAPI, keys,
) )
} }
func processInvite( func processInvite(
ctx context.Context, ctx context.Context,
isInviteV2 bool,
event gomatrixserverlib.Event, event gomatrixserverlib.Event,
roomVer gomatrixserverlib.RoomVersion, roomVer gomatrixserverlib.RoomVersion,
strippedState []gomatrixserverlib.InviteV2StrippedState, strippedState []gomatrixserverlib.InviteV2StrippedState,
@ -152,10 +153,17 @@ func processInvite(
case nil: case nil:
// Return the signed event to the originating server, it should then tell // Return the signed event to the originating server, it should then tell
// the other servers in the room that we have been invited. // the other servers in the room that we have been invited.
if isInviteV2 {
return util.JSONResponse{ return util.JSONResponse{
Code: http.StatusOK, Code: http.StatusOK,
JSON: gomatrixserverlib.RespInviteV2{Event: signedEvent}, JSON: gomatrixserverlib.RespInviteV2{Event: signedEvent},
} }
} else {
return util.JSONResponse{
Code: http.StatusOK,
JSON: gomatrixserverlib.RespInvite{Event: signedEvent},
}
}
default: default:
util.GetLogger(ctx).WithError(err).Error("api.SendInvite failed") util.GetLogger(ctx).WithError(err).Error("api.SendInvite failed")
return util.JSONResponse{ return util.JSONResponse{

View file

@ -90,16 +90,10 @@ func Setup(
JSON: jsonerror.Forbidden("Forbidden by server ACLs"), JSON: jsonerror.Forbidden("Forbidden by server ACLs"),
} }
} }
res := InviteV1( return InviteV1(
httpReq, request, vars["roomID"], vars["eventID"], httpReq, request, vars["roomID"], vars["eventID"],
cfg, rsAPI, keys, cfg, rsAPI, keys,
) )
return util.JSONResponse{
Code: res.Code,
JSON: []interface{}{
res.Code, res.JSON,
},
}
}, },
)).Methods(http.MethodPut, http.MethodOptions) )).Methods(http.MethodPut, http.MethodOptions)

View file

@ -94,7 +94,7 @@ type PerformInviteRequest struct {
} }
type PerformInviteResponse struct { type PerformInviteResponse struct {
SignedEvent gomatrixserverlib.HeaderedEvent `json:"signed_event"` Event gomatrixserverlib.HeaderedEvent `json:"event"`
} }
type PerformServersAliveRequest struct { type PerformServersAliveRequest struct {

View file

@ -329,12 +329,7 @@ func (r *FederationSenderInternalAPI) PerformInvite(
return fmt.Errorf("r.federation.SendInviteV2: %w", err) return fmt.Errorf("r.federation.SendInviteV2: %w", err)
} }
response.SignedEvent = inviteRes.Event.Sign( response.Event = inviteRes.Event.Headered(request.RoomVersion)
string(r.cfg.Matrix.ServerName),
r.cfg.Matrix.KeyID,
r.cfg.Matrix.PrivateKey,
).Headered(request.RoomVersion)
return nil return nil
} }

2
go.mod
View file

@ -23,7 +23,7 @@ require (
github.com/matrix-org/go-http-js-libp2p v0.0.0-20200518170932-783164aeeda4 github.com/matrix-org/go-http-js-libp2p v0.0.0-20200518170932-783164aeeda4
github.com/matrix-org/go-sqlite3-js v0.0.0-20200522092705-bc8506ccbcf3 github.com/matrix-org/go-sqlite3-js v0.0.0-20200522092705-bc8506ccbcf3
github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26 github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26
github.com/matrix-org/gomatrixserverlib v0.0.0-20200817095438-5be6e67209c8 github.com/matrix-org/gomatrixserverlib v0.0.0-20200817100842-9d02141812f2
github.com/matrix-org/naffka v0.0.0-20200422140631-181f1ee7401f github.com/matrix-org/naffka v0.0.0-20200422140631-181f1ee7401f
github.com/matrix-org/util v0.0.0-20200807132607-55161520e1d4 github.com/matrix-org/util v0.0.0-20200807132607-55161520e1d4
github.com/mattn/go-sqlite3 v2.0.2+incompatible github.com/mattn/go-sqlite3 v2.0.2+incompatible

View file

@ -139,7 +139,7 @@ func (r *RoomserverInternalAPI) PerformInvite(
log.WithError(err).WithField("event_id", event.EventID()).Error("r.fsAPI.PerformInvite failed") log.WithError(err).WithField("event_id", event.EventID()).Error("r.fsAPI.PerformInvite failed")
return nil return nil
} }
event = fsRes.SignedEvent event = fsRes.Event
} }
} }