mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
2006-07-29 Marcus Brinkmann <marcus@g10code.de>
* preset-passphrase.c (preset_passphrase): Do not strip off last character of passphrase. (make_hexstring): New function. * command.c (cmd_preset_passphrase): Use parse_hexstring to syntax check passphrase argument. Truncate passphrase at delimiter.
This commit is contained in:
parent
d816b37fdb
commit
6d77c76ef2
3 changed files with 61 additions and 3 deletions
|
@ -794,7 +794,7 @@ cmd_passwd (ASSUAN_CONTEXT ctx, char *line)
|
|||
return map_to_assuan_status (rc);
|
||||
}
|
||||
|
||||
/* PRESET_PASSPHRASE <hexstring_with_keygrip> <timeout> <passwd>
|
||||
/* PRESET_PASSPHRASE <hexstring_with_keygrip> <timeout> <hexstring>
|
||||
|
||||
Set the cached passphrase/PIN for the key identified by the keygrip
|
||||
to passwd for the given time, where -1 means infinite and 0 means
|
||||
|
@ -809,6 +809,7 @@ cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line)
|
|||
char *grip_clear = NULL;
|
||||
char *passphrase = NULL;
|
||||
int ttl;
|
||||
size_t len;
|
||||
|
||||
if (!opt.allow_preset_passphrase)
|
||||
return gpg_error (GPG_ERR_NOT_SUPPORTED);
|
||||
|
@ -837,6 +838,12 @@ cmd_preset_passphrase (ASSUAN_CONTEXT ctx, char *line)
|
|||
while (!(*line != ' ' && *line != '\t'))
|
||||
line++;
|
||||
|
||||
/* Syntax check the hexstring. */
|
||||
rc = parse_hexstring (ctx, line, &len);
|
||||
if (rc)
|
||||
return rc;
|
||||
line[len] = '\0';
|
||||
|
||||
/* If there is a passphrase, use it. Currently, a passphrase is
|
||||
required. */
|
||||
if (*line)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue