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