card related bug 419 fixed

Werner Koch wk at gnupg.org
Fri May 20 22:13:45 CEST 2005


Hi!

we had sometimes serious problems in gpg storing keys on the card as
well as other failures.  I have now figured out the faulty bit. The
patch below should fix it.


Shalom-Salam,

   Werner


2005-05-20  Werner Koch  <wk at g10code.com>

	* ccid-driver.c (ccid_transceive): Arghhh.  The seqno is another
	bit in the R-block than in the I block, this was wrong at one
	place. Fixes bug #419 and hopefully several others.

diff -u -p -r1.24 ccid-driver.c
--- g10/ccid-driver.c   7 May 2005 15:22:01 -0000       1.24
+++ g10/ccid-driver.c   20 May 2005 20:20:20 -0000
@@ -1814,7 +1814,7 @@ ccid_transceive (ccid_driver_t handle,
               msg = send_buffer;
               tpdulen = last_tpdulen;
             }
-          else if (sending && !!(tpdu[1] & 0x40) == handle->t1_ns)
+          else if (sending && !!(tpdu[1] & 0x10) == handle->t1_ns)
             { /* Reponse does not match our sequence number. */
               DEBUGOUT ("R-block with wrong seqno received on more bit\n");
               return CCID_DRIVER_ERR_CARD_IO_ERROR;





More information about the Gnupg-devel mailing list