Merge pull request #218 from emdete/master

add "never" for ttl for passphrase cache
This commit is contained in:
Dominik Schürmann 2014-01-23 06:15:20 -08:00
commit 8fb32848e2
3 changed files with 12 additions and 7 deletions

View File

@ -13,6 +13,7 @@
<item>@string/choice_2hours</item> <item>@string/choice_2hours</item>
<item>@string/choice_4hours</item> <item>@string/choice_4hours</item>
<item>@string/choice_8hours</item> <item>@string/choice_8hours</item>
<item>@string/choice_forever</item>
</string-array> </string-array>
<string-array name="pass_phrase_cache_ttl_values" translatable="false"> <string-array name="pass_phrase_cache_ttl_values" translatable="false">
<item>15</item> <item>15</item>
@ -26,6 +27,7 @@
<item>7200</item> <item>7200</item>
<item>14400</item> <item>14400</item>
<item>28800</item> <item>28800</item>
<item>-1</item>
</string-array> </string-array>
<string-array name="key_size_spinner_values" translatable="false"> <string-array name="key_size_spinner_values" translatable="false">
<item>@string/key_size_512</item> <item>@string/key_size_512</item>

View File

@ -166,6 +166,7 @@
<string name="choice_2hours">2 hours</string> <string name="choice_2hours">2 hours</string>
<string name="choice_4hours">4 hours</string> <string name="choice_4hours">4 hours</string>
<string name="choice_8hours">8 hours</string> <string name="choice_8hours">8 hours</string>
<string name="choice_forever">forever</string>
<string name="dsa">DSA</string> <string name="dsa">DSA</string>
<string name="elgamal">ElGamal</string> <string name="elgamal">ElGamal</string>
<string name="rsa">RSA</string> <string name="rsa">RSA</string>

View File

@ -291,10 +291,12 @@ public class PassphraseCacheService extends Service {
// add keyId and passphrase to memory // add keyId and passphrase to memory
mPassphraseCache.put(keyId, passphrase); mPassphraseCache.put(keyId, passphrase);
// register new alarm with keyId for this passphrase if (ttl > 0) {
long triggerTime = new Date().getTime() + (ttl * 1000); // register new alarm with keyId for this passphrase
AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE); long triggerTime = new Date().getTime() + (ttl * 1000);
am.set(AlarmManager.RTC_WAKEUP, triggerTime, buildIntent(this, keyId)); AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, triggerTime, buildIntent(this, keyId));
}
} else if (ACTION_PASSPHRASE_CACHE_GET.equals(intent.getAction())) { } else if (ACTION_PASSPHRASE_CACHE_GET.equals(intent.getAction())) {
long keyId = intent.getLongExtra(EXTRA_KEY_ID, -1); long keyId = intent.getLongExtra(EXTRA_KEY_ID, -1);
Messenger messenger = intent.getParcelableExtra(EXTRA_MESSENGER); Messenger messenger = intent.getParcelableExtra(EXTRA_MESSENGER);