mirror of
git://git.gnupg.org/gnupg.git
synced 2025-03-11 22:52:47 +01:00
card: Fix showing KDF object attribute.
* g10/call-agent.c (learn_status_cb): Parse the KDF DO. * g10/card-util.c (current_card_status): Show it correctly. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
57565d5f97
commit
98f4eff7ff
@ -740,7 +740,15 @@ learn_status_cb (void *opaque, const char *line)
|
|||||||
}
|
}
|
||||||
else if (keywordlen == 3 && !memcmp (keyword, "KDF", 3))
|
else if (keywordlen == 3 && !memcmp (keyword, "KDF", 3))
|
||||||
{
|
{
|
||||||
|
unsigned char *data = unescape_status_string (line);
|
||||||
|
|
||||||
|
if (data[2] != 0x03)
|
||||||
|
parm->kdf_do_enabled = 0;
|
||||||
|
else if (data[22] != 0x85)
|
||||||
parm->kdf_do_enabled = 1;
|
parm->kdf_do_enabled = 1;
|
||||||
|
else
|
||||||
|
parm->kdf_do_enabled = 2;
|
||||||
|
xfree (data);
|
||||||
}
|
}
|
||||||
else if (keywordlen == 5 && !memcmp (keyword, "UIF-", 4)
|
else if (keywordlen == 5 && !memcmp (keyword, "UIF-", 4)
|
||||||
&& strchr("123", keyword[4]))
|
&& strchr("123", keyword[4]))
|
||||||
|
@ -72,7 +72,7 @@ struct agent_card_info_s
|
|||||||
unsigned int bt:1; /* Button for confirmation available. */
|
unsigned int bt:1; /* Button for confirmation available. */
|
||||||
} extcap;
|
} extcap;
|
||||||
unsigned int status_indicator;
|
unsigned int status_indicator;
|
||||||
int kdf_do_enabled; /* True if card has a KDF object. */
|
int kdf_do_enabled; /* Non-zero if card has a KDF object, 0 if not. */
|
||||||
int uif[3]; /* True if User Interaction Flag is on. */
|
int uif[3]; /* True if User Interaction Flag is on. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -521,7 +521,16 @@ current_card_status (ctrl_t ctrl, estream_t fp,
|
|||||||
es_fprintf (fp, "sigcount:%lu:::\n", info.sig_counter);
|
es_fprintf (fp, "sigcount:%lu:::\n", info.sig_counter);
|
||||||
if (info.extcap.kdf)
|
if (info.extcap.kdf)
|
||||||
{
|
{
|
||||||
es_fprintf (fp, "kdf:%s:\n", info.kdf_do_enabled ? "on" : "off");
|
const char *setup;
|
||||||
|
|
||||||
|
if (info.kdf_do_enabled == 0)
|
||||||
|
setup = "off";
|
||||||
|
else if (info.kdf_do_enabled == 1)
|
||||||
|
setup = "single";
|
||||||
|
else
|
||||||
|
setup = "on";
|
||||||
|
|
||||||
|
es_fprintf (fp, "kdf:%s:\n", setup);
|
||||||
}
|
}
|
||||||
if (info.extcap.bt)
|
if (info.extcap.bt)
|
||||||
{
|
{
|
||||||
@ -636,8 +645,16 @@ current_card_status (ctrl_t ctrl, estream_t fp,
|
|||||||
tty_fprintf (fp, "Signature counter : %lu\n", info.sig_counter);
|
tty_fprintf (fp, "Signature counter : %lu\n", info.sig_counter);
|
||||||
if (info.extcap.kdf)
|
if (info.extcap.kdf)
|
||||||
{
|
{
|
||||||
tty_fprintf (fp, "KDF setting ......: %s\n",
|
const char *setup;
|
||||||
info.kdf_do_enabled ? "on" : "off");
|
|
||||||
|
if (info.kdf_do_enabled == 0)
|
||||||
|
setup = "off";
|
||||||
|
else if (info.kdf_do_enabled == 1)
|
||||||
|
setup = "single";
|
||||||
|
else
|
||||||
|
setup = "on";
|
||||||
|
|
||||||
|
tty_fprintf (fp, "KDF setting ......: %s\n", setup);
|
||||||
}
|
}
|
||||||
if (info.extcap.bt)
|
if (info.extcap.bt)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user