mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
scd: Add reder information to --card-status.
* g10/call-agent.h, g10/call-agent.c (agent_release_card_info) g10/card-util.c (card_status): Add READER. * scd/apdu.c (close_ccid_reader, open_ccid_reader): Handle RDRNAME. (apdu_get_reader_name): New. * scd/ccid-driver.c (ccid_open_reader): Add argument to RDRNAME_P. * scd/command.c (cmd_learn): Return READER information.
This commit is contained in:
parent
2242658efe
commit
bce0e3f71d
8 changed files with 41 additions and 6 deletions
|
@ -480,6 +480,7 @@ agent_release_card_info (struct agent_card_info_s *info)
|
|||
if (!info)
|
||||
return;
|
||||
|
||||
xfree (info->reader); info->reader = NULL;
|
||||
xfree (info->serialno); info->serialno = NULL;
|
||||
xfree (info->apptype); info->apptype = NULL;
|
||||
xfree (info->disp_name); info->disp_name = NULL;
|
||||
|
@ -509,7 +510,12 @@ learn_status_cb (void *opaque, const char *line)
|
|||
while (spacep (line))
|
||||
line++;
|
||||
|
||||
if (keywordlen == 8 && !memcmp (keyword, "SERIALNO", keywordlen))
|
||||
if (keywordlen == 6 && !memcmp (keyword, "READER", keywordlen))
|
||||
{
|
||||
xfree (parm->reader);
|
||||
parm->reader = unescape_status_string (line);
|
||||
}
|
||||
else if (keywordlen == 8 && !memcmp (keyword, "SERIALNO", keywordlen))
|
||||
{
|
||||
xfree (parm->serialno);
|
||||
parm->serialno = store_serialno (line);
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
struct agent_card_info_s
|
||||
{
|
||||
int error; /* private. */
|
||||
char *reader; /* Reader information. */
|
||||
char *apptype; /* Malloced application type string. */
|
||||
char *serialno; /* malloced hex string. */
|
||||
char *disp_name; /* malloced. */
|
||||
|
|
|
@ -386,6 +386,11 @@ card_status (estream_t fp, char *serialno, size_t serialnobuflen)
|
|||
return;
|
||||
}
|
||||
|
||||
if (opt.with_colons)
|
||||
es_fprintf (fp, "Reader:%s:", info.reader? info.reader : "");
|
||||
else
|
||||
tty_fprintf (fp, "Reader ...........: %s\n",
|
||||
info.reader? info.reader : "[none]");
|
||||
if (opt.with_colons)
|
||||
es_fprintf (fp, "AID:%s:", info.serialno? info.serialno : "");
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue