diff options
author | Werner Koch <[email protected]> | 2003-10-21 17:12:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2003-10-21 17:12:21 +0000 |
commit | 99277d21c190965d1b7c95b895324f467413f0f1 (patch) | |
tree | 0661e364862d55933dfa45ee8a09db37a7f898b7 /g10/call-agent.c | |
parent | (PRINTABLE_OS_NAME): Remove special case for The (diff) | |
download | gnupg-99277d21c190965d1b7c95b895324f467413f0f1.tar.gz gnupg-99277d21c190965d1b7c95b895324f467413f0f1.zip |
* card-util.c (card_edit): New command "passwd". Add logic to
check the PIN in advance.
(card_status): Add new args to return the serial number. Changed
all callers.
* call-agent.c (agent_scd_checkpin): New.
Diffstat (limited to 'g10/call-agent.c')
-rw-r--r-- | g10/call-agent.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/g10/call-agent.c b/g10/call-agent.c index c6c8faaec..9ca127c3c 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -869,3 +869,25 @@ agent_scd_change_pin (int chvno) return map_assuan_err (rc); } + +/* Perform a CHECKPIN operation. SERIALNO should be the seriial + number of the card - optioanlly followed by the fingerprint; + however the fingerprint is ignored here. */ +int +agent_scd_checkpin (const char *serialno) +{ + int rc; + char line[ASSUAN_LINELENGTH]; + + rc = start_agent (); + if (rc) + return rc; + + snprintf (line, DIM(line)-1, "SCD CHECKPIN %s", serialno); + line[DIM(line)-1] = 0; + return assuan_transact (agent_ctx, line, + NULL, NULL, + NULL, NULL, NULL, NULL); +} + + |