From 514eb9ba987b05985e92e9e4eaa08d476cbf1081 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Thu, 17 Sep 2020 19:46:06 +1000 Subject: [PATCH] fix pubkey regex for mobile medium groups --- ts/receiver/contentMessage.ts | 2 +- .../outgoing/content/data/group/ClosedGroupMessage.ts | 7 ++++++- ts/session/types/PubKey.ts | 1 - 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ts/receiver/contentMessage.ts b/ts/receiver/contentMessage.ts index 646582bfb..77780f73a 100644 --- a/ts/receiver/contentMessage.ts +++ b/ts/receiver/contentMessage.ts @@ -80,7 +80,7 @@ async function decryptForMediumGroup( window.console.info( 'Dropping message from ourself after decryptForMediumGroup' ); - return; + return null; } const plaintext = await decryptWithSenderKey( diff --git a/ts/session/messages/outgoing/content/data/group/ClosedGroupMessage.ts b/ts/session/messages/outgoing/content/data/group/ClosedGroupMessage.ts index 9b6c80704..c17fdbe4f 100644 --- a/ts/session/messages/outgoing/content/data/group/ClosedGroupMessage.ts +++ b/ts/session/messages/outgoing/content/data/group/ClosedGroupMessage.ts @@ -32,7 +32,12 @@ export abstract class ClosedGroupMessage extends DataMessage { } protected groupContext(): SignalService.GroupContext { - const id = new Uint8Array(StringUtils.encode(this.groupId.key, 'utf8')); + let groupIdWithPrefix: string = this.groupId.key; + if (!this.groupId.key.startsWith(PubKey.PREFIX_GROUP_TEXTSECURE)) { + groupIdWithPrefix = PubKey.PREFIX_GROUP_TEXTSECURE + this.groupId.key; + } + const encoded = StringUtils.encode(groupIdWithPrefix, 'utf8'); + const id = new Uint8Array(encoded); return new SignalService.GroupContext({ id }); } diff --git a/ts/session/types/PubKey.ts b/ts/session/types/PubKey.ts index db333185d..7e63b32e9 100644 --- a/ts/session/types/PubKey.ts +++ b/ts/session/types/PubKey.ts @@ -8,7 +8,6 @@ export class PubKey { // tslint:disable: member-ordering public static readonly regexForPubkeys = `((05)?${PubKey.HEX}{64})`; public static readonly PREFIX_GROUP_TEXTSECURE = '__textsecure_group__!'; - // prettier-ignore private static readonly regex: RegExp = new RegExp( `^(${PubKey.PREFIX_GROUP_TEXTSECURE})?(05)?(${PubKey.HEX}{64}|${PubKey.HEX}{32})$`