Blob Blame History Raw
--- mod_nss-1.0-orig/nss_engine_pphrase.c        22 Feb 2007 16:50:14 -0000      1.10
+++ mod_nss-1.0/nss_engine_pphrase.c        16 May 2008 15:16:02 -0000      1.11
@@ -62,6 +62,13 @@
     {
         PK11SlotInfo *slot = listEntry->slot;
 
+        /* This is needed to work around a bug in NSS while in FIPS mode.
+         * The first login will succeed but NSS_Shutdown() isn't cleaning
+         * something up causing subsequent logins to be skipped making
+         * keys and certs unavailable.
+         */
+        PK11_Logout(slot);
+
         if (PK11_NeedLogin(slot) && PK11_NeedUserInit(slot)) {
             if (slot == PK11_GetInternalKeySlot()) {
                 ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,