aboutsummaryrefslogtreecommitdiffstats
path: root/agent/pksign.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/pksign.c')
-rw-r--r--agent/pksign.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/agent/pksign.c b/agent/pksign.c
index 926438e87..25cadb29e 100644
--- a/agent/pksign.c
+++ b/agent/pksign.c
@@ -125,10 +125,12 @@ do_encode_raw_pkcs1 (const byte *md, size_t mdlen, unsigned int nbits,
/* SIGN whatever information we have accumulated in CTRL and return
- the signature S-Expression. */
+ the signature S-expression. LOOKUP is an optional function to
+ provide a way for lower layers to ask for the caching TTL. */
int
agent_pksign_do (ctrl_t ctrl, const char *desc_text,
- gcry_sexp_t *signature_sexp, cache_mode_t cache_mode)
+ gcry_sexp_t *signature_sexp,
+ cache_mode_t cache_mode, lookup_ttl_t lookup_ttl)
{
gcry_sexp_t s_skey = NULL, s_sig = NULL;
unsigned char *shadow_info = NULL;
@@ -138,7 +140,8 @@ agent_pksign_do (ctrl_t ctrl, const char *desc_text,
return gpg_error (GPG_ERR_NO_SECKEY);
rc = agent_key_from_file (ctrl, desc_text, ctrl->keygrip,
- &shadow_info, cache_mode, &s_skey);
+ &shadow_info, cache_mode, lookup_ttl,
+ &s_skey);
if (rc)
{
log_error ("failed to read the secret key\n");
@@ -238,7 +241,7 @@ agent_pksign (ctrl_t ctrl, const char *desc_text,
size_t len = 0;
int rc = 0;
- rc = agent_pksign_do (ctrl, desc_text, &s_sig, cache_mode);
+ rc = agent_pksign_do (ctrl, desc_text, &s_sig, cache_mode, NULL);
if (rc)
goto leave;