stop processing PreKeyWhisperMessage if there is no PreKeyId
fixes #1832
This commit is contained in:
parent
8e3948e495
commit
cc209afc51
|
@ -168,6 +168,10 @@ public class XmppAxolotlSession {
|
|||
try {
|
||||
try {
|
||||
PreKeyWhisperMessage message = new PreKeyWhisperMessage(encryptedKey);
|
||||
if (!message.getPreKeyId().isPresent()) {
|
||||
Log.w(Config.LOGTAG, AxolotlService.getLogprefix(account) + "PreKeyWhisperMessage did not contain a PreKeyId");
|
||||
break;
|
||||
}
|
||||
Log.i(Config.LOGTAG, AxolotlService.getLogprefix(account) + "PreKeyWhisperMessage received, new session ID:" + message.getSignedPreKeyId() + "/" + message.getPreKeyId());
|
||||
IdentityKey msgIdentityKey = message.getIdentityKey();
|
||||
if (this.identityKey != null && !this.identityKey.equals(msgIdentityKey)) {
|
||||
|
@ -175,10 +179,8 @@ public class XmppAxolotlSession {
|
|||
} else {
|
||||
this.identityKey = msgIdentityKey;
|
||||
plaintext = cipher.decrypt(message);
|
||||
if (message.getPreKeyId().isPresent()) {
|
||||
preKeyId = message.getPreKeyId().get();
|
||||
}
|
||||
}
|
||||
} catch (InvalidMessageException | InvalidVersionException e) {
|
||||
Log.i(Config.LOGTAG, AxolotlService.getLogprefix(account) + "WhisperMessage received");
|
||||
WhisperMessage message = new WhisperMessage(encryptedKey);
|
||||
|
|
Loading…
Reference in New Issue