1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

gpg: Use a more descriptive prompt for symmetric decryption.

* g10/keydb.h (GETPASSWORD_FLAG_SYMDECRYPT): New.
(passphrase_to_dek_ext): Remove this obsolete prototype.
* g10/passphrase.c (passphrase_get): Add arg flags.  Use new flag
value.
(passphrase_to_dek): Add arg flags and pass it on.
* g10/mainproc.c (proc_symkey_enc): Use new flag.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2021-05-17 19:27:54 +02:00
parent 50ea1b67e8
commit 03f83bcda5
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
7 changed files with 35 additions and 17 deletions

View file

@ -221,15 +221,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;
@ -244,6 +247,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).
@ -255,7 +263,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);
@ -314,11 +322,16 @@ passphrase_clear_cache (const char *cacheid)
* CANCELED is not NULL, sets it to true.
*
* If CREATE is true a new passphrase sll 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;
@ -405,7 +418,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);