aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-08-14 16:27:50 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-08-14 16:28:03 +0200
commita19784ed7e930055a6a1d0a537f2f4f1d3ea1f21 (patch)
tree7e34a6f3b1b6db7a297ff47baad33d3bb4466a59 /OpenKeychain
parentd2b9e95c8089520411792028717ebd4b0d105764 (diff)
downloadopen-keychain-a19784ed7e930055a6a1d0a537f2f4f1d3ea1f21.tar.gz
open-keychain-a19784ed7e930055a6a1d0a537f2f4f1d3ea1f21.tar.bz2
open-keychain-a19784ed7e930055a6a1d0a537f2f4f1d3ea1f21.zip
merge: check fingerprints on merge operation! (this needs a testcase!)
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java4
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml2
2 files changed, 4 insertions, 2 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java
index 5c8a85de9..20e78d7fa 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java
@@ -45,6 +45,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
@@ -692,7 +693,8 @@ public class UncachedKeyRing {
long masterKeyId = other.getMasterKeyId();
- if (getMasterKeyId() != masterKeyId) {
+ if (getMasterKeyId() != masterKeyId
+ || Arrays.equals(getFingerprint(), other.getFingerprint())) {
log.add(LogLevel.ERROR, LogType.MSG_MG_HETEROGENEOUS, indent);
return null;
}
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 20a149956..0da651b03 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -616,7 +616,7 @@
<string name="msg_mg_public">Merging into public keyring %s</string>
<string name="msg_mg_secret">Merging into secret keyring %s</string>
<string name="msg_mg_fatal_encode">Fatal error encoding signature</string>
- <string name="msg_mg_heterogeneous">Tried to consolidate heterogeneous keyrings</string>
+ <string name="msg_mg_heterogeneous">Tried to merge keyrings with differing fingerprints!</string>
<string name="msg_mg_new_subkey">Adding new subkey %s</string>
<string name="msg_mg_found_new">Found %s new certificates in keyring</string>
<string name="msg_mg_unchanged">No new certificates</string>