diff options
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/remote/OpenPgpService.java')
-rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/remote/OpenPgpService.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/remote/OpenPgpService.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/remote/OpenPgpService.java index 5362aa603..e676b6633 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/remote/OpenPgpService.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/service/remote/OpenPgpService.java @@ -432,8 +432,8 @@ public class OpenPgpService extends RemoteService { * @param params * @return */ - - private Bundle validateParamsAndVersion(Bundle params) { + private Bundle checkRequirements(Bundle params) { + // params Bundle is required! if (params == null) { Bundle result = new Bundle(); OpenPgpError error = new OpenPgpError(OpenPgpError.GENERIC_ERROR, "params Bundle required!"); @@ -442,8 +442,8 @@ public class OpenPgpService extends RemoteService { return result; } + // version code is required and needs to correspond to version code of service! if (params.getInt(OpenPgpConstants.PARAMS_API_VERSION) != OpenPgpConstants.API_VERSION) { - // not compatible! Bundle result = new Bundle(); OpenPgpError error = new OpenPgpError(OpenPgpError.INCOMPATIBLE_API_VERSIONS, "Incompatible API versions!"); result.putParcelable(OpenPgpConstants.RESULT_ERRORS, error); @@ -451,6 +451,12 @@ public class OpenPgpService extends RemoteService { return result; } + // check if caller is allowed to access openpgp keychain + Bundle result = isAllowed(params); + if (result != null) { + return result; + } + return null; } @@ -461,7 +467,7 @@ public class OpenPgpService extends RemoteService { public Bundle sign(Bundle params, final ParcelFileDescriptor input, final ParcelFileDescriptor output) { final AppSettings appSettings = getAppSettings(); - Bundle errorResult = validateParamsAndVersion(params); + Bundle errorResult = checkRequirements(params); if (errorResult != null) { return errorResult; } @@ -473,7 +479,7 @@ public class OpenPgpService extends RemoteService { public Bundle encrypt(Bundle params, ParcelFileDescriptor input, ParcelFileDescriptor output) { final AppSettings appSettings = getAppSettings(); - Bundle errorResult = validateParamsAndVersion(params); + Bundle errorResult = checkRequirements(params); if (errorResult != null) { return errorResult; } @@ -485,7 +491,7 @@ public class OpenPgpService extends RemoteService { public Bundle signAndEncrypt(Bundle params, ParcelFileDescriptor input, ParcelFileDescriptor output) { final AppSettings appSettings = getAppSettings(); - Bundle errorResult = validateParamsAndVersion(params); + Bundle errorResult = checkRequirements(params); if (errorResult != null) { return errorResult; } @@ -497,7 +503,7 @@ public class OpenPgpService extends RemoteService { public Bundle decryptAndVerify(Bundle params, ParcelFileDescriptor input, ParcelFileDescriptor output) { final AppSettings appSettings = getAppSettings(); - Bundle errorResult = validateParamsAndVersion(params); + Bundle errorResult = checkRequirements(params); if (errorResult != null) { return errorResult; } @@ -507,7 +513,7 @@ public class OpenPgpService extends RemoteService { @Override public Bundle getKeyIds(Bundle params) { - Bundle errorResult = validateParamsAndVersion(params); + Bundle errorResult = checkRequirements(params); if (errorResult != null) { return errorResult; } |