1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-14 00:19:50 +02:00

scd: Use Gcrypt usage constants for the do_with_keygrip capabilities.

* scd/command.c (cmd_keyinfo): Use Gcrypt constants for CAP.
* scd/app-openpgp.c (do_with_keygrip): Adjust for them.
* scd/app-piv.c (do_with_keygrip): Ditto.
--

That makes it easier to read.  An open question is whether we should
allow several capabilities and whether they are the ORed or ANDed.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2020-04-02 11:54:01 +02:00
parent 2ccbcfec12
commit 5b7b42e2b2
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
3 changed files with 17 additions and 8 deletions

View File

@ -5454,8 +5454,16 @@ do_with_keygrip (app_t app, ctrl_t ctrl, int action, const char *keygrip_str,
} }
else else
{ {
i = capability - 1; if (capability == GCRY_PK_USAGE_SIGN)
send_keyinfo_if_available (app, ctrl, buf, data, i); i = 0;
else if (capability == GCRY_PK_USAGE_ENCR)
i = 1;
else if (capability == GCRY_PK_USAGE_AUTH)
i = 2;
else
i = -1;
if (i >= 0)
send_keyinfo_if_available (app, ctrl, buf, data, i);
} }
/* Return an error so that the dispatcher keeps on looping /* Return an error so that the dispatcher keeps on looping
@ -5477,6 +5485,7 @@ do_with_keygrip (app_t app, ctrl_t ctrl, int action, const char *keygrip_str,
return gpg_error (GPG_ERR_NOT_FOUND); return gpg_error (GPG_ERR_NOT_FOUND);
} }
/* Show information about card capabilities. */ /* Show information about card capabilities. */
static void static void
show_caps (struct app_local_s *s) show_caps (struct app_local_s *s)

View File

@ -3513,17 +3513,17 @@ do_with_keygrip (app_t app, ctrl_t ctrl, int action,
} }
else if (!want_keygripstr || !strcmp (keygripstr, want_keygripstr)) else if (!want_keygripstr || !strcmp (keygripstr, want_keygripstr))
{ {
if (capability == 1) if (capability == GCRY_PK_USAGE_SIGN)
{ {
if (strcmp (data_objects[i].keyref, "9C")) if (strcmp (data_objects[i].keyref, "9C"))
continue; continue;
} }
if (capability == 2) if (capability == GCRY_PK_USAGE_ENCR)
{ {
if (strcmp (data_objects[i].keyref, "9D")) if (strcmp (data_objects[i].keyref, "9D"))
continue; continue;
} }
if (capability == 3) if (capability == GCRY_PK_USAGE_AUTH)
{ {
if (strcmp (data_objects[i].keyref, "9A")) if (strcmp (data_objects[i].keyref, "9A"))
continue; continue;

View File

@ -2077,11 +2077,11 @@ cmd_keyinfo (assuan_context_t ctx, char *line)
if (has_option (line, "--list")) if (has_option (line, "--list"))
cap = 0; cap = 0;
else if (has_option (line, "--list=sign")) else if (has_option (line, "--list=sign"))
cap = 1; cap = GCRY_PK_USAGE_SIGN;
else if (has_option (line, "--list=encr")) else if (has_option (line, "--list=encr"))
cap = 2; cap = GCRY_PK_USAGE_ENCR;
else if (has_option (line, "--list=auth")) else if (has_option (line, "--list=auth"))
cap = 3; cap = GCRY_PK_USAGE_AUTH;
else else
keygrip_str = line; keygrip_str = line;