diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | mod_revocator-waitpid.patch | 61 | ||||
| -rw-r--r-- | mod_revocator.spec | 15 | 
3 files changed, 76 insertions, 2 deletions
@@ -1,4 +1,4 @@  SRCDIR := $(shell pwd)  NAME := $(shell basename $(SRCDIR)) -include ../common/Makefile +include ../../common/Makefile 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 0943b26..9c2ed06 100644 --- a/mod_revocator.spec +++ b/mod_revocator.spec @@ -6,7 +6,7 @@  Name: mod_revocator  Version: 1.0.3 -Release: 12%{?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,17 @@ rm -rf $RPM_BUILD_ROOT  %{_bindir}/crlhelper  %changelog +* Sat Nov 17 2012 Remi Collet <RPMS@FamilleCollet.com> - 1.0.3-14 +- rebuild for remi repo and httpd 2.4 + +* Mon Oct  8 2012 Matthew Harmsen <mharmsen@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@gmail.com +  (mod_revocator-waitpid.patch) + +* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild +  * Tue Apr 24 2012 Remi Collet <RPMS@FamilleCollet.com> - 1.0.3-12  - rebuild for remi repo and httpd 2.4  | 
