scd: Fix use case of PC/SC.
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 13 Feb 2017 02:09:13 +0000 (11:09 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 13 Feb 2017 02:09:13 +0000 (11:09 +0900)
commitda4c132cca2c6df81243c9660b7348268a848f88
treeb3ac676f9f4aa45d1a1b7ae3f09d17d595bbfc5c
parent5996c7bf99f3a681393fd9589276399ebc956cff
scd: Fix use case of PC/SC.

* scd/apdu.c (apdu_open_reader): Add an argument APP_EMPTY.
When CCID driver fails to open, try PC/SC if APP is nothing.
* scd/app.c (select_application): Supply arg if APP is nothing.

--

After scanning available card readers by CCID driver, scdaemon should
try PC/SC service if no APP is registered yet.  Also, when the slot
is allocated for PC/SC (ccid.handle==NULL), it should not call
ccid_compare_BAI, otherwise scdaemon crashes.

Debian-bug-id: 852702, 854005, 854595, 854616

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