fix expiry bug in autocrypt key retrieval
This commit is contained in:
@@ -71,27 +71,13 @@ public class AutocryptPeerDao extends AbstractDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<AutocryptPeer> getAutocryptPeers(String packageName, String... autocryptId) {
|
private List<AutocryptPeer> getAutocryptPeers(String packageName, String... autocryptId) {
|
||||||
ArrayList<AutocryptPeer> result = new ArrayList<>(autocryptId.length);
|
|
||||||
SqlDelightQuery query = AutocryptPeer.FACTORY.selectByIdentifiers(packageName, autocryptId);
|
SqlDelightQuery query = AutocryptPeer.FACTORY.selectByIdentifiers(packageName, autocryptId);
|
||||||
try (Cursor cursor = getReadableDb().query(query)) {
|
return mapAllRows(query, AutocryptPeer.PEER_MAPPER);
|
||||||
if (cursor.moveToNext()) {
|
|
||||||
AutocryptPeer autocryptPeer = AutocryptPeer.PEER_MAPPER.map(cursor);
|
|
||||||
result.add(autocryptPeer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AutocryptKeyStatus> getAutocryptKeyStatus(String packageName, String[] autocryptIds) {
|
public List<AutocryptKeyStatus> getAutocryptKeyStatus(String packageName, String[] autocryptIds) {
|
||||||
ArrayList<AutocryptKeyStatus> result = new ArrayList<>(autocryptIds.length);
|
SqlDelightQuery query = AutocryptPeer.FACTORY.selectAutocryptKeyStatus(packageName, autocryptIds);
|
||||||
SqlDelightQuery query = AutocryptPeer.FACTORY.selectAutocryptKeyStatus(packageName, autocryptIds, System.currentTimeMillis());
|
return mapAllRows(query, AutocryptPeer.KEY_STATUS_MAPPER);
|
||||||
try (Cursor cursor = getReadableDb().query(query)) {
|
|
||||||
if (cursor.moveToNext()) {
|
|
||||||
AutocryptKeyStatus autocryptPeer = AutocryptPeer.KEY_STATUS_MAPPER.map(cursor);
|
|
||||||
result.add(autocryptPeer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ensureAutocryptPeerExists(String packageName, String autocryptId) {
|
private void ensureAutocryptPeerExists(String packageName, String autocryptId) {
|
||||||
|
|||||||
@@ -52,8 +52,8 @@ INSERT OR IGNORE INTO autocrypt_peers (package_name, identifier) VALUES (?, ?);
|
|||||||
|
|
||||||
selectAutocryptKeyStatus:
|
selectAutocryptKeyStatus:
|
||||||
SELECT autocryptPeer.*,
|
SELECT autocryptPeer.*,
|
||||||
(CASE WHEN ac_key.expiry IS NULL THEN 0 WHEN ac_key.expiry > ?3 THEN 0 ELSE 1 END) AS key_is_expired_int,
|
(CASE WHEN ac_key.expiry IS NULL THEN 0 WHEN ac_key.expiry > strftime('%s', 'now') THEN 0 ELSE 1 END) AS key_is_expired_int,
|
||||||
(CASE WHEN gossip_key.expiry IS NULL THEN 0 WHEN gossip_key.expiry > ?3 THEN 0 ELSE 1 END) AS gossip_key_is_expired_int,
|
(CASE WHEN gossip_key.expiry IS NULL THEN 0 WHEN gossip_key.expiry > strftime('%s', 'now') THEN 0 ELSE 1 END) AS gossip_key_is_expired_int,
|
||||||
ac_key.is_revoked AS key_is_revoked_int,
|
ac_key.is_revoked AS key_is_revoked_int,
|
||||||
gossip_key.is_revoked AS gossip_key_is_revoked_int,
|
gossip_key.is_revoked AS gossip_key_is_revoked_int,
|
||||||
EXISTS (SELECT * FROM certs WHERE certs.master_key_id = autocryptPeer.master_key_id AND verified = 1 ) AS key_is_verified_int,
|
EXISTS (SELECT * FROM certs WHERE certs.master_key_id = autocryptPeer.master_key_id AND verified = 1 ) AS key_is_verified_int,
|
||||||
|
|||||||
Reference in New Issue
Block a user