handleBlocked: Continue on if we receive non-ACI

This commit is contained in:
Scott Nonnenberg 2024-10-30 01:21:13 +10:00 committed by GitHub
parent 85a7fc64bc
commit 7548e2adc2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 4 deletions

View file

@ -3881,9 +3881,19 @@ export default class MessageReceiver
} }
if (blocked.acis) { if (blocked.acis) {
const previous = this.storage.get('blocked-uuids', []); const previous = this.storage.get('blocked-uuids', []);
const acis = blocked.acis.map((aci, index) => { const acis = blocked.acis
return normalizeAci(aci, `handleBlocked.acis.${index}`); .map((aci, index) => {
}); try {
return normalizeAci(aci, `handleBlocked.acis.${index}`);
} catch (error) {
log.warn(
`${logId}: ACI ${aci} was malformed`,
Errors.toLogFormat(error)
);
return undefined;
}
})
.filter(isNotNil);
const { added, removed } = diffArraysAsSets(previous, acis); const { added, removed } = diffArraysAsSets(previous, acis);
if (added.length) { if (added.length) {

View file

@ -29,7 +29,10 @@ export function normalizeAci(
} }
const result = rawAci.toLowerCase(); const result = rawAci.toLowerCase();
strictAssert(!result.startsWith('pni:'), 'ACI should not start with PNI:'); strictAssert(
!result.startsWith('pni:'),
`ACI should not start with 'PNI:' in ${context}`
);
if (!isAciString(result)) { if (!isAciString(result)) {
logger.warn( logger.warn(