mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
agent: API change of agent_key_from_file.
* agent/findkey.c (agent_key_from_file): Always return S-expression. * agent/command.c (cmd_passwd): Distinguish by SHADOW_INFO. (cmd_export_key): Likewise. Free SHADOW_INFO. (cmd_keytocard): Likewise. Release S_SKEY. * agent/pkdecrypt.c (agent_pkdecrypt): Likewise. * agent/pksign.c (agent_pksign_do): Likewise. Use the S-expression to know the key type. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
57d26f39af
commit
ac5a1a3ccb
4 changed files with 30 additions and 35 deletions
|
@ -537,9 +537,9 @@ read_key_file (const unsigned char *grip, gcry_sexp_t *result)
|
|||
|
||||
|
||||
/* Return the secret key as an S-Exp in RESULT after locating it using
|
||||
the GRIP. Stores NULL at RESULT if the operation shall be diverted
|
||||
to a token; in this case an allocated S-expression with the
|
||||
shadow_info part from the file is stored at SHADOW_INFO.
|
||||
the GRIP. If the operation shall be diverted to a token, an
|
||||
allocated S-expression with the shadow_info part from the file is
|
||||
stored at SHADOW_INFO; if not NULL will be stored at SHADOW_INFO.
|
||||
CACHE_MODE defines now the cache shall be used. DESC_TEXT may be
|
||||
set to present a custom description for the pinentry. LOOKUP_TTL
|
||||
is an optional function to convey a TTL to the cache manager; we do
|
||||
|
@ -562,7 +562,6 @@ agent_key_from_file (ctrl_t ctrl, const char *cache_nonce,
|
|||
unsigned char *buf;
|
||||
size_t len, buflen, erroff;
|
||||
gcry_sexp_t s_skey;
|
||||
int got_shadow_info = 0;
|
||||
|
||||
*result = NULL;
|
||||
if (shadow_info)
|
||||
|
@ -638,7 +637,6 @@ agent_key_from_file (ctrl_t ctrl, const char *cache_nonce,
|
|||
{
|
||||
memcpy (*shadow_info, s, n);
|
||||
rc = 0;
|
||||
got_shadow_info = 1;
|
||||
}
|
||||
}
|
||||
if (rc)
|
||||
|
@ -654,7 +652,7 @@ agent_key_from_file (ctrl_t ctrl, const char *cache_nonce,
|
|||
}
|
||||
gcry_sexp_release (s_skey);
|
||||
s_skey = NULL;
|
||||
if (rc || got_shadow_info)
|
||||
if (rc)
|
||||
{
|
||||
xfree (buf);
|
||||
if (r_passphrase)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue