ImportKeys: Don't save origins (not used) and fix logic
This commit is contained in:
parent
756f427f19
commit
b833b9495c
|
@ -51,10 +51,6 @@ public class FacebookKeyserver extends Keyserver {
|
|||
private static final String FB_HOST = "facebook.com";
|
||||
private static final String FB_HOST_WWW = "www." + FB_HOST;
|
||||
|
||||
public static final String FB_URL = "https://" + FB_HOST_WWW;
|
||||
|
||||
public static final String ORIGIN = FB_URL;
|
||||
|
||||
private final Proxy mProxy;
|
||||
|
||||
public FacebookKeyserver(Proxy proxy) {
|
||||
|
@ -148,7 +144,6 @@ public class FacebookKeyserver extends Keyserver {
|
|||
throws UnsupportedOperationException {
|
||||
ImportKeysListEntry entry = new ImportKeysListEntry();
|
||||
entry.setSecretKey(false); // keys imported from Facebook must be public
|
||||
entry.addOrigin(ORIGIN);
|
||||
|
||||
// so we can query for the Facebook username directly, and to identify the source to
|
||||
// download the key from
|
||||
|
|
|
@ -54,6 +54,7 @@ import okhttp3.RequestBody;
|
|||
import okhttp3.Response;
|
||||
|
||||
public class HkpKeyserver extends Keyserver {
|
||||
|
||||
private static class HttpError extends Exception {
|
||||
private static final long serialVersionUID = 1718783705229428893L;
|
||||
private int mCode;
|
||||
|
@ -274,7 +275,6 @@ public class HkpKeyserver extends Keyserver {
|
|||
while (matcher.find()) {
|
||||
final ImportKeysListEntry entry = new ImportKeysListEntry();
|
||||
entry.setQuery(query);
|
||||
entry.addOrigin(getUrlPrefix() + mHost + ":" + mPort);
|
||||
|
||||
// group 1 contains the full fingerprint (v4) or the long key id if available
|
||||
// see https://bitbucket.org/skskeyserver/sks-keyserver/pull-request/12/fixes-for-machine-readable-indexes/diff
|
||||
|
|
|
@ -72,32 +72,17 @@ public class ImportKeysList extends ArrayList<ImportKeysListEntry> {
|
|||
|
||||
if (incoming.getKeyserver() != null) {
|
||||
existing.setKeyserver(incoming.getKeyserver());
|
||||
}
|
||||
|
||||
// keep track if this key result is from a HKP keyserver
|
||||
boolean incomingFromHkpServer = true;
|
||||
// we’re going to want to try to fetch the key from everywhere we found it, so remember
|
||||
// all the origins
|
||||
for (String origin : incoming.getOrigins()) {
|
||||
existing.addOrigin(origin);
|
||||
|
||||
// to work properly, Keybase-sourced/Facebook-sourced entries need to pass along the
|
||||
// identifying name/id
|
||||
if (incoming.getKeybaseName() != null) {
|
||||
existing.setKeybaseName(incoming.getKeybaseName());
|
||||
// one of the origins is not a HKP keyserver
|
||||
incomingFromHkpServer = false;
|
||||
}
|
||||
if (incoming.getFbUsername() != null) {
|
||||
existing.setFbUsername(incoming.getFbUsername());
|
||||
// one of the origins is not a HKP keyserver
|
||||
incomingFromHkpServer = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (incomingFromHkpServer) {
|
||||
// Mail addresses returned by HKP servers are preferred over keybase.io IDs
|
||||
existing.setPrimaryUserId(incoming.getPrimaryUserId());
|
||||
|
||||
modified = true;
|
||||
} else if (incoming.getKeybaseName() != null) {
|
||||
// to work properly, Keybase-sourced/Facebook-sourced entries need to pass along the
|
||||
// identifying name/id
|
||||
existing.setKeybaseName(incoming.getKeybaseName());
|
||||
modified = true;
|
||||
} else if (incoming.getFbUsername() != null) {
|
||||
existing.setFbUsername(incoming.getFbUsername());
|
||||
modified = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,6 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
|
|||
private String mKeybaseName;
|
||||
private String mFbUsername;
|
||||
private String mQuery;
|
||||
private ArrayList<String> mOrigins;
|
||||
private Integer mHashCode = null;
|
||||
|
||||
public ParcelableKeyRing getParcelableKeyRing() {
|
||||
|
@ -203,14 +202,6 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
|
|||
mQuery = query;
|
||||
}
|
||||
|
||||
public ArrayList<String> getOrigins() {
|
||||
return mOrigins;
|
||||
}
|
||||
|
||||
public void addOrigin(String origin) {
|
||||
mOrigins.add(origin);
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return mHashCode != null ? mHashCode : super.hashCode();
|
||||
}
|
||||
|
@ -264,7 +255,6 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
|
|||
mSecretKey = false;
|
||||
|
||||
mUserIds = new ArrayList<>();
|
||||
mOrigins = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -367,12 +357,12 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
|
|||
dest.writeByte((byte) (mSecretKey ? 1 : 0));
|
||||
dest.writeString(mKeybaseName);
|
||||
dest.writeString(mFbUsername);
|
||||
dest.writeStringList(mOrigins);
|
||||
}
|
||||
|
||||
public static final Creator<ImportKeysListEntry> CREATOR = new Creator<ImportKeysListEntry>() {
|
||||
public ImportKeysListEntry createFromParcel(final Parcel source) {
|
||||
ImportKeysListEntry vr = new ImportKeysListEntry();
|
||||
|
||||
vr.mParcelableKeyRing = source.readParcelable(ParcelableKeyRing.class.getClassLoader());
|
||||
vr.mPrimaryUserId = (UserId) source.readSerializable();
|
||||
vr.mUserIds = new ArrayList<>();
|
||||
|
@ -388,8 +378,6 @@ public class ImportKeysListEntry implements Serializable, Parcelable {
|
|||
vr.mSecretKey = source.readByte() == 1;
|
||||
vr.mKeybaseName = source.readString();
|
||||
vr.mFbUsername = source.readString();
|
||||
vr.mOrigins = new ArrayList<>();
|
||||
source.readStringList(vr.mOrigins);
|
||||
|
||||
return vr;
|
||||
}
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
package org.sufficientlysecure.keychain.keyimport;
|
||||
|
||||
import com.textuality.keybase.lib.KeybaseException;
|
||||
import com.textuality.keybase.lib.Match;
|
||||
import com.textuality.keybase.lib.KeybaseQuery;
|
||||
import com.textuality.keybase.lib.Match;
|
||||
import com.textuality.keybase.lib.User;
|
||||
|
||||
import org.sufficientlysecure.keychain.Constants;
|
||||
|
@ -32,9 +32,8 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
public class KeybaseKeyserver extends Keyserver {
|
||||
public static final String ORIGIN = "keybase:keybase.io";
|
||||
|
||||
Proxy mProxy;
|
||||
private Proxy mProxy;
|
||||
|
||||
public KeybaseKeyserver(Proxy proxy) {
|
||||
mProxy = proxy;
|
||||
|
@ -71,7 +70,6 @@ public class KeybaseKeyserver extends Keyserver {
|
|||
private ImportKeysListEntry makeEntry(Match match, String query) throws KeybaseException {
|
||||
final ImportKeysListEntry entry = new ImportKeysListEntry();
|
||||
entry.setQuery(query);
|
||||
entry.addOrigin(ORIGIN);
|
||||
|
||||
entry.setRevoked(false); // keybase doesn’t say anything about revoked keys
|
||||
|
||||
|
|
Loading…
Reference in a new issue