From fe00c6727a61856c047c270ffdd7e06193d6bdff Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 15 Jan 2018 17:01:03 +0100 Subject: [PATCH] Only look at primary key for expiry/revocation --- .../keychain/provider/KeychainProvider.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java index af7369352..d8d83eef3 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeychainProvider.java @@ -754,16 +754,18 @@ public class KeychainProvider extends ContentProvider { qb.setTables(Tables.API_AUTOCRYPT_PEERS + " LEFT JOIN " + Tables.KEYS + " AS ac_key" + - " ON (ac_key." + Keys.MASTER_KEY_ID + " = " + Tables.API_AUTOCRYPT_PEERS + "." + ApiAutocryptPeer.MASTER_KEY_ID + ")" + + " ON (ac_key." + Keys.MASTER_KEY_ID + " = " + Tables.API_AUTOCRYPT_PEERS + "." + ApiAutocryptPeer.MASTER_KEY_ID + + " AND ac_key." + Keys.RANK + " = 0)" + " LEFT JOIN " + Tables.KEYS + " AS gossip_key" + - " ON (gossip_key." + Keys.MASTER_KEY_ID + " = " + ApiAutocryptPeer.GOSSIP_MASTER_KEY_ID + ")" + " ON (gossip_key." + Keys.MASTER_KEY_ID + " = " + ApiAutocryptPeer.GOSSIP_MASTER_KEY_ID + + " AND gossip_key." + Keys.RANK + " = 0)" ); if (match == AUTOCRYPT_PEERS_BY_MASTER_KEY_ID) { long masterKeyId = Long.parseLong(uri.getLastPathSegment()); - selection = Tables.API_AUTOCRYPT_PEERS + "." + ApiAutocryptPeer.MASTER_KEY_ID + " = ?"; - selectionArgs = new String[] { Long.toString(masterKeyId) }; + qb.appendWhere(Tables.API_AUTOCRYPT_PEERS + "." + ApiAutocryptPeer.MASTER_KEY_ID + " = "); + qb.appendWhere(Long.toString(masterKeyId)); } else if (match == AUTOCRYPT_PEERS_BY_PACKAGE_NAME) { String packageName = uri.getPathSegments().get(2);