[mod_revocator] Resolves Bugzilla Bug #861999 - mod_revocator exec CLR URIs fail to load: unable to load Revocation

mharmsen mharmsen at fedoraproject.org
Tue Oct 23 00:21:48 UTC 2012


commit a39c07a73bd38aca14125c939b9502155548045c
Author: Matthew Harmsen <mharmsen at redhat.com>
Date:   Mon Oct 22 17:20:43 2012 -0700

    Resolves Bugzilla Bug #861999 - mod_revocator exec CLR URIs fail to load:
    unable to load Revocation module, NSS error -8187 - stephen.capstick64 at gmail.com

 mod_revocator-waitpid.patch |   61 +++++++++++++++++++++++++++++++++++++++++++
 mod_revocator.spec          |    9 +++++-
 2 files changed, 69 insertions(+), 1 deletions(-)
---
diff --git a/mod_revocator-waitpid.patch b/mod_revocator-waitpid.patch
new file mode 100644
index 0000000..a2676a8
--- /dev/null
+++ b/mod_revocator-waitpid.patch
@@ -0,0 +1,61 @@
+diff -rupN mod_revocator-1.0.3.orig/exec-client.cpp mod_revocator-1.0.3/exec-client.cpp
+--- mod_revocator-1.0.3.orig/exec-client.cpp	2006-10-16 11:16:35.000000000 -0700
++++ mod_revocator-1.0.3/exec-client.cpp	2012-10-08 13:36:11.093881000 -0700
+@@ -36,6 +36,8 @@
+ #ifdef XP_UNIX
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <sys/wait.h>
++#include <syslog.h>
+ #endif
+ 
+ #include "client.h"
+@@ -50,6 +52,7 @@ PR_IMPLEMENT(void *)exec_client(const ch
+     char * separator;
+     int pfildes[2];
+     int pid;
++    int status;
+     char * tmpurl = NULL;
+     int ldap = 0;
+     char * arg;
+@@ -105,12 +108,10 @@ PR_IMPLEMENT(void *)exec_client(const ch
+         int done = 0;
+ 
+         close(pfildes[1]);
+-        dup2(pfildes[0],0);
+-        close(pfildes[0]);
+ 
+         totalread = 0;
+         do {
+-            numbytes = read(0, buffer, (BIG_LINE * 4) - 1);
++            numbytes = read(pfildes[0], buffer, (BIG_LINE * 4) - 1);
+             if (numbytes > 0) {
+                 buffer[numbytes] = '\0';
+                 totalread += numbytes;
+@@ -125,6 +126,8 @@ PR_IMPLEMENT(void *)exec_client(const ch
+                         }
+                         *errnum = CL_OUT_OF_MEMORY;
+                         free(tmpurl);
++                        close(pfildes[0]);
++                        waitpid(pid, &status, WNOHANG);
+                         return NULL;
+                     }
+                     sz += (BIG_LINE * 4);
+@@ -135,6 +138,8 @@ PR_IMPLEMENT(void *)exec_client(const ch
+                 if (data) free(data);
+                 data = 0;
+                 free(tmpurl);
++                close(pfildes[0]);
++                waitpid(pid, &status, WNOHANG);
+                 return NULL;
+             } else if (numbytes == 0) {
+                 done = 1;
+@@ -148,6 +153,8 @@ PR_IMPLEMENT(void *)exec_client(const ch
+         }
+         free(tmpurl);
+         *len = totalread;
++        close(pfildes[0]);
++        waitpid(pid, &status, 0);
+         return data;
+     }
+ }
diff --git a/mod_revocator.spec b/mod_revocator.spec
index 2800346..38ceeae 100644
--- a/mod_revocator.spec
+++ b/mod_revocator.spec
@@ -6,7 +6,7 @@
 
 Name: mod_revocator
 Version: 1.0.3
-Release: 13%{?dist}
+Release: 14%{?dist}
 Summary: CRL retrieval module for the Apache HTTP server
 Group: System Environment/Daemons
 License: ASL 2.0
@@ -26,6 +26,7 @@ Patch2: mod_revocator-kill.patch
 Patch3: mod_revocator-segfault-fix.patch
 Patch4: mod_revocator-32-bit-semaphore-fix.patch
 Patch5: mod_revocator-array-size.patch
+Patch6: mod_revocator-waitpid.patch
 
 %description
 The mod_revocator module retrieves and installs remote
@@ -38,6 +39,7 @@ Certificate Revocate Lists (CRLs) into an Apache web server.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %build
 autoreconf -fvi
@@ -121,6 +123,11 @@ rm -rf $RPM_BUILD_ROOT
 %{_bindir}/crlhelper
 
 %changelog
+* Mon Oct  8 2012 Matthew Harmsen <mharmsen at redhat.com> - 1.0.3-14
+- Bugzilla Bug #861999 - mod_revocator exec CLR URIs fail to load: unable to
+  load Revocation module, NSS error -8187 - stephen.capstick64 at gmail.com
+  (mod_revocator-waitpid.patch)
+
 * Fri Jul 20 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.3-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 


More information about the scm-commits mailing list