[Fedora-directory-commits] esc/src/lib/coolkey CoolKey.cpp, 1.7, 1.8 CoolKey.h, 1.6, 1.7 NSSManager.cpp, 1.4, 1.5 NSSManager.h, 1.3, 1.4

Jack Magne (jmagne) fedora-directory-commits at redhat.com
Wed Jul 25 20:43:24 UTC 2007


Author: jmagne

Update of /cvs/dirsec/esc/src/lib/coolkey
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18328

Modified Files:
	CoolKey.cpp CoolKey.h NSSManager.cpp NSSManager.h 
Log Message:
Minor fix to diagnostics logging.



Index: CoolKey.cpp
===================================================================
RCS file: /cvs/dirsec/esc/src/lib/coolkey/CoolKey.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- CoolKey.cpp	7 Jun 2007 21:21:17 -0000	1.7
+++ CoolKey.cpp	25 Jul 2007 20:43:22 -0000	1.8
@@ -1325,7 +1325,10 @@
        return E_FAIL;
        
    if(g_Log->IsInitialized())
+   {
+      CoolKeyLogNSSStatus();
       return S_OK;
+   }
    else
       return E_FAIL;
 }
@@ -1348,6 +1351,35 @@
     return S_OK;
 }
 
+COOLKEY_API HRESULT CoolKeyLogNSSStatus()
+{
+
+    char tBuff[56];
+    if (g_NSSManager)
+    {
+        unsigned int error = g_NSSManager->GetLastInitError();
+
+        if(error == NSS_NO_ERROR)
+        {
+            CoolKeyLogMsg( PR_LOG_ALWAYS, "%s NSS system intialized successfully!\n",GetTStamp(tBuff,56));
+            return S_OK;
+        }
+
+        if(error == NSS_ERROR_LOAD_COOLKEY)
+        {
+           CoolKeyLogMsg( PR_LOG_ERROR, "%s Failed to load CoolKey module! Keys will not be recognized!\n",GetTStamp(tBuff,56));
+        }
+ 
+        if(error == NSS_ERROR_SMART_CARD_THREAD) 
+        {
+            CoolKeyLogMsg( PR_LOG_ERROR, "%s Problem initializing the Smart Card thread! Keys will not be recognized!\n",GetTStamp(tBuff,56));
+        }   
+    }
+
+    return S_OK;
+
+}
+
 //Utility function to get Time Stamp
 char *GetTStamp(char *aTime,int aSize)
 {


Index: CoolKey.h
===================================================================
RCS file: /cvs/dirsec/esc/src/lib/coolkey/CoolKey.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- CoolKey.h	7 Jun 2007 21:21:17 -0000	1.6
+++ CoolKey.h	25 Jul 2007 20:43:22 -0000	1.7
@@ -180,6 +180,7 @@
 
 COOLKEY_API HRESULT CoolKeyLogMsg(int logLevel, const char *fmt, ...);
 
+COOLKEY_API HRESULT CoolKeyLogNSSStatus();
 
 //Utility time function
 char *GetTStamp(char *aTime,int aSize);


Index: NSSManager.cpp
===================================================================
RCS file: /cvs/dirsec/esc/src/lib/coolkey/NSSManager.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- NSSManager.cpp	7 May 2007 23:51:46 -0000	1.4
+++ NSSManager.cpp	25 Jul 2007 20:43:22 -0000	1.5
@@ -46,11 +46,13 @@
 
 static PRLogModuleInfo *coolKeyLogNSS = PR_NewLogModule("coolKeyNSS");
 
+unsigned int NSSManager::lastError;
 NSSManager::NSSManager()
 {
     char tBuff[56];
     PR_LOG( coolKeyLogNSS, PR_LOG_DEBUG, ("%s NSSManager::NSSManager:\n",GetTStamp(tBuff,56)));
     mpSCMonitoringThread = NULL;
+    NSSManager::lastError = NSS_NO_ERROR;
 #ifdef LINUX
     systemCertDB = NULL;
 #endif
@@ -111,6 +113,8 @@
     if(!userModule || !userModule->loaded)
     {
         PR_LOG( coolKeyLogNSS, PR_LOG_ALWAYS, ("%s NSSManager::InitNSS problem loading PKCS11 module. No keys will be recognized!\n",GetTStamp(tBuff,56)));
+
+        NSSManager::lastError = NSS_ERROR_LOAD_COOLKEY;
         return E_FAIL;
     }
 
@@ -132,6 +136,7 @@
     mpSCMonitoringThread = new SmartCardMonitoringThread(userModule);
     if (!mpSCMonitoringThread) {
         SECMOD_UnloadUserModule(userModule);
+        NSSManager::lastError =  NSS_ERROR_SMART_CARD_THREAD;
         return E_FAIL;
     }
     mpSCMonitoringThread->Start();


Index: NSSManager.h
===================================================================
RCS file: /cvs/dirsec/esc/src/lib/coolkey/NSSManager.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- NSSManager.h	7 May 2007 23:51:46 -0000	1.3
+++ NSSManager.h	25 Jul 2007 20:43:22 -0000	1.4
@@ -26,6 +26,10 @@
 #define PROMISCUOUS_PARAMETER   "noAppletOK=yes"
 #define NSS_PUBLIC_CERTS	"slotFlags=PublicCerts"
 
+#define NSS_NO_ERROR 0
+#define NSS_ERROR_LOAD_COOLKEY 1
+#define NSS_ERROR_SMART_CARD_THREAD 2
+
 #ifndef NSSMANAGER_H
 #define NSSMANAGER_H
 
@@ -70,11 +74,14 @@
 
   static HRESULT GetKeyIssuer(const CoolKey *aKey, char *aBuf, int aBufLength);
 
+  static unsigned int GetLastInitError() { return lastError;}
 
  private:
 
    static bool IsCACert(CERTCertificate *cert);
 
+   static unsigned int lastError;
+
 #ifdef LINUX
   PK11SlotInfo *systemCertDB;
 #endif




More information about the Fedora-directory-commits mailing list