Home GnuPG
Diffusion GnuPG 24e121ef2617

scd: Introduce a virtual reader table.
24e121ef2617Unpublished

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

scd: Introduce a virtual reader table.

The vreader table makes the code more clear by explicitly talking
about APDU slots and reader indices. It also accommodates for future
extensions.

  • scd/scdaemon.h (server_control_s): Remove READER_SLOT.
  • scd/scdaemon.c (scd_init_default_ctrl): Do not init READER_SLOT.
  • scd/app.c (check_application_conflict): Add arg SLOT.
  • scd/command.c (slot_status_s): Rename to vreader_s.

(server_local_s): Add field VREADER_IDX as replacement for
the READER_SLOT in server_control_s. Change all users.
(slot_table): Rename to vreader_table. Change all users.
(vreader_slot): New.
(do_reset, cmd_apdu): Map vreader to apdu slot.
(get_reader_slot): Rename to get_current_reader. Return -1 on error.
(open_card): Map vreader toapdu slot. Pass slot to
check_application_conflict.
(scd_command_handler): Init VREADER_IDX.
(update_reader_status_file): Reset SLOT field on error.

Details

Provenance
wernerAuthored on Dec 13 2011, 4:55 PM
Parents
rG111646627880: scd: Retry command SERIALNO for an inactive card.
Branches
Unknown
Tags
Unknown

Event Timeline

Werner Koch <wk@gnupg.org> committed rG24e121ef2617: scd: Introduce a virtual reader table. (authored by Werner Koch <wk@gnupg.org>).Dec 13 2011, 4:55 PM