[git] GnuPG - branch, scd-work, updated. gnupg-2.1.0beta3-137-gaba76f9

by NIIBE Yutaka cvs at cvs.gnupg.org
Fri Jan 11 06:25:44 CET 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, scd-work has been updated
       via  aba76f91cbfe0f758e3cb61484ac5a7318cc31d6 (commit)
       via  ff4f9ea82f045b27ccdf36564bc8a9a83641dcb2 (commit)
       via  4dddf32c83f52483d95d7770232e9e808558e702 (commit)
      from  f0584de7d4ea5e5ed71dfa8ac1a8623c236e4800 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit aba76f91cbfe0f758e3cb61484ac5a7318cc31d6
Author: NIIBE Yutaka <gniibe at fsij.org>
Date:   Fri Jan 11 13:19:17 2013 +0900

    SCD: Better interoperability.
    
    * scd/apdu.c: Fill bTeoPrologue[2] field.
    --
    ccid-1.4.5 or older requires this field is filled by application.

diff --git a/scd/apdu.c b/scd/apdu.c
index f78463a..c9d24ee 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -2084,7 +2084,7 @@ pcsc_keypad_verify (int slot, int class, int ins, int p0, int p1,
   pin_verify[11] = 0x00; /* bMsgIndex */
   pin_verify[12] = 0x00; /* bTeoPrologue[0] */
   pin_verify[13] = 0x00; /* bTeoPrologue[1] */
-  pin_verify[14] = 0x00; /* bTeoPrologue[2] */
+  pin_verify[14] = pininfo->fixedlen + 0x05; /* bTeoPrologue[2] */
   pin_verify[15] = pininfo->fixedlen + 0x05; /* ulDataLength */
   pin_verify[16] = 0x00; /* ulDataLength */
   pin_verify[17] = 0x00; /* ulDataLength */
@@ -2178,7 +2178,7 @@ pcsc_keypad_modify (int slot, int class, int ins, int p0, int p1,
   pin_modify[16] = 0x00; /* bMsgIndex3 */
   pin_modify[17] = 0x00; /* bTeoPrologue[0] */
   pin_modify[18] = 0x00; /* bTeoPrologue[1] */
-  pin_modify[19] = 0x00; /* bTeoPrologue[2] */
+  pin_modify[19] = 2 * pininfo->fixedlen + 0x05; /* bTeoPrologue[2] */
   pin_modify[20] = 2 * pininfo->fixedlen + 0x05; /* ulDataLength */
   pin_modify[21] = 0x00; /* ulDataLength */
   pin_modify[22] = 0x00; /* ulDataLength */

commit ff4f9ea82f045b27ccdf36564bc8a9a83641dcb2
Merge: f0584de 4dddf32
Author: NIIBE Yutaka <gniibe at fsij.org>
Date:   Fri Jan 11 11:26:16 2013 +0900

    Merge branch 'scd-serialize-bugfix' into scd-work
    
    Conflicts:
    	scd/apdu.c

diff --cc scd/apdu.c
index 4c73283,278e08a..f78463a
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@@ -3400,11 -3428,19 +3400,20 @@@ apdu_check_keypad (int slot, int comman
    if (slot < 0 || slot >= MAX_READER || !reader_table[slot].used )
      return SW_HOST_NO_DRIVER;
  
 +  if (opt.enable_keypad_varlen)
 +    pininfo->fixedlen = 0;
 +
    if (reader_table[slot].check_keypad)
-     return reader_table[slot].check_keypad (slot, command, pininfo);
+     {
+       int sw;
+ 
+       if ((sw = lock_slot (slot)))
+         return sw;
+ 
 -      sw = reader_table[slot].check_keypad (slot, command,
 -                                            pin_mode, pinlen_min, pinlen_max,
 -                                            pin_padlen);
++      sw = reader_table[slot].check_keypad (slot, command, pininfo);
+       unlock_slot (slot);
+       return sw;
+     }
    else
      return SW_HOST_NOT_SUPPORTED;
  }
@@@ -3418,8 -3461,17 +3427,17 @@@ apdu_keypad_verify (int slot, int class
      return SW_HOST_NO_DRIVER;
  
    if (reader_table[slot].keypad_verify)
-     return reader_table[slot].keypad_verify (slot, class, ins, p0, p1,
- 					     pininfo);
+     {
+       int sw;
+ 
+       if ((sw = lock_slot (slot)))
+         return sw;
+ 
+       sw = reader_table[slot].keypad_verify (slot, class, ins, p0, p1,
 -                                             &pininfo);
++                                             pininfo);
+       unlock_slot (slot);
+       return sw;
+     }
    else
      return SW_HOST_NOT_SUPPORTED;
  }
@@@ -3433,8 -3492,17 +3451,17 @@@ apdu_keypad_modify (int slot, int class
      return SW_HOST_NO_DRIVER;
  
    if (reader_table[slot].keypad_modify)
-     return reader_table[slot].keypad_modify (slot, class, ins, p0, p1,
+     {
+       int sw;
+ 
+       if ((sw = lock_slot (slot)))
+         return sw;
+ 
+       sw = reader_table[slot].keypad_modify (slot, class, ins, p0, p1,
 -                                             &pininfo);
 +                                             pininfo);
+       unlock_slot (slot);
+       return sw;
+     }
    else
      return SW_HOST_NOT_SUPPORTED;
  }

-----------------------------------------------------------------------

Summary of changes:
 scd/apdu.c |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list