From 110f0ad2292fecfe35efac3c4f87a3be90f7eeaa Mon Sep 17 00:00:00 2001 From: jorton Date: Dec 18 2008 16:30:24 +0000 Subject: - update to 2.2.11 - package new /var/run/httpd directory, and move default pidfile location inside there --- diff --git a/.cvsignore b/.cvsignore index 1433a6a..5d49569 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -httpd-2.2.10.tar.gz +httpd-2.2.11.tar.gz diff --git a/httpd-2.0.40-xfsz.patch b/httpd-2.0.40-xfsz.patch deleted file mode 100644 index 2af7384..0000000 --- a/httpd-2.0.40-xfsz.patch +++ /dev/null @@ -1,20 +0,0 @@ - -Set SIGXFSZ to be ignored, so a write() beyond 2gb will fail with -E2BIG rather than killing the process - -Upstream-HEAD: needed -Upstream-2.0: omit -Upstream-Status: Obsoleted by proper LFS support in APR, do it anyway -Upstream-PR: 13511 - ---- ./server/mpm/prefork/prefork.c.xfsz Wed Jul 17 22:39:55 2002 -+++ ./server/mpm/prefork/prefork.c Mon Aug 26 15:40:24 2002 -@@ -461,7 +461,7 @@ - ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGXCPU)"); - #endif - #ifdef SIGXFSZ -- sa.sa_handler = SIG_DFL; -+ sa.sa_handler = SIG_IGN; - if (sigaction(SIGXFSZ, &sa, NULL) < 0) - ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGXFSZ)"); - #endif diff --git a/httpd-2.0.48-corelimit.patch b/httpd-2.0.48-corelimit.patch deleted file mode 100644 index 583db39..0000000 --- a/httpd-2.0.48-corelimit.patch +++ /dev/null @@ -1,36 +0,0 @@ - -Automatically raise the core file size limit if CoreDumpDirectory -is configured. - -Upstream-HEAD: submitted -Upstream-Status: Not so useful on Solaris, discussed -Upstream-Discuss: http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=107831370002083&w=2 - ---- httpd-2.0.48/server/core.c.corelimit -+++ httpd-2.0.48/server/core.c -@@ -4233,6 +4233,25 @@ - - ap_set_version(pconf); - ap_setup_make_content_type(pconf); -+ -+#ifdef RLIMIT_CORE -+ if (ap_coredumpdir_configured) { -+ struct rlimit lim; -+ -+ if (getrlimit(RLIMIT_CORE, &lim) == 0 && lim.rlim_cur == 0) { -+ lim.rlim_cur = lim.rlim_max; -+ if (setrlimit(RLIMIT_CORE, &lim) == 0) { -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, -+ "core dump file size limit raised to %lu bytes", -+ lim.rlim_cur); -+ } else { -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, errno, NULL, -+ "core dump file size is zero, setrlimit failed"); -+ } -+ } -+ } -+#endif -+ - return OK; - } - diff --git a/httpd-2.0.54-selinux.patch b/httpd-2.0.54-selinux.patch deleted file mode 100644 index 6ba8737..0000000 --- a/httpd-2.0.54-selinux.patch +++ /dev/null @@ -1,57 +0,0 @@ - -If SELinux is enabled, log the context on startup. - -Upstream-Status: not submitted, needs #ifdef-goodness, probably - not worth the battle - ---- httpd-2.1.10/server/core.c.selinux -+++ httpd-2.1.10/server/core.c -@@ -51,6 +51,8 @@ - - #include "mod_so.h" /* for ap_find_loaded_module_symbol */ - -+#include -+ - /* LimitRequestBody handling */ - #define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1) - #define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0) -@@ -3745,6 +3747,26 @@ - } - #endif - -+ { -+ static int already_warned = 0; -+ int is_enabled = is_selinux_enabled() > 0; -+ -+ if (is_enabled && !already_warned) { -+ security_context_t con; -+ -+ if (getcon(&con) == 0) { -+ -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, -+ "SELinux policy enabled; " -+ "httpd running as context %s", con); -+ -+ already_warned = 1; -+ -+ freecon(con); -+ } -+ } -+ } -+ - return OK; - } - ---- httpd-2.1.10/configure.in.selinux -+++ httpd-2.1.10/configure.in -@@ -382,6 +382,10 @@ - dnl confirm that a void pointer is large enough to store a long integer - APACHE_CHECK_VOID_PTR_LEN - -+AC_CHECK_LIB(selinux, is_selinux_enabled, [ -+ APR_ADDTO(AP_LIBS, [-lselinux]) -+]) -+ - dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs - AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, - [AC_TRY_COMPILE([#include diff --git a/httpd-2.2.11-corelimit.patch b/httpd-2.2.11-corelimit.patch new file mode 100644 index 0000000..ea9f857 --- /dev/null +++ b/httpd-2.2.11-corelimit.patch @@ -0,0 +1,28 @@ +--- httpd-2.2.11/server/core.c.corelimit ++++ httpd-2.2.11/server/core.c +@@ -3777,6 +3779,25 @@ static int core_post_config(apr_pool_t * + + set_banner(pconf); + ap_setup_make_content_type(pconf); ++ ++#ifdef RLIMIT_CORE ++ if (ap_coredumpdir_configured) { ++ struct rlimit lim; ++ ++ if (getrlimit(RLIMIT_CORE, &lim) == 0 && lim.rlim_cur == 0) { ++ lim.rlim_cur = lim.rlim_max; ++ if (setrlimit(RLIMIT_CORE, &lim) == 0) { ++ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, ++ "core dump file size limit raised to %lu bytes", ++ lim.rlim_cur); ++ } else { ++ ap_log_error(APLOG_MARK, APLOG_NOTICE, errno, NULL, ++ "core dump file size is zero, setrlimit failed"); ++ } ++ } ++ } ++#endif ++ + return OK; + } + diff --git a/httpd-2.2.11-selinux.patch b/httpd-2.2.11-selinux.patch new file mode 100644 index 0000000..7b1b3cb --- /dev/null +++ b/httpd-2.2.11-selinux.patch @@ -0,0 +1,51 @@ +--- httpd-2.2.11/configure.in.selinux ++++ httpd-2.2.11/configure.in +@@ -412,6 +412,10 @@ getpgid + dnl confirm that a void pointer is large enough to store a long integer + APACHE_CHECK_VOID_PTR_LEN + ++AC_CHECK_LIB(selinux, is_selinux_enabled, [ ++ APR_ADDTO(AP_LIBS, [-lselinux]) ++]) ++ + dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs + AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, + [AC_TRY_COMPILE([#include +--- httpd-2.2.11/server/core.c.selinux ++++ httpd-2.2.11/server/core.c +@@ -51,6 +51,8 @@ + + #include "mod_so.h" /* for ap_find_loaded_module_symbol */ + ++#include ++ + /* LimitRequestBody handling */ + #define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1) + #define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0) +@@ -3796,6 +3798,26 @@ static int core_post_config(apr_pool_t * + } + #endif + ++ { ++ static int already_warned = 0; ++ int is_enabled = is_selinux_enabled() > 0; ++ ++ if (is_enabled && !already_warned) { ++ security_context_t con; ++ ++ if (getcon(&con) == 0) { ++ ++ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, NULL, ++ "SELinux policy enabled; " ++ "httpd running as context %s", con); ++ ++ already_warned = 1; ++ ++ freecon(con); ++ } ++ } ++ } ++ + return OK; + } + diff --git a/httpd-2.2.11-xfsz.patch b/httpd-2.2.11-xfsz.patch new file mode 100644 index 0000000..7f9e16a --- /dev/null +++ b/httpd-2.2.11-xfsz.patch @@ -0,0 +1,11 @@ +--- httpd-2.2.11/server/mpm/prefork/prefork.c.xfsz ++++ httpd-2.2.11/server/mpm/prefork/prefork.c +@@ -399,7 +399,7 @@ static void set_signals(void) + ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGXCPU)"); + #endif + #ifdef SIGXFSZ +- sa.sa_handler = SIG_DFL; ++ sa.sa_handler = SIG_IGN; + if (sigaction(SIGXFSZ, &sa, NULL) < 0) + ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGXFSZ)"); + #endif diff --git a/httpd-2.2.11.tar.gz.asc b/httpd-2.2.11.tar.gz.asc new file mode 100644 index 0000000..f4687b1 --- /dev/null +++ b/httpd-2.2.11.tar.gz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.5 (GNU/Linux) + +iD8DBQBJOpfNTAQoGDEaPeURAu0TAJwNWk5BZu8hoatVKD4Bt5ytd9SYlgCgnYLX +qEUhu8VkhKrnhvDyIoN4G7I= +=mnQ8 +-----END PGP SIGNATURE----- diff --git a/httpd.init b/httpd.init index 713d033..828d491 100755 --- a/httpd.init +++ b/httpd.init @@ -8,7 +8,7 @@ # processname: httpd # config: /etc/httpd/conf/httpd.conf # config: /etc/sysconfig/httpd -# pidfile: /var/run/httpd.pid +# pidfile: /var/run/httpd/httpd.pid # ### BEGIN INIT INFO # Provides: httpd @@ -42,7 +42,7 @@ INITLOG_ARGS="" apachectl=/usr/sbin/apachectl httpd=${HTTPD-/usr/sbin/httpd} prog=httpd -pidfile=${PIDFILE-/var/run/httpd.pid} +pidfile=${PIDFILE-/var/run/httpd/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd} RETVAL=0 diff --git a/httpd.spec b/httpd.spec index 27bdf29..750e327 100644 --- a/httpd.spec +++ b/httpd.spec @@ -4,12 +4,10 @@ %define vstring Fedora %define mpms worker event -%define _default_patch_fuzz 2 - Summary: Apache HTTP Server Name: httpd -Version: 2.2.10 -Release: 2 +Version: 2.2.11 +Release: 3 URL: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz Source1: index.html @@ -31,11 +29,11 @@ Patch4: httpd-2.1.10-disablemods.patch Patch5: httpd-2.1.10-layout.patch # Features/functional changes Patch20: httpd-2.0.48-release.patch -Patch21: httpd-2.0.40-xfsz.patch +Patch21: httpd-2.2.11-xfsz.patch Patch22: httpd-2.1.10-pod.patch Patch23: httpd-2.0.45-export.patch -Patch24: httpd-2.0.48-corelimit.patch -Patch25: httpd-2.0.54-selinux.patch +Patch24: httpd-2.2.11-corelimit.patch +Patch25: httpd-2.2.11-selinux.patch Patch26: httpd-2.2.9-suenable.patch # Bug fixes Patch54: httpd-2.2.0-authnoprov.patch @@ -43,8 +41,8 @@ Patch55: httpd-2.2.4-oldflush.patch License: ASL 2.0 Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -BuildRequires: autoconf, perl, pkgconfig, findutils, ed -BuildRequires: db4-devel, expat-devel, zlib-devel, libselinux-devel +BuildRequires: autoconf, perl, pkgconfig, findutils +BuildRequires: zlib-devel, libselinux-devel BuildRequires: apr-devel >= 1.2.0, apr-util-devel >= 1.2.0, pcre-devel >= 5.0 Requires: initscripts >= 8.36, /etc/mime.types, system-logos >= 7.92.1-1 Obsoletes: httpd-suexec @@ -119,7 +117,7 @@ Security (TLS) protocols. %patch4 -p1 -b .disablemods %patch5 -p1 -b .layout -%patch21 -p0 -b .xfsz +%patch21 -p1 -b .xfsz %patch22 -p1 -b .pod %patch23 -p1 -b .export %patch24 -p1 -b .corelimit @@ -283,9 +281,10 @@ set -x ln -s ../../..%{_datadir}/pixmaps/poweredby.png \ $RPM_BUILD_ROOT%{contentdir}/icons/poweredby.png -# logs +# Set up /var directories rmdir $RPM_BUILD_ROOT%{_sysconfdir}/httpd/logs mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/httpd +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/httpd # symlinks for /etc/httpd ln -s ../..%{_localstatedir}/log/httpd $RPM_BUILD_ROOT/etc/httpd/logs @@ -308,7 +307,7 @@ sed -e "s|/usr/local/apache2/conf/httpd.conf|/etc/httpd/conf/httpd.conf|" \ -e "s|/usr/local/apache2/conf/magic|/etc/httpd/conf/magic|" \ -e "s|/usr/local/apache2/logs/error_log|/var/log/httpd/error_log|" \ -e "s|/usr/local/apache2/logs/access_log|/var/log/httpd/access_log|" \ - -e "s|/usr/local/apache2/logs/httpd.pid|/var/run/httpd.pid|" \ + -e "s|/usr/local/apache2/logs/httpd.pid|/var/run/httpd/httpd.pid|" \ -e "s|/usr/local/apache2|/etc/httpd|" < docs/man/httpd.8 \ > $RPM_BUILD_ROOT%{_mandir}/man8/httpd.8 @@ -445,6 +444,7 @@ rm -rf $RPM_BUILD_ROOT %config %{contentdir}/error/*.var %config %{contentdir}/error/include/*.html +%attr(0700,root,root) %dir %{_localstatedir}/run/httpd %attr(0700,root,root) %dir %{_localstatedir}/log/httpd %attr(0700,apache,apache) %dir %{_localstatedir}/lib/dav %attr(0700,apache,apache) %dir %{_localstatedir}/cache/mod_proxy @@ -482,6 +482,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/httpd/build/*.sh %changelog +* Thu Dec 18 2008 Joe Orton 2.2.11-3 +- update to 2.2.11 +- package new /var/run/httpd directory, and move default pidfile + location inside there + * Tue Oct 21 2008 Joe Orton 2.2.10-2 - update to 2.2.10 diff --git a/sources b/sources index 15b032c..35bdafe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f611aff3ddba114499e623a5259faa5c httpd-2.2.10.tar.gz +03e0a99a5de0f3f568a0087fb9993af9 httpd-2.2.11.tar.gz diff --git a/upstream b/upstream index 1433a6a..5d49569 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -httpd-2.2.10.tar.gz +httpd-2.2.11.tar.gz