mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-21 10:09:57 +01:00
scd: New getinfo subcommand "manufacturer"
* scd/command.c (cmd_getinfo): Add subcommand "manufacturer". * scd/app-openpgp.c (get_manufacturer): Rename to ... (app_openpgp_manufacturer): this and make global. -- Example: $ gpg-connect-agent 'scd getinfo manufacturer 42' /bye D Magrathea OK
This commit is contained in:
parent
f1e3a23d9e
commit
a8cef7ebc2
@ -335,6 +335,7 @@ card_t app_do_with_keygrip (ctrl_t ctrl, int action, const char *keygrip_str,
|
||||
|
||||
/*-- app-openpgp.c --*/
|
||||
gpg_error_t app_select_openpgp (app_t app);
|
||||
const char *app_openpgp_manufacturer (unsigned int no);
|
||||
|
||||
/*-- app-nks.c --*/
|
||||
gpg_error_t app_select_nks (app_t app);
|
||||
|
@ -290,8 +290,8 @@ static gpg_error_t change_keyattr_from_string
|
||||
|
||||
|
||||
/* Return the OpenPGP card manufacturer name. */
|
||||
static const char *
|
||||
get_manufacturer (unsigned int no)
|
||||
const char *
|
||||
app_openpgp_manufacturer (unsigned int no)
|
||||
{
|
||||
/* Note: Make sure that there is no colon or linefeed in the string. */
|
||||
switch (no)
|
||||
@ -1273,7 +1273,7 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
|
||||
return send_status_printf
|
||||
(ctrl, table[idx].name, "%u %s",
|
||||
app->app_local->manufacturer,
|
||||
get_manufacturer (app->app_local->manufacturer));
|
||||
app_openpgp_manufacturer (app->app_local->manufacturer));
|
||||
}
|
||||
if (table[idx].special == -9)
|
||||
{
|
||||
|
@ -1878,6 +1878,8 @@ static const char hlp_getinfo[] =
|
||||
" cmd_has_option CMD OPT\n"
|
||||
" - Returns OK if command CMD has option OPT.\n"
|
||||
" dump_state - Dump internal infos to the log stream.\n"
|
||||
" manufacturer NUMBER\n"
|
||||
" - Return a description of the OpenPGP manufacturer id.\n"
|
||||
" apdu_strerror NUMBER\n"
|
||||
" - Return a string for a status word.\n";
|
||||
static gpg_error_t
|
||||
@ -2004,6 +2006,12 @@ cmd_getinfo (assuan_context_t ctx, char *line)
|
||||
{
|
||||
rc = app_send_active_apps (NULL, ctrl);
|
||||
}
|
||||
else if ((s=has_leading_keyword (line, "manufacturer")))
|
||||
{
|
||||
unsigned long ul = strtoul (s, NULL, 0);
|
||||
s = app_openpgp_manufacturer (ul);
|
||||
rc = assuan_send_data (ctx, s, strlen (s));
|
||||
}
|
||||
else if ((s=has_leading_keyword (line, "apdu_strerror")))
|
||||
{
|
||||
unsigned long ul = strtoul (s, NULL, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user