18bcd8b
From e1f8d4e38f4ad08fb407691a3f59edc19a1f15e2 Mon Sep 17 00:00:00 2001
18bcd8b
From: Peter Jones <pjones@redhat.com>
18bcd8b
Date: Wed, 17 Oct 2012 14:41:18 -0400
9e2491c
Subject: [PATCH 14/36] Do register_oids() where we're doing NSS_Init()
18bcd8b
18bcd8b
Signed-off-by: Peter Jones <pjones@redhat.com>
18bcd8b
---
18bcd8b
 src/cms_common.c | 8 --------
18bcd8b
 src/daemon.c     | 7 +++++++
18bcd8b
 2 files changed, 7 insertions(+), 8 deletions(-)
18bcd8b
18bcd8b
diff --git a/src/cms_common.c b/src/cms_common.c
18bcd8b
index a8e34dd..6188e6e 100644
18bcd8b
--- a/src/cms_common.c
18bcd8b
+++ b/src/cms_common.c
18bcd8b
@@ -179,16 +179,8 @@ cms_common_log(cms_context *ctx, int priority, char *fmt, ...)
18bcd8b
 int
18bcd8b
 cms_context_init(cms_context *cms)
18bcd8b
 {
18bcd8b
-	static int first_time = 1;
18bcd8b
 	memset(cms, '\0', sizeof (*cms));
18bcd8b
 
18bcd8b
-	if (first_time) {
18bcd8b
-		SECStatus status = register_oids(cms);
18bcd8b
-		if (status != SECSuccess)
18bcd8b
-			return -1;
18bcd8b
-		first_time = 0;
18bcd8b
-	}
18bcd8b
-
18bcd8b
 	cms->log = cms_common_log;
18bcd8b
 
18bcd8b
 	cms->arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);
18bcd8b
diff --git a/src/daemon.c b/src/daemon.c
18bcd8b
index f44f069..085cfec 100644
18bcd8b
--- a/src/daemon.c
18bcd8b
+++ b/src/daemon.c
18bcd8b
@@ -917,6 +917,13 @@ daemonize(cms_context *cms_ctx, int do_fork)
18bcd8b
 		exit(1);
18bcd8b
 	}
18bcd8b
 
18bcd8b
+	status = register_oids(ctx.backup_cms);
18bcd8b
+	if (status != SECSuccess) {
18bcd8b
+		ctx.backup_cms->log(ctx.backup_cms, ctx.priority|LOG_NOTICE,
18bcd8b
+			"Could not register OIDs\n");
18bcd8b
+		exit(1);
18bcd8b
+	}
18bcd8b
+
18bcd8b
 	if (do_fork) {
18bcd8b
 		int fd = open("/dev/zero", O_RDONLY);
18bcd8b
 		close(STDIN_FILENO);
18bcd8b
-- 
18bcd8b
1.7.12.1
18bcd8b