This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Persist auth/state events at backwards extremities when we fetch them#6526
Merged
Conversation
richvdh
commented
Dec 11, 2019
Member
Author
There was a problem hiding this comment.
the other half of this bugfix is still incoming, btw.
fcbc5c5 to
c618a0a
Compare
This means that we also do auth on them, which is useful for later operations on them.
Any state or auth events returned by `_get_state_for_room` are now known to be persisted, so there is no need to persist them again.
c618a0a to
29edeea
Compare
erikjohnston
approved these changes
Dec 12, 2019
|
|
||
| await self._handle_new_event( | ||
| destination, event, state=None, auth_events=auth, | ||
| ) |
Member
There was a problem hiding this comment.
This seems to be changing from persisting events in batches to doing them one by one, which feels like it'd be a bunch slower. Can we move the loop into here and then use the _handle_new_events?
erikjohnston
suggested changes
Dec 12, 2019
Member
erikjohnston
left a comment
There was a problem hiding this comment.
Err, that wasn't meant to be an approval, but I think it looks fine other than that
... by persisting any fetched events at the same time.
erikjohnston
approved these changes
Dec 16, 2019
richvdh
added a commit
that referenced
this pull request
Dec 16, 2019
…#6526) The main point here is to make sure that the state returned by _get_state_in_room has been authed before we try to use it as state in the room.
richvdh
added a commit
that referenced
this pull request
Dec 18, 2019
Synapse 1.7.1 (2019-12-18) ========================== This release includes several security fixes as well as a fix to a bug exposed by the security fixes. Administrators are encouraged to upgrade as soon as possible. Security updates ---------------- - Fix a bug which could cause room events to be incorrectly authorized using events from a different room. ([\#6501](#6501), [\#6503](#6503), [\#6521](#6521), [\#6524](#6524), [\#6530](#6530), [\#6531](#6531)) - Fix a bug causing responses to the `/context` client endpoint to not use the pruned version of the event. ([\#6553](#6553)) - Fix a cause of state resets in room versions 2 onwards. ([\#6556](#6556), [\#6560](#6560)) Bugfixes -------- - Fix a bug which could cause the federation server to incorrectly return errors when handling certain obscure event graphs. ([\#6526](#6526), [\#6527](#6527))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The main point here is to make sure that the state returned by
_get_state_in_roomhas been authed before we try to use it as state in the room.The diff is a bit gnarly but I've tried to order it into distinct commits.
Based on #6524.