Fix tuf/tuf#736: Rebuild roledb in refresh() even if root unchanged #13
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.
In order to avoid freezes if role info is deleted due to prior validation failures, make sure that roledb is rebuilt during client tuf.client.updater.refresh(), even if root did not need to be updated.
If, for example, snapshot.json is deleted because timestamp has indicated that there is a newer version but that newer version cannot be obtained, we should still not fail to try to update snapshot next time.
See theupdateframework#736
This is a patch for the immediate issue on this fork. A broader change is called for; see theupdateframework#736 and theupdateframework#660. That should be fixed on the main repository (theupdateframework/tuf) and this fork should be merged back.