aboutsummaryrefslogtreecommitdiffstats
path: root/agent/learncard.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-05-26 09:59:46 +0000
committerWerner Koch <[email protected]>2023-05-26 12:27:16 +0000
commit1d23dc9389a12600a1002600f97dcff659cede44 (patch)
treeead5c3fb857b6bd3b588118a3739f15861ede180 /agent/learncard.c
parentcommon: New function nve_set (diff)
downloadgnupg-1d23dc9389a12600a1002600f97dcff659cede44.tar.gz
gnupg-1d23dc9389a12600a1002600f97dcff659cede44.zip
agent: Create and use Token entries to track the display s/n.
* agent/findkey.c (agent_write_private_key): Add arg dispserialno and update the token. (agent_write_shadow_key): Add arg dispserialno and adjust all callers. -- GnuPG-bug-id: 6135 Note that this has been forward ported from 2.2
Diffstat (limited to 'agent/learncard.c')
-rw-r--r--agent/learncard.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/agent/learncard.c b/agent/learncard.c
index 678ff9b96..8d80b809d 100644
--- a/agent/learncard.c
+++ b/agent/learncard.c
@@ -408,7 +408,15 @@ agent_handle_learn (ctrl_t ctrl, int send, void *assuan_context, int force)
goto leave;
}
- rc = agent_write_shadow_key (grip, serialno, item->id, pubkey, force);
+ {
+ char *dispserialno;
+
+ agent_card_getattr (ctrl, "$DISPSERIALNO", &dispserialno,
+ item->hexgrip);
+ rc = agent_write_shadow_key (grip, serialno, item->id, pubkey, force,
+ dispserialno);
+ xfree (dispserialno);
+ }
xfree (pubkey);
if (rc)
goto leave;