diff options
Diffstat (limited to '')
-rw-r--r-- | g10/passphrase.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/g10/passphrase.c b/g10/passphrase.c index 50bb0e18d..1793efc9d 100644 --- a/g10/passphrase.c +++ b/g10/passphrase.c @@ -171,15 +171,18 @@ read_passphrase_from_fd( int fd ) * operation. If CACHEID is not NULL, it will be used as the cacheID * for the gpg-agent; if is NULL and a key fingerprint can be * computed, this will be used as the cacheid. + * + * For FLAGS see passphrase_to_dek; */ static char * passphrase_get (int newsymkey, int nocache, const char *cacheid, int repeat, - const char *tryagain_text, int *canceled) + const char *tryagain_text, unsigned int flags, int *canceled) { int rc; char *pw = NULL; char *orig_codeset; const char *my_cacheid; + const char *desc; if (canceled) *canceled = 0; @@ -194,6 +197,11 @@ passphrase_get (int newsymkey, int nocache, const char *cacheid, int repeat, if (tryagain_text) tryagain_text = _(tryagain_text); + if ((flags & GETPASSWORD_FLAG_SYMDECRYPT)) + desc = _("Please enter the passphrase for decryption."); + else + desc = _("Enter passphrase\n"); + /* Here we have: * REPEAT is set in create mode and if opt.passphrase_repeat is set. * (Thus it is not a clean indication that we want a new passphrase). @@ -205,7 +213,7 @@ passphrase_get (int newsymkey, int nocache, const char *cacheid, int repeat, * for a full state analysis and thus this new parameter. */ rc = agent_get_passphrase (my_cacheid, tryagain_text, NULL, - _("Enter passphrase\n"), + desc, newsymkey, repeat, nocache, &pw); i18n_switchback (orig_codeset); @@ -264,11 +272,15 @@ passphrase_clear_cache (const char *cacheid) * CANCELED is not NULL, sets it to true. * * If CREATE is true a new passphrase will be created. If NOCACHE is - * true the symmetric key caching will not be used. */ + * true the symmetric key caching will not be used. + * FLAG bits are: + * GETPASSWORD_FLAG_SYMDECRYPT := for symmetric decryption + */ DEK * passphrase_to_dek (int cipher_algo, STRING2KEY *s2k, int create, int nocache, - const char *tryagain_text, int *canceled) + const char *tryagain_text, unsigned int flags, + int *canceled) { char *pw = NULL; DEK *dek; @@ -355,7 +367,7 @@ passphrase_to_dek (int cipher_algo, STRING2KEY *s2k, /* Divert to the gpg-agent. */ pw = passphrase_get (create, create && nocache, s2k_cacheid, create? opt.passphrase_repeat : 0, - tryagain_text, canceled); + tryagain_text, flags, canceled); if (*canceled) { xfree (pw); |