mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
scd,pcsc: Fix for initializing PC/SC.
* scd/apdu.c (pcsc_init): Load it at first. (apdu_open_reader): Check for the CCID internal driver. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
e8534f8999
commit
441106cdf0
22
scd/apdu.c
22
scd/apdu.c
@ -1062,14 +1062,6 @@ pcsc_init (void)
|
|||||||
static int pcsc_api_loaded;
|
static int pcsc_api_loaded;
|
||||||
long err;
|
long err;
|
||||||
|
|
||||||
err = pcsc_establish_context (PCSC_SCOPE_SYSTEM, NULL, NULL, &pcsc.context);
|
|
||||||
if (err)
|
|
||||||
{
|
|
||||||
log_error ("pcsc_establish_context failed: %s (0x%lx)\n",
|
|
||||||
pcsc_error_string (err), err);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Lets try the PC/SC API */
|
/* Lets try the PC/SC API */
|
||||||
if (!pcsc_api_loaded)
|
if (!pcsc_api_loaded)
|
||||||
{
|
{
|
||||||
@ -1152,6 +1144,15 @@ pcsc_init (void)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
pcsc_api_loaded = 1;
|
pcsc_api_loaded = 1;
|
||||||
|
|
||||||
|
err = pcsc_establish_context (PCSC_SCOPE_SYSTEM, NULL, NULL,
|
||||||
|
&pcsc.context);
|
||||||
|
if (err)
|
||||||
|
{
|
||||||
|
log_error ("pcsc_establish_context failed: %s (0x%lx)\n",
|
||||||
|
pcsc_error_string (err), err);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -2051,10 +2052,13 @@ apdu_open_reader (struct dev_list *dl, int app_empty)
|
|||||||
int slot;
|
int slot;
|
||||||
|
|
||||||
#ifdef HAVE_LIBUSB
|
#ifdef HAVE_LIBUSB
|
||||||
if (dl->table)
|
if (!opt.disable_ccid)
|
||||||
{ /* CCID readers. */
|
{ /* CCID readers. */
|
||||||
int readerno;
|
int readerno;
|
||||||
|
|
||||||
|
if (!dl->table)
|
||||||
|
return -1;
|
||||||
|
|
||||||
/* See whether we want to use the reader ID string or a reader
|
/* See whether we want to use the reader ID string or a reader
|
||||||
number. A readerno of -1 indicates that the reader ID string is
|
number. A readerno of -1 indicates that the reader ID string is
|
||||||
to be used. */
|
to be used. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user