From d9958b91a37d7085be2ddc1b6cd07a8b74890063 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 17 Nov 2012 07:34:35 +0100 Subject: mod_revocator: backport --- Makefile | 2 +- mod_revocator-waitpid.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++ mod_revocator.spec | 15 ++++++++++- 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 mod_revocator-waitpid.patch diff --git a/Makefile b/Makefile index 1e65467..91b0fd5 100644 --- a/Makefile +++ b/Makefile @@ -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 + #include ++#include ++#include + #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 - 1.0.3-14 +- rebuild for remi repo and httpd 2.4 + +* Mon Oct 8 2012 Matthew Harmsen - 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 - 1.0.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Tue Apr 24 2012 Remi Collet - 1.0.3-12 - rebuild for remi repo and httpd 2.4 -- cgit