gnupg/scd
NIIBE Yutaka 8a41e73c31 scd: Support multiple readers by CCID driver.
* scd/apdu.c (new_reader_slot): Lock is now in apdu_dev_list_start.
(close_pcsc_reader_direct, close_ccid_reader): RDRNAME is handled...
(apdu_close_reader): ... by this function now.
(apdu_prepare_exit): Likewise.
(open_ccid_reader): Open with dev_list.
(apdu_dev_list_start, apdu_dev_list_finish): New.
(apdu_open_one_reader): New.
(apdu_open_reader): Support multiple readers.
* scd/app.c (select_application): With SCAN, opening all readers
available, and register as new APP.
(app_write_learn_status): app->ref_count == 0 is valid for APP which is
not yet used.
(app_list_start, app_list_finish): New.
* scd/ccid-driver.c (struct ccid_driver_s): Remove RID and BCD_DEVICE.
Add BAI.
(parse_ccid_descriptor): BCD_DEVICE is now on the arguments.
(ccid_dev_scan, ccid_dev_scan_finish): New.
(ccid_get_BAI, ccid_compare_BAI, ccid_open_usb_reader): New.
(ccid_open_reader): Support multiple readers.
(ccid_set_progress_cb, ccid_close_reader): No RID any more.
--

With this change, multiple readers/tokens are supported by the internal
CCID driver of GnuPG.  Until the changes of upper layers (scdaemon,
gpg-agent, and gpg front end), only a single reader is used, though.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
2017-01-06 09:47:31 +09:00
..
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
Makefile.am Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
apdu.c scd: Support multiple readers by CCID driver. 2017-01-06 09:47:31 +09:00
apdu.h scd: Support multiple readers by CCID driver. 2017-01-06 09:47:31 +09:00
app-common.h scd: Support multiple readers by CCID driver. 2017-01-06 09:47:31 +09:00
app-dinsig.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
app-geldkarte.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
app-help.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
app-nks.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
app-openpgp.c Replace use of variable-length-arrays. 2017-01-02 13:29:18 +01:00
app-p15.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
app-sc-hsm.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
app.c scd: Support multiple readers by CCID driver. 2017-01-06 09:47:31 +09:00
atr.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
atr.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
ccid-driver.c scd: Support multiple readers by CCID driver. 2017-01-06 09:47:31 +09:00
ccid-driver.h scd: Support multiple readers by CCID driver. 2017-01-06 09:47:31 +09:00
command.c scd: Fix card removal monitor. 2016-12-30 13:17:49 +09:00
iso7816.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
iso7816.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
scdaemon-w32info.rc w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
scdaemon.c scd: Fix a race condition for new_reader_slot. 2016-12-29 10:07:43 +09:00
scdaemon.h scd: Fix card removal monitor. 2016-12-30 13:17:49 +09:00