Explicit checks for pniChangeNumber
This commit is contained in:
parent
95caf59c3c
commit
52736ea32e
1 changed files with 9 additions and 2 deletions
|
@ -1513,6 +1513,7 @@ export default class MessageReceiver
|
||||||
Boolean(content.storyMessage?.group);
|
Boolean(content.storyMessage?.group);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
wasEncrypted &&
|
||||||
content.senderKeyDistributionMessage &&
|
content.senderKeyDistributionMessage &&
|
||||||
Bytes.isNotEmpty(content.senderKeyDistributionMessage)
|
Bytes.isNotEmpty(content.senderKeyDistributionMessage)
|
||||||
) {
|
) {
|
||||||
|
@ -1575,7 +1576,7 @@ export default class MessageReceiver
|
||||||
return { plaintext: undefined, envelope };
|
return { plaintext: undefined, envelope };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (content.pniSignatureMessage) {
|
if (wasEncrypted && content.pniSignatureMessage) {
|
||||||
inProgressMessageType = 'pni signature';
|
inProgressMessageType = 'pni signature';
|
||||||
await this.handlePniSignatureMessage(
|
await this.handlePniSignatureMessage(
|
||||||
envelope,
|
envelope,
|
||||||
|
@ -1586,7 +1587,7 @@ export default class MessageReceiver
|
||||||
// Some sync messages have to be fully processed in the middle of
|
// Some sync messages have to be fully processed in the middle of
|
||||||
// decryption queue since subsequent envelopes use their key material.
|
// decryption queue since subsequent envelopes use their key material.
|
||||||
const { syncMessage } = content;
|
const { syncMessage } = content;
|
||||||
if (syncMessage?.pniChangeNumber) {
|
if (wasEncrypted && syncMessage?.pniChangeNumber) {
|
||||||
inProgressMessageType = 'pni change number';
|
inProgressMessageType = 'pni change number';
|
||||||
await this.handlePNIChangeNumber(envelope, syncMessage.pniChangeNumber);
|
await this.handlePNIChangeNumber(envelope, syncMessage.pniChangeNumber);
|
||||||
this.removeFromCache(envelope);
|
this.removeFromCache(envelope);
|
||||||
|
@ -3323,6 +3324,12 @@ export default class MessageReceiver
|
||||||
newE164,
|
newE164,
|
||||||
}: Proto.SyncMessage.IPniChangeNumber
|
}: Proto.SyncMessage.IPniChangeNumber
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
|
const ourAci = this.storage.user.getCheckedAci();
|
||||||
|
|
||||||
|
if (envelope.sourceServiceId !== ourAci) {
|
||||||
|
throw new Error('Received pni change number from another number');
|
||||||
|
}
|
||||||
|
|
||||||
log.info('MessageReceiver: got pni change number sync message');
|
log.info('MessageReceiver: got pni change number sync message');
|
||||||
|
|
||||||
logUnexpectedUrgentValue(envelope, 'pniIdentitySync');
|
logUnexpectedUrgentValue(envelope, 'pniIdentitySync');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue