mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg,card: Use the new MANUFACTURER attribute.
* tools/gpg-card.h (struct card_info_s): Add manufacturer fields. * tools/card-call-scd.c (release_card_info): Release them. (learn_status_cb): Parse MANUFACTURER attribute. * tools/gpg-card.c (get_manufacturer): Remove. (list_card): Use the new attribute. * g10/call-agent.h (struct agent_card_info_s): Add manufacturer fields. * g10/call-agent.c (agent_release_card_info): Release them. (learn_status_cb): Parse MANUFACTURER attribute. * g10/card-util.c (get_manufacturer): Remove. (current_card_status): Use new attribute. -- This does away with the duplicated OpenPGP vendor tables; they are now at a better place (app-openpgp.c). Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
541a6a903e
commit
15352b0eac
6 changed files with 42 additions and 88 deletions
|
@ -517,6 +517,7 @@ agent_release_card_info (struct agent_card_info_s *info)
|
|||
return;
|
||||
|
||||
xfree (info->reader); info->reader = NULL;
|
||||
xfree (info->manufacturer_name); info->manufacturer_name = NULL;
|
||||
xfree (info->serialno); info->serialno = NULL;
|
||||
xfree (info->apptype); info->apptype = NULL;
|
||||
xfree (info->disp_name); info->disp_name = NULL;
|
||||
|
@ -540,6 +541,7 @@ learn_status_cb (void *opaque, const char *line)
|
|||
const char *keyword = line;
|
||||
int keywordlen;
|
||||
int i;
|
||||
char *endp;
|
||||
|
||||
for (keywordlen=0; *line && !spacep (line); line++, keywordlen++)
|
||||
;
|
||||
|
@ -741,6 +743,16 @@ learn_status_cb (void *opaque, const char *line)
|
|||
xfree (parm->private_do[no]);
|
||||
parm->private_do[no] = unescape_status_string (line);
|
||||
}
|
||||
else if (keywordlen == 12 && !memcmp (keyword, "MANUFACTURER", 12))
|
||||
{
|
||||
xfree (parm->manufacturer_name);
|
||||
parm->manufacturer_name = NULL;
|
||||
parm->manufacturer_id = strtoul (line, &endp, 0);
|
||||
while (endp && spacep (endp))
|
||||
endp++;
|
||||
if (endp && *endp)
|
||||
parm->manufacturer_name = xstrdup (endp);
|
||||
}
|
||||
else if (keywordlen == 3 && !memcmp (keyword, "KDF", 3))
|
||||
{
|
||||
unsigned char *data = unescape_status_string (line);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue