Skip to content

Commit

Permalink
rename policy
Browse files Browse the repository at this point in the history
  • Loading branch information
frankmorgner committed Apr 8, 2024
1 parent ddb97a8 commit 841fe36
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/libopensc/card-piv.c
Original file line number Diff line number Diff line change
Expand Up @@ -417,9 +417,9 @@ typedef struct piv_private_data {
int yubico_version; /* 3 byte version number of NEO or Yubikey4 as integer */
struct {
u8 slot;
u8 pin_policy;
u8 touch_policy;
} yk_metadata[26];
u8 policy;
u8 touch;
} yk_pin[26];
unsigned int ccc_flags; /* From CCC indicate if CAC card */
unsigned int pin_policy; /* from discovery */
unsigned int init_flags;
Expand Down Expand Up @@ -4417,34 +4417,34 @@ piv_yk_get_metadata(sc_card_t *card, u8 slot, u8 *pin_policy, u8 *touch_policy)
return;
}

for (i = 0; i < (sizeof(priv->yk_metadata) / sizeof(*priv->yk_metadata) - 1); i++) {
if (priv->yk_metadata[i].slot == 0x00)
for (i = 0; i < (sizeof(priv->yk_pin) / sizeof(*priv->yk_pin) - 1); i++) {
if (priv->yk_pin[i].slot == 0x00)
/* reached the last initialized entry */
break;

if (priv->yk_metadata[i].slot == slot)
if (priv->yk_pin[i].slot == slot)
/* metadata already initialized */
break;
}

if (priv->yk_metadata[i].slot == 0x00) {
if (priv->yk_pin[i].slot == 0x00) {
/* initialize this entry */
sc_format_apdu_ex(&apdu, 0x00, 0xF7, 0x00, slot, NULL, 0, resp, sizeof resp);
if (SC_SUCCESS == sc_transmit_apdu(card, &apdu) && SC_SUCCESS == sc_check_sw(card, apdu.sw1, apdu.sw2)) {
piv_yk_metadata_get_policy(card->ctx, resp, apdu.resplen,
&priv->yk_metadata[i].pin_policy,
&priv->yk_metadata[i].touch_policy);
&priv->yk_pin[i].policy,
&priv->yk_pin[i].touch);
sc_log(card->ctx, "PIN policy for slot 0x%02X: 0x%02X (touch 0x%02X)",
slot, priv->yk_metadata[i].pin_policy, priv->yk_metadata[i].touch_policy);
priv->yk_metadata[i].slot = slot;
slot, priv->yk_pin[i].policy, priv->yk_pin[i].touch);
priv->yk_pin[i].slot = slot;
}
}

if (priv->yk_metadata[i].slot == slot) {
if (priv->yk_pin[i].slot == slot) {
if (pin_policy)
*pin_policy = priv->yk_metadata[i].pin_policy;
*pin_policy = priv->yk_pin[i].policy;
if (touch_policy)
*touch_policy = priv->yk_metadata[i].touch_policy;
*touch_policy = priv->yk_pin[i].touch;
}
}

Expand Down

0 comments on commit 841fe36

Please sign in to comment.