Attempt to reestablish a session when it's found to be corrupt. #287
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.
@direc85 and me found some corrupt sessions in the database. Since whisperfish/libsignal-client@601454d20, libsignal-protocol forwards corruption as
SessionNotFound
errors, which makes me believe we're allowed to recreate said session. This patch implements exactly that.This deviates from the behaviour at the Android side, as far as I can tell, so needs caution. I tested this in the Whisperfishers group, seems to behave as intended.
FWIW, I blame said session corruption on going back-and-forth between the Kyber and pre-Kyber code a few times. I recall doing that and not turning off my network by accident.