mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
scd: Fix SERIALNO for multiple devices.
* scd/app.c (select_application): Fix the logic if periodical check is needed. If it is needed for newly found device(s), kick the loop. (scd_update_reader_status_file): Return value if select(2) should be called with timeout. * scd/ccid-driver.c (ccid_require_get_status): Don't return 0 for token with no interrupt transfer for now. * scd/command.c (open_card_with_request): Fix scan by SERIALNO. * scd/scdaemon.c (update_usb): Remove. (handle_connections): Evaluate need_tick after handle_tick. Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
49e2ae65e8
commit
f08d37af04
5 changed files with 71 additions and 76 deletions
|
@ -217,13 +217,18 @@ open_card_with_request (ctrl_t ctrl, const char *apptype, const char *serialno)
|
|||
gpg_error_t err;
|
||||
unsigned char *serialno_bin = NULL;
|
||||
size_t serialno_bin_len = 0;
|
||||
app_t app = ctrl->app_ctx;
|
||||
|
||||
/* If we are already initialized for one specific application we
|
||||
need to check that the client didn't requested a specific
|
||||
application different from the one in use before we continue. */
|
||||
if (ctrl->app_ctx)
|
||||
if (apptype && ctrl->app_ctx)
|
||||
return check_application_conflict (apptype, ctrl->app_ctx);
|
||||
|
||||
/* Re-scan USB devices. Release APP, before the scan. */
|
||||
ctrl->app_ctx = NULL;
|
||||
release_application (app);
|
||||
|
||||
if (serialno)
|
||||
serialno_bin = hex_to_buffer (serialno, &serialno_bin_len);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue