aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2016-01-13 03:12:24 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2016-01-13 03:12:38 +0100
commite20e528f5ed73e5a3d9589ec008fd065e727c826 (patch)
treee2ef04b851dd64aa31d67fab14cb3a4590ceed5a /OpenKeychain
parent808a9e4f54aeacec3296a6898974906eebb3803b (diff)
downloadopen-keychain-e20e528f5ed73e5a3d9589ec008fd065e727c826.tar.gz
open-keychain-e20e528f5ed73e5a3d9589ec008fd065e727c826.tar.bz2
open-keychain-e20e528f5ed73e5a3d9589ec008fd065e727c826.zip
fix symmetric decryption with backup code (fixes #1677)
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java
index 5b0dd0d57..a973a67e0 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java
@@ -368,7 +368,6 @@ public class PassphraseDialogActivity extends FragmentActivity {
@Override
public void onClick(View v) {
- final Passphrase passphrase;
if (mRequiredInput.mType == RequiredInputType.BACKUP_CODE) {
StringBuilder backupCodeInput = new StringBuilder(26);
for (EditText editText : mBackupCodeEditText) {
@@ -380,16 +379,18 @@ public class PassphraseDialogActivity extends FragmentActivity {
}
backupCodeInput.deleteCharAt(backupCodeInput.length() - 1);
- passphrase = new Passphrase(backupCodeInput.toString());
- } else {
- passphrase = new Passphrase(mPassphraseEditText);
+ Passphrase passphrase = new Passphrase(backupCodeInput.toString());
+ finishCaching(passphrase);
+
+ return;
}
+ final Passphrase passphrase = new Passphrase(mPassphraseEditText);
final int timeToLiveSeconds = mTimeToLiveSpinner.getSelectedTimeToLive();
// Early breakout if we are dealing with a symmetric key
if (mSecretRing == null) {
- if ( ! mRequiredInput.mSkipCaching) {
+ if (!mRequiredInput.mSkipCaching) {
PassphraseCacheService.addCachedPassphrase(getActivity(),
Constants.key.symmetric, Constants.key.symmetric, passphrase,
getString(R.string.passp_cache_notif_pwd), timeToLiveSeconds);