aboutsummaryrefslogtreecommitdiffstats
path: root/smime
diff options
context:
space:
mode:
Diffstat (limited to 'smime')
-rw-r--r--smime/ChangeLog11
-rw-r--r--smime/lib/e-cert-db.c8
2 files changed, 19 insertions, 0 deletions
diff --git a/smime/ChangeLog b/smime/ChangeLog
index d33b4a90a6..c5f9ce52ee 100644
--- a/smime/ChangeLog
+++ b/smime/ChangeLog
@@ -1,8 +1,19 @@
+2005-06-06 JP Rosevear <jpr@novell.com>
+
+ * lib/e-cert-db.c (install_loadable_roots): pull up missing merge
+ from branch
+
2005-05-06 Sankar P <psankar@novell.com>
*gui/certificate-manager.c
Changed cert to certificates
Fixes #273075
+
+2005-03-31 Jeffrey Stedfast <fejj@novell.com>
+
+ * lib/e-cert-db.c (install_loadable_roots): Copied Mozilla code to
+ check if the nssckbi root certs module was too old and if it was,
+ delete/unload it.
2005-03-30 Li Yuan <li.yuan@sun.com>
diff --git a/smime/lib/e-cert-db.c b/smime/lib/e-cert-db.c
index 5e275a063c..ce1e908412 100644
--- a/smime/lib/e-cert-db.c
+++ b/smime/lib/e-cert-db.c
@@ -240,6 +240,7 @@ install_loadable_roots (void)
if (RootsModule) {
/* Check version, and unload module if it is too old */
CK_INFO info;
+
if (PK11_GetModInfo (RootsModule, &info) != SECSuccess) {
/* Do not use this module */
RootsModule = NULL;
@@ -270,12 +271,19 @@ install_loadable_roots (void)
char *paths_to_check[] = {
"/usr/lib",
"/usr/lib/mozilla",
+ "/opt/mozilla/lib",
+ "/opt/mozilla/lib/mozilla"
};
for (i = 0; i < G_N_ELEMENTS (paths_to_check); i ++) {
char *dll_path = g_module_build_path (paths_to_check [i], "nssckbi");
if (g_file_test (dll_path, G_FILE_TEST_EXISTS)) {
+ PRInt32 modType;
+
+ /* Delete the existing module */
+ SECMOD_DeleteModule ("Mozilla Root Certs", &modType);
+
SECMOD_AddNewModule("Mozilla Root Certs",dll_path, 0, 0);
g_free (dll_path);
break;