Blame SOURCES/esc-1.1.2-fix8.patch

f477a5
diff -up ./esc/src/app/opensc.esc.conf.fix8 ./esc/src/app/opensc.esc.conf
f477a5
--- ./esc/src/app/opensc.esc.conf.fix8	2020-08-07 16:17:37.464650003 -0700
f477a5
+++ ./esc/src/app/opensc.esc.conf	2020-08-07 16:20:21.861957011 -0700
f477a5
@@ -89,12 +89,12 @@ app default {
f477a5
     }
f477a5
     reader_driver openct {
f477a5
     };
f477a5
-    card_drivers = coolkey, cac,cac1, piv, default;
f477a5
+    card_drivers = coolkey, cac,cac1, PIV-II, default;
f477a5
     secure_messaging local_authentic  {
f477a5
         module_path = /usr/lib64;
f477a5
     }
f477a5
     framework pkcs15 {
f477a5
-        builtin_emulators = coolkey, cac, cac1, piv;
f477a5
+        builtin_emulators = coolkey, cac, cac1, PIV-II;
f477a5
     }
f477a5
 }
f477a5
 app opensc-pkcs11 {
f477a5
diff -up ./esc/src/lib/coolkey/CoolKey.cpp.fix8 ./esc/src/lib/coolkey/CoolKey.cpp
f477a5
--- ./esc/src/lib/coolkey/CoolKey.cpp.fix8	2020-08-07 12:05:35.982966019 -0700
f477a5
+++ ./esc/src/lib/coolkey/CoolKey.cpp	2020-08-07 16:08:16.747602873 -0700
f477a5
@@ -593,6 +593,7 @@ char *CoolKeyGetFullReaderName(const cha
f477a5
 	} else {
f477a5
             fullReaderName = strdup(thisReader);
f477a5
             PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s CoolKeyGetFullReaderName correct full name:  %s \n",fullReaderName,GetTStamp(tBuff,56)));
f477a5
+	    break;
f477a5
         }
f477a5
     }
f477a5
 
f477a5
diff -up ./esc/src/lib/coolkey/CoolKeyHandler.cpp.fix8 ./esc/src/lib/coolkey/CoolKeyHandler.cpp
f477a5
--- ./esc/src/lib/coolkey/CoolKeyHandler.cpp.fix8	2020-08-07 12:05:44.394982245 -0700
f477a5
+++ ./esc/src/lib/coolkey/CoolKeyHandler.cpp	2020-08-07 16:10:35.504862004 -0700
f477a5
@@ -2225,8 +2225,17 @@ CKHGetCoolKeyInfo(PK11SlotInfo *aSlot,Co
f477a5
     HRESULT hres,atrRes,cycleRes,cuidRes;
f477a5
 
f477a5
     char *readerName =  PK11_GetSlotName(aSlot);
f477a5
+    int readerNameLen = strlen(readerName);
f477a5
 
f477a5
-    char *actualReaderName = CoolKeyGetFullReaderName(readerName);
f477a5
+    //Since there is no local support to get a reader name by slot,
f477a5
+    //Will simply do a partial substring compare, using less characters
f477a5
+    //to avoid any hard coded trailing chars.
f477a5
+    
f477a5
+    char partialReaderName[60];
f477a5
+    memset(partialReaderName, 0, 60);
f477a5
+
f477a5
+    strncpy(partialReaderName,readerName, 59);
f477a5
+    char *actualReaderName =   CoolKeyGetFullReaderName(partialReaderName);
f477a5
 
f477a5
     memset((void *) &tokenInfo,0,sizeof(tokenInfo));
f477a5
     ATR.data = NULL; // initialize for error processing
f477a5
@@ -2348,7 +2357,7 @@ CKHGetCoolKeyInfo(PK11SlotInfo *aSlot,Co
f477a5
      if(isACOOLKey && cuidRes == E_FAIL) {
f477a5
         //Let's try to get the cuid directly from the token.
f477a5
 
f477a5
-        cuidRes = CoolKeyGetCUIDDirectly(cuidChar, 100, readerName);
f477a5
+        cuidRes = CoolKeyGetCUIDDirectly(cuidChar, 100, actualReaderName);
f477a5
 
f477a5
         if(cuidRes != S_OK) {
f477a5
            strcpy(info->mCUID, "unknown");