summaryrefslogtreecommitdiff
path: root/esc-1.1.2-fix3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'esc-1.1.2-fix3.patch')
-rw-r--r--esc-1.1.2-fix3.patch300
1 files changed, 300 insertions, 0 deletions
diff --git a/esc-1.1.2-fix3.patch b/esc-1.1.2-fix3.patch
new file mode 100644
index 0000000..579156f
--- /dev/null
+++ b/esc-1.1.2-fix3.patch
@@ -0,0 +1,300 @@
+diff -up ./esc/configure.ac.fix3 ./esc/configure.ac
+--- ./esc/configure.ac.fix3 2018-07-30 14:51:37.000000000 -0700
++++ ./esc/configure.ac 2018-10-12 14:06:48.349544811 -0700
+@@ -56,8 +56,6 @@ AM_PROG_AR
+ AM_SILENT_RULES([yes])
+ LT_INIT
+
+-SCARD_LIB_NAME="libpcsclite.so.1"
+-
+ # Versioning
+ ESC_MAJOR_VERSION=esc_major_version
+ ESC_MINOR_VERSION=esc_minor_version
+@@ -75,6 +73,7 @@ GOBJECT_INTROSPECTION_CHECK(1.56.1)
+ # Output
+ AC_DEFINE([DLL_SUFFIX], ["so"], [Description])
+ AC_DEFINE([LINUX], [1], [Description])
++AC_DEFINE([SCARD_LIB_NAME],["libpcsclite.so.1"], [Description])
+ AC_SUBST(ESC_CFLAGS)
+ AC_SUBST(ESC_LIBS)
+ AC_CONFIG_FILES([Makefile src/app/Makefile src/lib/coolkey/Makefile src/lib/nss-http-client/Makefile src/lib/coolkey-mgr/Makefile])
+diff -up ./esc/src/app/esc.js.fix3 ./esc/src/app/esc.js
+--- ./esc/src/app/esc.js.fix3 2018-10-12 17:59:36.790939337 -0700
++++ ./esc/src/app/esc.js 2018-10-12 19:26:51.847470201 -0700
+@@ -44,13 +44,16 @@ const CoolKeyNotify = new Lang.Class({
+ this._unique_name = "Unknown";
+ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(CoolKeyNotifyIface, this);
+ this._dbusImpl.export(Gio.DBus.session, '/com/jmagne/CoolKeyNotify');
+- this._dbusId = Gio.DBus.session.own_name( 'com.rm5248', Gio.BusNameOwnerFlags.NONE, this._nameAcquired.bind(this), this._nameLost);
++ this._dbusId = Gio.DBus.session.own_name( 'com.rm5248', Gio.BusNameOwnerFlags.NONE, this._nameAcquired.bind(this), this._nameLost.bind(this));
+ },
+ _nameAcquired: function( name ) {
+ this._unique_name = name.unique_name;
+ this._client._createCoolKeyMgr(this._unique_name);
+ },
+ _nameLost: function( name ) {
++ if(this._client._window) {
++ this._client._window.destroy();
++ }
+ },
+
+ notifyCoolKeyEvent: function(aKeyType, aKeyID, aKeyState, aData, strData) {
+@@ -76,6 +79,7 @@ class ESC {
+ this._window.present();
+ }
+ _onStartup() {
++ this.mgr = null;
+ this._buildUI();
+ this.notify = new CoolKeyNotify(this);
+ }
+@@ -95,8 +99,10 @@ class ESC {
+ this.notify._dbusImpl.unexport();
+ this.notify = null;
+ }
+- this.mgr.cleanup();
+- this.mgr = null;
++ if(this.mgr) {
++ this.mgr.cleanup();
++ this.mgr = null;
++ }
+ this._window.destroy();
+ }
+
+@@ -212,9 +218,7 @@ class ESC {
+
+ if (res == false) {
+ this._configFile.set_string("ESC","name","Smart Card Utility");
+- print("attmpeting to create: " + config_name);
+ res = this._configFile.save_to_file(config_name);
+- print("res: " + res);
+ }
+ }
+
+diff -up ./esc/src/lib/coolkey/cky_card.c.fix3 ./esc/src/lib/coolkey/cky_card.c
+--- ./esc/src/lib/coolkey/cky_card.c.fix3 2018-05-03 14:03:07.000000000 -0700
++++ ./esc/src/lib/coolkey/cky_card.c 2018-10-12 14:06:48.350544806 -0700
+@@ -139,21 +139,15 @@ typedef struct _SCard {
+ goto fail; \
+ }
+
+-#ifdef WIN32
+-#define SCARD_LIB_NAME "winscard.dll"
+-#else
+-#ifdef MAC
+-#define SCARD_LIB_NAME "PCSC.Framework/PCSC"
+-#else
+ #ifdef LINUX
+-#define SCARD_LIB_NAME "libpcsclite.so"
++#ifndef SCARD_LIB_NAME
++#define SCARD_LIB_NAME "libpcsclite.so.1"
+ #else
+ #ifndef SCARD_LIB_NAME
+ #error "define wincard library for this platform"
+ #endif
+ #endif
+ #endif
+-#endif
+
+ static SCard *
+ ckySCard_Init(void)
+diff -up ./esc/src/lib/coolkey/CoolKey.cpp.fix3 ./esc/src/lib/coolkey/CoolKey.cpp
+diff -up ./esc/src/lib/coolkey-mgr/coolkey-api.cpp.fix3 ./esc/src/lib/coolkey-mgr/coolkey-api.cpp
+--- ./esc/src/lib/coolkey-mgr/coolkey-api.cpp.fix3 2018-10-12 15:12:59.937348875 -0700
++++ ./esc/src/lib/coolkey-mgr/coolkey-api.cpp 2018-10-12 18:28:34.674060797 -0700
+@@ -71,6 +71,12 @@ tokenInfo *coolkey_get_token_info(int ke
+ if(tInfo == NULL) {
+ exit(1);
+ }
++
++ tInfo ->atr = NULL;
++ tInfo->issuerInfo = NULL;
++ tInfo->issuer = NULL;
++ tInfo->issuedTo = NULL;
++ tInfo->status = 0;
+
+ coolkey->GetCoolKeyATR(keyType, keyID, &tInfo->atr);
+
+diff -up ./esc/src/lib/coolkey-mgr/rhCoolKey.cpp.fix3 ./esc/src/lib/coolkey-mgr/rhCoolKey.cpp
+--- ./esc/src/lib/coolkey-mgr/rhCoolKey.cpp.fix3 2018-10-12 14:22:05.938864628 -0700
++++ ./esc/src/lib/coolkey-mgr/rhCoolKey.cpp 2018-10-12 19:15:26.447926406 -0700
+@@ -1053,17 +1053,19 @@ HRESULT rhCoolKey::GetCoolKeyCertInfo(PR
+ HRESULT rhCoolKey::GetCoolKeyATR(PRUint32 aKeyType, const char *aKeyID, char **_retval)
+ {
+ char tBuff[56];
++ if(aKeyID == NULL || _retval == NULL) {
++ return E_FAIL;
++ }
+ *_retval = NULL;
+ AutoCoolKey key(aKeyType, aKeyID);
+- char atr[128];
+- HRESULT res = CoolKeyGetATR(&key, (char *)&atr,sizeof(atr));
+- PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s Attempting to get the key's ATR: Key: %s, ATR %s. \n",GetTStamp(tBuff,56),aKeyID, (char *) atr));
+- if(res == S_OK)
+- {
+- char *temp = (char *) PL_strdup(atr);
+- *_retval = temp;
++ char atr[128] = {};
++ HRESULT res = CoolKeyGetATR(&key, (char *)&atr,sizeof(atr));
++ PR_LOG( coolKeyLog, PR_LOG_DEBUG, ("%s Attempting to get the key's ATR: Key: %s, ATR %s. \n",GetTStamp(tBuff,56),aKeyID, (char *) atr));
++
++ if(res == S_OK) {
++ *_retval = (char *) PL_strdup(atr);
+ }
+- return NS_OK;
++ return res;
+ }
+
+ /* string GetCoolKeyTokenName (in unsigned long aKeyType, in string aKeyID); */
+@@ -1097,24 +1099,25 @@ HRESULT rhCoolKey::GetCoolKeyTokenName(P
+ HRESULT rhCoolKey::GetCoolKeyIssuerInfo(PRUint32 aKeyType, const char *aKeyID, char **_retval)
+ {
+ char tBuff[56];
++
++ if(aKeyID == NULL || _retval == NULL) {
++ return E_FAIL;
++ }
+ *_retval = NULL;
+
+ AutoCoolKey key(aKeyType, aKeyID);
+
+- char issuerInfo[256];
++ char issuerInfo[256] = {};
+
+ HRESULT res = CoolKeyGetIssuerInfo(&key, (char *)&issuerInfo,256);
+
+ ::CoolKeyLogMsg( 1, "%s Attempting to get the key's Issuer: Key: %s, Issuer %s. \n",GetTStamp(tBuff,56),aKeyID, (char *) issuerInfo);
+
+- if(res == S_OK)
+- {
+- char *temp = (char *) PL_strdup(issuerInfo);
+- *_retval = temp;
+-
++ if(res == S_OK) {
++ *_retval = (char *) PL_strdup(issuerInfo);
+ }
+- return NS_OK;
+
++ return res;
+ }
+
+ /* void rhGetCoolKeyPolicy (in unsigned long aKeyType, in string aKeyID, out string policy); */
+@@ -1153,28 +1156,22 @@ HRESULT rhCoolKey::GetCoolKeyPolicy(PRUi
+ HRESULT rhCoolKey::GetCoolKeyUID(PRUint32 aKeyType, const char *aKeyID, char **uid)
+ {
+ char tBuff[56];
+- if (!aKeyID) {
+- return NS_ERROR_FAILURE;
++ if (aKeyID == NULL || uid == NULL) {
++ return E_FAIL;
+ }
+
+ AutoCoolKey key(aKeyType, ( char *)aKeyID);
+
+- char buff[512];
++ char buff[512] = {};
+ int bufLength = 512;
+- buff[0] = 0;
+
+- CoolKeyGetUID(&key, (char *) buff, bufLength);
+-
+- if(!buff[0])
+- {
+- return NS_OK;
+- }
++ HRESULT res = CoolKeyGetUID(&key, (char *) buff, bufLength);
+
+ PR_LOG(coolKeyLog,PR_LOG_DEBUG,("%s rhCoolKey::RhGetCoolKeyGetUID %s \n",GetTStamp(tBuff,56),(char *) buff));
+
+- char *temp = (char *) PL_strdup(buff);
+-
+- *uid = temp;
++ if(res == S_OK) {
++ char *uid = (char *) PL_strdup(buff);
++ }
+
+ return NS_OK;
+
+@@ -1185,32 +1182,25 @@ HRESULT rhCoolKey::GetCoolKeyUID(PRUint3
+ HRESULT rhCoolKey::GetCoolKeyIssuedTo(PRUint32 aKeyType, const char *aKeyID, char **issuedTo)
+ {
+ char tBuff[56];
+- if (!aKeyID) {
+- return NS_ERROR_FAILURE;
++ if (aKeyID == NULL || issuedTo == NULL) {
++ return E_FAIL;
+ }
+
++ *issuedTo = NULL;
+ AutoCoolKey key(aKeyType, ( char *)aKeyID);
+
+- // const char *keyName = CoolKeyGetTokenName(&key);
+-
+- char buff[512];
++ char buff[512] = {};
+ int bufLength = 512;
+- buff[0] = 0;
+
+- CoolKeyGetIssuedTo(&key, (char *) buff, bufLength);
+-
+- if(!buff[0])
+- {
+- return NS_OK;
+- }
++ HRESULT res = CoolKeyGetIssuedTo(&key, (char *) buff, bufLength);
+
+ PR_LOG(coolKeyLog,PR_LOG_DEBUG,("%s rhCoolKey::RhGetCoolKeyGetIssuedTo %s \n",GetTStamp(tBuff,56),(char *) buff));
+
+- char *temp = (char *) PL_strdup(buff);
+-
+- *issuedTo = temp;
++ if(res == S_OK) {
++ *issuedTo = (char *) PL_strdup(buff);
++ }
+
+- return NS_OK;
++ return res;
+
+ }
+
+@@ -1218,32 +1208,24 @@ HRESULT rhCoolKey::GetCoolKeyIssuedTo(PR
+ HRESULT rhCoolKey::GetCoolKeyIssuer(PRUint32 aKeyType, const char *aKeyID, char **issuer)
+ {
+ char tBuff[56];
+- if (!aKeyID) {
+- return NS_ERROR_FAILURE;
++ if (!aKeyID || !issuer) {
++ return E_FAIL;
+ }
+
+ AutoCoolKey key(aKeyType, ( char *)aKeyID);
+
+- // const char *keyName = CoolKeyGetTokenName(&key);
+-
+- char buff[512];
++ char buff[512] = {};
+ int bufLength = 512;
+- buff[0] = 0;
+
+- CoolKeyGetIssuer(&key, (char *) buff, bufLength);
+-
+- if(!buff[0])
+- {
+- return NS_OK;
+- }
++ HRESULT res = CoolKeyGetIssuer(&key, (char *) buff, bufLength);
+
+ PR_LOG(coolKeyLog,PR_LOG_DEBUG,("%s rhCoolKey::RhGetCoolKeyGetIssuer %s \n",GetTStamp(tBuff,56),(char *) buff));
+
+- char *temp = (char *) PL_strdup(buff);
+-
+- *issuer = temp;
++ if(res == S_OK) {
++ *issuer = (char *) PL_strdup(buff);
++ }
+
+- return NS_OK;
++ return res;
+
+ }
+
+diff -up ./esc/src/lib/coolkey-mgr/rhCoolKey.h.fix3 ./esc/src/lib/coolkey-mgr/rhCoolKey.h