Preparations for support of onion keyservers. Refactoring of Keyserver and proxy related classes
This commit is contained in:
@@ -24,11 +24,9 @@ import android.os.Parcelable;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import org.sufficientlysecure.keychain.pgp.WrappedUserAttribute;
|
||||
import org.sufficientlysecure.keychain.util.ParcelableProxy;
|
||||
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
|
||||
|
||||
|
||||
/**
|
||||
@@ -43,7 +41,7 @@ public class CertifyActionsParcel implements Parcelable {
|
||||
|
||||
public ArrayList<CertifyAction> mCertifyActions = new ArrayList<>();
|
||||
|
||||
public String keyServerUri;
|
||||
public ParcelableHkpKeyserver keyServerUri;
|
||||
|
||||
public CertifyActionsParcel(long masterKeyId) {
|
||||
mMasterKeyId = masterKeyId;
|
||||
@@ -54,7 +52,7 @@ public class CertifyActionsParcel implements Parcelable {
|
||||
mMasterKeyId = source.readLong();
|
||||
// just like parcelables, this is meant for ad-hoc IPC only and is NOT portable!
|
||||
mLevel = CertifyLevel.values()[source.readInt()];
|
||||
keyServerUri = source.readString();
|
||||
keyServerUri = source.readParcelable(ParcelableHkpKeyserver.class.getClassLoader());
|
||||
|
||||
mCertifyActions = (ArrayList<CertifyAction>) source.readSerializable();
|
||||
}
|
||||
@@ -67,7 +65,7 @@ public class CertifyActionsParcel implements Parcelable {
|
||||
public void writeToParcel(Parcel destination, int flags) {
|
||||
destination.writeLong(mMasterKeyId);
|
||||
destination.writeInt(mLevel.ordinal());
|
||||
destination.writeString(keyServerUri);
|
||||
destination.writeParcelable(keyServerUri, flags);
|
||||
|
||||
destination.writeSerializable(mCertifyActions);
|
||||
}
|
||||
|
||||
@@ -20,16 +20,18 @@ package org.sufficientlysecure.keychain.service;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;
|
||||
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class ImportKeyringParcel implements Parcelable {
|
||||
// if null, keys are expected to be read from a cache file in ImportExportOperations
|
||||
public ArrayList<ParcelableKeyRing> mKeyList;
|
||||
public String mKeyserver; // must be set if keys are to be imported from a keyserver
|
||||
public ParcelableHkpKeyserver mKeyserver; // must be set if keys are to be imported from a keyserver
|
||||
|
||||
public ImportKeyringParcel (ArrayList<ParcelableKeyRing> keyList, String keyserver) {
|
||||
public ImportKeyringParcel(ArrayList<ParcelableKeyRing> keyList, ParcelableHkpKeyserver keyserver) {
|
||||
mKeyList = keyList;
|
||||
mKeyserver = keyserver;
|
||||
}
|
||||
@@ -41,7 +43,7 @@ public class ImportKeyringParcel implements Parcelable {
|
||||
} else {
|
||||
mKeyList = null;
|
||||
}
|
||||
mKeyserver = in.readString();
|
||||
mKeyserver = in.readParcelable(ParcelableHkpKeyserver.class.getClassLoader());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,7 +59,7 @@ public class ImportKeyringParcel implements Parcelable {
|
||||
dest.writeByte((byte) (0x01));
|
||||
dest.writeList(mKeyList);
|
||||
}
|
||||
dest.writeString(mKeyserver);
|
||||
dest.writeParcelable(mKeyserver, flags);
|
||||
}
|
||||
|
||||
public static final Parcelable.Creator<ImportKeyringParcel> CREATOR = new Parcelable.Creator<ImportKeyringParcel>() {
|
||||
|
||||
@@ -11,7 +11,6 @@ import android.content.ContentProviderClient;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.PeriodicSync;
|
||||
import android.content.SyncResult;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -308,7 +307,7 @@ public class KeyserverSyncAdapterService extends Service {
|
||||
|
||||
if (cryptoInputParcel.getParcelableProxy() == null) {
|
||||
// no explicit proxy, retrieve from preferences. Check if we should do a staggered sync
|
||||
if (Preferences.getPreferences(context).getProxyPrefs().torEnabled) {
|
||||
if (Preferences.getPreferences(context).getParcelableProxy().isTorEnabled()) {
|
||||
return staggeredUpdate(context, keyList, cryptoInputParcel);
|
||||
} else {
|
||||
return directUpdate(context, keyList, cryptoInputParcel);
|
||||
|
||||
@@ -22,13 +22,15 @@ package org.sufficientlysecure.keychain.service;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
|
||||
|
||||
public class RevokeKeyringParcel implements Parcelable {
|
||||
|
||||
final public long mMasterKeyId;
|
||||
final public boolean mUpload;
|
||||
final public String mKeyserver;
|
||||
final public ParcelableHkpKeyserver mKeyserver;
|
||||
|
||||
public RevokeKeyringParcel(long masterKeyId, boolean upload, String keyserver) {
|
||||
public RevokeKeyringParcel(long masterKeyId, boolean upload, ParcelableHkpKeyserver keyserver) {
|
||||
mMasterKeyId = masterKeyId;
|
||||
mUpload = upload;
|
||||
mKeyserver = keyserver;
|
||||
@@ -37,7 +39,7 @@ public class RevokeKeyringParcel implements Parcelable {
|
||||
protected RevokeKeyringParcel(Parcel in) {
|
||||
mMasterKeyId = in.readLong();
|
||||
mUpload = in.readByte() != 0x00;
|
||||
mKeyserver = in.readString();
|
||||
mKeyserver = in.readParcelable(ParcelableHkpKeyserver.class.getClassLoader());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -49,7 +51,7 @@ public class RevokeKeyringParcel implements Parcelable {
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeLong(mMasterKeyId);
|
||||
dest.writeByte((byte) (mUpload ? 0x01 : 0x00));
|
||||
dest.writeString(mKeyserver);
|
||||
dest.writeParcelable(mKeyserver, flags);
|
||||
}
|
||||
|
||||
public static final Parcelable.Creator<RevokeKeyringParcel> CREATOR = new Parcelable.Creator<RevokeKeyringParcel>() {
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import org.sufficientlysecure.keychain.pgp.WrappedUserAttribute;
|
||||
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
|
||||
import org.sufficientlysecure.keychain.util.Passphrase;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -66,7 +67,7 @@ public class SaveKeyringParcel implements Parcelable {
|
||||
// private because they have to be set together with setUpdateOptions
|
||||
private boolean mUpload;
|
||||
private boolean mUploadAtomic;
|
||||
private String mKeyserver;
|
||||
private ParcelableHkpKeyserver mKeyserver;
|
||||
|
||||
// private because we have to set other details like key id
|
||||
private ChangeUnlockParcel mNewUnlock;
|
||||
@@ -97,10 +98,10 @@ public class SaveKeyringParcel implements Parcelable {
|
||||
mKeyserver = null;
|
||||
}
|
||||
|
||||
public void setUpdateOptions(boolean upload, boolean uploadAtomic, String keysever) {
|
||||
public void setUpdateOptions(boolean upload, boolean uploadAtomic, ParcelableHkpKeyserver keyserver) {
|
||||
mUpload = upload;
|
||||
mUploadAtomic = uploadAtomic;
|
||||
mKeyserver = keysever;
|
||||
mKeyserver = keyserver;
|
||||
}
|
||||
|
||||
public void setNewUnlock(ChangeUnlockParcel parcel) {
|
||||
@@ -123,7 +124,7 @@ public class SaveKeyringParcel implements Parcelable {
|
||||
return mUploadAtomic;
|
||||
}
|
||||
|
||||
public String getUploadKeyserver() {
|
||||
public ParcelableHkpKeyserver getUploadKeyserver() {
|
||||
return mKeyserver;
|
||||
}
|
||||
|
||||
@@ -278,7 +279,7 @@ public class SaveKeyringParcel implements Parcelable {
|
||||
|
||||
mUpload = source.readByte() != 0;
|
||||
mUploadAtomic = source.readByte() != 0;
|
||||
mKeyserver = source.readString();
|
||||
mKeyserver = source.readParcelable(ParcelableHkpKeyserver.class.getClassLoader());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -307,7 +308,7 @@ public class SaveKeyringParcel implements Parcelable {
|
||||
|
||||
destination.writeByte((byte) (mUpload ? 1 : 0));
|
||||
destination.writeByte((byte) (mUploadAtomic ? 1 : 0));
|
||||
destination.writeString(mKeyserver);
|
||||
destination.writeParcelable(mKeyserver, flags);
|
||||
}
|
||||
|
||||
public static final Creator<SaveKeyringParcel> CREATOR = new Creator<SaveKeyringParcel>() {
|
||||
|
||||
@@ -23,27 +23,29 @@ package org.sufficientlysecure.keychain.service;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import org.sufficientlysecure.keychain.keyimport.ParcelableHkpKeyserver;
|
||||
|
||||
|
||||
public class UploadKeyringParcel implements Parcelable {
|
||||
public String mKeyserver;
|
||||
public ParcelableHkpKeyserver mKeyserver;
|
||||
|
||||
public final Long mMasterKeyId;
|
||||
public final byte[] mUncachedKeyringBytes;
|
||||
|
||||
public UploadKeyringParcel(String keyserver, long masterKeyId) {
|
||||
public UploadKeyringParcel(ParcelableHkpKeyserver keyserver, long masterKeyId) {
|
||||
mKeyserver = keyserver;
|
||||
mMasterKeyId = masterKeyId;
|
||||
mUncachedKeyringBytes = null;
|
||||
}
|
||||
|
||||
public UploadKeyringParcel(String keyserver, byte[] uncachedKeyringBytes) {
|
||||
public UploadKeyringParcel(ParcelableHkpKeyserver keyserver, byte[] uncachedKeyringBytes) {
|
||||
mKeyserver = keyserver;
|
||||
mMasterKeyId = null;
|
||||
mUncachedKeyringBytes = uncachedKeyringBytes;
|
||||
}
|
||||
|
||||
protected UploadKeyringParcel(Parcel in) {
|
||||
mKeyserver = in.readString();
|
||||
mKeyserver = in.readParcelable(ParcelableHkpKeyserver.class.getClassLoader());
|
||||
mMasterKeyId = in.readInt() != 0 ? in.readLong() : null;
|
||||
mUncachedKeyringBytes = in.createByteArray();
|
||||
}
|
||||
@@ -55,7 +57,7 @@ public class UploadKeyringParcel implements Parcelable {
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel dest, int flags) {
|
||||
dest.writeString(mKeyserver);
|
||||
dest.writeParcelable(mKeyserver, flags);
|
||||
if (mMasterKeyId != null) {
|
||||
dest.writeInt(1);
|
||||
dest.writeLong(mMasterKeyId);
|
||||
|
||||
Reference in New Issue
Block a user