diff options
| author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-16 04:11:39 +0200 | 
|---|---|---|
| committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-16 04:11:39 +0200 | 
| commit | 443170b876751739df7249f0c497fdec6f6f892f (patch) | |
| tree | 9f614bf1aa3109eacd51c8da46c1ff97b6d672e5 | |
| parent | 8d60d9f1031c7a2ad4d1484291497c1dff197e12 (diff) | |
| download | open-keychain-443170b876751739df7249f0c497fdec6f6f892f.tar.gz open-keychain-443170b876751739df7249f0c497fdec6f6f892f.tar.bz2 open-keychain-443170b876751739df7249f0c497fdec6f6f892f.zip  | |
do not pre-select revoked or expired keys
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java | 18 | 
1 files changed, 12 insertions, 6 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java index 93cc08081..93c71f5d0 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/OpenPgpService.java @@ -36,6 +36,7 @@ import org.sufficientlysecure.keychain.pgp.PgpDecryptVerifyResult;  import org.sufficientlysecure.keychain.pgp.PgpHelper;  import org.sufficientlysecure.keychain.pgp.PgpSignEncrypt;  import org.sufficientlysecure.keychain.pgp.exception.PgpGeneralException; +import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.provider.KeychainContract.ApiAccounts;  import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;  import org.sufficientlysecure.keychain.provider.ProviderHelper; @@ -53,11 +54,16 @@ import java.util.Set;  public class OpenPgpService extends RemoteService { -    static final String[] KEYRING_PROJECTION = -            new String[]{ -                    KeyRings._ID, -                    KeyRings.MASTER_KEY_ID, -            }; +    static final String[] EMAIL_SEARCH_PROJECTION = new String[]{ +            KeyRings._ID, +            KeyRings.MASTER_KEY_ID, +            KeyRings.IS_EXPIRED, +            KeyRings.IS_REVOKED, +    }; + +    // do not pre-select revoked or expired keys +    static final String EMAIL_SEARCH_WHERE = KeychainContract.KeyRings.IS_REVOKED + " = 0 AND " +            + KeychainContract.KeyRings.IS_EXPIRED + " = 0";      /**       * Search database for key ids based on emails. @@ -76,7 +82,7 @@ public class OpenPgpService extends RemoteService {          for (String email : encryptionUserIds) {              Uri uri = KeyRings.buildUnifiedKeyRingsFindByEmailUri(email); -            Cursor cursor = getContentResolver().query(uri, KEYRING_PROJECTION, null, null, null); +            Cursor cursor = getContentResolver().query(uri, EMAIL_SEARCH_PROJECTION, EMAIL_SEARCH_WHERE, null, null);              try {                  if (cursor != null && cursor.moveToFirst()) {                      long id = cursor.getLong(cursor.getColumnIndex(KeyRings.MASTER_KEY_ID));  | 
