Try to find auth events at both resident joining server and event origin

This commit is contained in:
Neil Alexander 2020-09-25 15:50:10 +01:00
parent 984d0b80c0
commit 06b2f3a3b5
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -59,9 +59,15 @@ func (r joinContext) CheckSendJoinResponse(
// Try to retrieve the event from the server that sent us the send
// join response.
tx, txerr := r.federation.GetEvent(ctx, serverName, eventID)
tx, txerr := r.federation.GetEvent(ctx, server, eventID)
if txerr != nil {
return nil, fmt.Errorf("missingAuth r.federation.GetEvent: %w", txerr)
if server == serverName {
return nil, fmt.Errorf("missingAuth r.federation.GetEvent via %q: %w", server, txerr)
}
tx, txerr = r.federation.GetEvent(ctx, serverName, eventID)
if txerr != nil {
return nil, fmt.Errorf("missingAuth r.federation.GetEvent via %q and %q: %w", server, serverName, txerr)
}
}
// For each event returned, add it to the set of return events. We