Home GnuPG
Diffusion GnuPG f42c50dbf00c

scd: Fix "Conflicting usage" bug.
f42c50dbf00cUnpublished

Unpublished Commit · Learn More

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

Description

scd: Fix "Conflicting usage" bug.

* scd/apdu.c (apdu_close_reader): Call CLOSE_READER method even if we
  got an error from apdu_disconnect.
* scd/app-common.h (no_reuse): Remove.
* scd/app.c (application_notify_card_reset): Deallocate APP here.
(select_application, release_application): Don't use NO_REUSE.

Reproducible scenario: Invoke gpg --card-edit session from a terminal.
Invoke another gpg --card-edit session from another. Remove a token.
Insert a token again. Type RET on both terminals. One of terminal
answers "Conflicting usage".

Perhaps, having NO_REUSE field was to avoid race conditions. Now,
APP can be safely deallocated by application_notify_card_reset.

Thanks to the2nd.

Details

Provenance
gniibeAuthored on Dec 3 2015, 3:26 AM
Parents
rG11b2691eddc4: scd: Fix for Curve25519 prefix handling.
Branches
Unknown
Tags
Unknown

Event Timeline

NIIBE Yutaka <gniibe@fsij.org> committed rGf42c50dbf00c: scd: Fix "Conflicting usage" bug. (authored by NIIBE Yutaka <gniibe@fsij.org>).Dec 3 2015, 3:26 AM