scd: Fix status check when using PC/SC.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 8 Mar 2018 07:51:51 +0000 (16:51 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 8 Mar 2018 07:51:51 +0000 (16:51 +0900)
commitf8b8b6aac2ca1cb34d7a346aee1d874e7650557b
tree6778d134663de5d7313cb8c6f0e43a7c1004531b
parent334b94898112b5d2c7c97ff0496b9a67b3de0d26
scd: Fix status check when using PC/SC.

* scd/apdu.c (struct reader_table_s): Add field of current_state.
(new_reader_slot): Initialize current_state.
(pcsc_get_status): Keep the status in READER_TABLE array.
Return SW_HOST_NO_READER when PCSC_STATE_CHANGED.
* scd/scdaemon.c (handle_connections): Silence a warning.

--

To detect some change of card status, including suspend/resume
possibly, SCardGetStatusChange should be used keeping the
dwCurrentState field.

This change could improve situation for suspend/resume with Yubikey on
Windows.  Even not, this is doing the Right Thing.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
scd/apdu.c
scd/scdaemon.c