Fix user ID filtering. Do not filter out user attribute packets.

This commit is contained in:
Thomas Oberndörfer
2019-03-15 16:55:53 +01:00
parent f88f4d5d2e
commit 9e7149108a
10 changed files with 99 additions and 10 deletions

View File

@@ -156,7 +156,7 @@ class PGP {
async filterKeyByUserIds(userIds, armored) {
const emails = userIds.map(({email}) => email);
const {keys: [key]} = await openpgp.key.readArmored(armored);
key.users = key.users.filter(({userId: {email}}) => emails.includes(util.normalizeEmail(email)));
key.users = key.users.filter(({userId}) => !userId || emails.includes(util.normalizeEmail(userId.email)));
return key.armor();
}
@@ -189,7 +189,7 @@ class PGP {
*/
async removeUserId(email, publicKeyArmored) {
const {keys: [key]} = await openpgp.key.readArmored(publicKeyArmored);
key.users = key.users.filter(({userId}) => util.normalizeEmail(userId.email) !== email);
key.users = key.users.filter(({userId}) => !userId || util.normalizeEmail(userId.email) !== email);
return key.armor();
}
}