{"push_id":888226966,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f42c50dbf00c2e6298ca6830cbe6d36805fa54a3","before":"11b2691eddc42e91651e4f95dd2731255a3e9211","commits":[{"sha":"f42c50dbf00c2e6298ca6830cbe6d36805fa54a3","author":{"email":"34feb69f206f6fec69fb4bd79c126fcbde2c8e6a@fsij.org","name":"NIIBE Yutaka"},"message":"scd: Fix \"Conflicting usage\" bug.\n\n* scd/apdu.c (apdu_close_reader): Call CLOSE_READER method even if we\n  got an error from apdu_disconnect.\n* scd/app-common.h (no_reuse): Remove.\n* scd/app.c (application_notify_card_reset): Deallocate APP here.\n(select_application, release_application): Don't use NO_REUSE.\n\n--\n\nReproducible scenario: Invoke gpg --card-edit session from a terminal.\nInvoke another gpg --card-edit session from another.  Remove a token.\nInsert a token again.  Type RET on both terminals.  One of terminal\nanswers \"Conflicting usage\".\n\nPerhaps, having NO_REUSE field was to avoid race conditions.  Now,\nAPP can be safely deallocated by application_notify_card_reset.\n\nThanks to the2nd.","distinct":true,"url":"https://api.github.com/repos/paulfurley/gnupg-mirror/commits/f42c50dbf00c2e6298ca6830cbe6d36805fa54a3"}]}