From ad21021ce7905b500d6302964aecb3911c8e2157 Mon Sep 17 00:00:00 2001 From: Paul Fariello Date: Wed, 10 Apr 2019 18:58:06 +0320 Subject: [PATCH] Fix issue with first encrypted message When decrypting first message with prekey, libsignal wants to remove used prekey from storage. Return value on success should be 0. We used to return number of deleted keys. Thus libsignal was considering we failed to remove the key and we were ignoring plaintext. --- src/omemo/store.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/omemo/store.c b/src/omemo/store.c index e380e12b..76b7449c 100644 --- a/src/omemo/store.c +++ b/src/omemo/store.c @@ -225,7 +225,11 @@ remove_pre_key(uint32_t pre_key_id, void *user_data) omemo_identity_keyfile_save(); - return ret; + if (ret > 0) { + return SG_SUCCESS; + } else { + return SG_ERR_INVALID_KEY_ID; + } } int