diff options
-rw-r--r-- | httpd-2.4.1-layout.patch | 2 | ||||
-rw-r--r-- | httpd-2.4.2-iconlink.patch | 14 | ||||
-rw-r--r-- | httpd-2.4.2-icons.patch | 25 | ||||
-rw-r--r-- | httpd-2.4.2-r1332643+.patch (renamed from httpd-2.4.2-r1332643.patch) | 80 | ||||
-rw-r--r-- | httpd-2.4.2-r1346905.patch | 65 | ||||
-rw-r--r-- | httpd.service | 4 | ||||
-rw-r--r-- | httpd.spec | 55 | ||||
-rw-r--r-- | httpd.tmpfiles | 2 | ||||
-rwxr-xr-x | pullrev.sh | 2 | ||||
-rw-r--r-- | ssl.conf | 2 |
10 files changed, 179 insertions, 72 deletions
diff --git a/httpd-2.4.1-layout.patch b/httpd-2.4.1-layout.patch index b1dcf5c..57cf13b 100644 --- a/httpd-2.4.1-layout.patch +++ b/httpd-2.4.1-layout.patch @@ -23,7 +23,7 @@ + cgidir: /var/www/cgi-bin + includedir: ${prefix}/include/httpd + localstatedir: /var -+ runtimedir: ${localstatedir}/run/httpd ++ runtimedir: /run/httpd + logfiledir: ${localstatedir}/log/httpd + proxycachedir: ${localstatedir}/cache/httpd +</Layout> diff --git a/httpd-2.4.2-iconlink.patch b/httpd-2.4.2-iconlink.patch deleted file mode 100644 index 4ef8dd9..0000000 --- a/httpd-2.4.2-iconlink.patch +++ /dev/null @@ -1,14 +0,0 @@ - -Fix config for /icons/ dir to allow symlink to poweredby.png. - ---- httpd-2.4.2/docs/conf/extra/httpd-autoindex.conf.in.iconlink -+++ httpd-2.4.2/docs/conf/extra/httpd-autoindex.conf.in -@@ -21,7 +21,7 @@ IndexOptions FancyIndexing HTMLTable Ver - Alias /icons/ "@exp_iconsdir@/" - - <Directory "@exp_iconsdir@"> -- Options Indexes MultiViews -+ Options Indexes MultiViews FollowSymlinks - AllowOverride None - Require all granted - </Directory> diff --git a/httpd-2.4.2-icons.patch b/httpd-2.4.2-icons.patch new file mode 100644 index 0000000..9f26494 --- /dev/null +++ b/httpd-2.4.2-icons.patch @@ -0,0 +1,25 @@ + +- Fix config for /icons/ dir to allow symlink to poweredby.png. + +- Avoid using coredump GIF for a directory called "core" + +--- httpd-2.4.2/docs/conf/extra/httpd-autoindex.conf.in.icons ++++ httpd-2.4.2/docs/conf/extra/httpd-autoindex.conf.in +@@ -21,7 +21,7 @@ IndexOptions FancyIndexing HTMLTable Ver + Alias /icons/ "@exp_iconsdir@/" + + <Directory "@exp_iconsdir@"> +- Options Indexes MultiViews ++ Options Indexes MultiViews FollowSymlinks + AllowOverride None + Require all granted + </Directory> +@@ -53,7 +53,7 @@ AddIcon /icons/dvi.gif .dvi + AddIcon /icons/uuencoded.gif .uu + AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl + AddIcon /icons/tex.gif .tex +-AddIcon /icons/bomb.gif core ++AddIcon /icons/bomb.gif core. + + AddIcon /icons/back.gif .. + AddIcon /icons/hand.right.gif README diff --git a/httpd-2.4.2-r1332643.patch b/httpd-2.4.2-r1332643+.patch index c408d29..be9b984 100644 --- a/httpd-2.4.2-r1332643.patch +++ b/httpd-2.4.2-r1332643+.patch @@ -1,33 +1,14 @@ +# ./pullrev.sh 1332643 1345599 https://bugzilla.redhat.com//show_bug.cgi?id=809599 http://svn.apache.org/viewvc?view=revision&revision=1332643 ---- httpd-2.4.2/modules/ssl/ssl_private.h -+++ httpd-2.4.2/modules/ssl/ssl_private.h -@@ -139,6 +139,11 @@ - #define HAVE_FIPS - #endif - -+#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_NEXTPROTONEG) \ -+ && !defined(OPENSSL_NO_TLSEXT) -+#define HAVE_TLS_NPN -+#endif -+ - #if (OPENSSL_VERSION_NUMBER >= 0x10000000) - #define MODSSL_SSL_CIPHER_CONST const - #define MODSSL_SSL_METHOD_CONST const -@@ -811,6 +816,7 @@ - int ssl_callback_SessionTicket(SSL *, unsigned char *, unsigned char *, - EVP_CIPHER_CTX *, HMAC_CTX *, int); - #endif -+int ssl_callback_AdvertiseNextProtos(SSL *ssl, const unsigned char **data, unsigned int *len, void *arg); - - /** Session Cache Support */ - void ssl_scache_init(server_rec *, apr_pool_t *); ---- httpd-2.4.2/modules/ssl/mod_ssl.c +http://svn.apache.org/viewvc?view=revision&revision=1345599 + +--- httpd-2.4.2/modules/ssl/mod_ssl.c.r1332643+ +++ httpd-2.4.2/modules/ssl/mod_ssl.c -@@ -260,6 +260,18 @@ +@@ -260,6 +260,18 @@ static const command_rec ssl_config_cmds AP_END_CMD }; @@ -46,9 +27,9 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 /* * the various processing hooks */ ---- httpd-2.4.2/modules/ssl/mod_ssl.h +--- httpd-2.4.2/modules/ssl/mod_ssl.h.r1332643+ +++ httpd-2.4.2/modules/ssl/mod_ssl.h -@@ -63,5 +63,26 @@ +@@ -63,5 +63,26 @@ APR_DECLARE_OPTIONAL_FN(int, ssl_proxy_e APR_DECLARE_OPTIONAL_FN(int, ssl_engine_disable, (conn_rec *)); @@ -75,9 +56,9 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 + #endif /* __MOD_SSL_H__ */ /** @} */ ---- httpd-2.4.2/modules/ssl/ssl_engine_init.c +--- httpd-2.4.2/modules/ssl/ssl_engine_init.c.r1332643+ +++ httpd-2.4.2/modules/ssl/ssl_engine_init.c -@@ -681,6 +681,11 @@ +@@ -681,6 +681,11 @@ static void ssl_init_ctx_callbacks(serve #endif SSL_CTX_set_info_callback(ctx, ssl_callback_Info); @@ -89,7 +70,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 } static void ssl_init_ctx_verify(server_rec *s, ---- httpd-2.4.2/modules/ssl/ssl_engine_io.c +--- httpd-2.4.2/modules/ssl/ssl_engine_io.c.r1332643+ +++ httpd-2.4.2/modules/ssl/ssl_engine_io.c @@ -28,6 +28,7 @@ core keeps dumping.'' @@ -99,7 +80,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 #include "apr_date.h" /* _________________________________________________________________ -@@ -297,6 +298,7 @@ +@@ -297,6 +298,7 @@ typedef struct { apr_pool_t *pool; char buffer[AP_IOBUFSIZE]; ssl_filter_ctx_t *filter_ctx; @@ -107,7 +88,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 } bio_filter_in_ctx_t; /* -@@ -1374,6 +1376,27 @@ +@@ -1364,6 +1366,26 @@ static apr_status_t ssl_io_filter_input( APR_BRIGADE_INSERT_TAIL(bb, bucket); } @@ -123,9 +104,8 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 + SSL_get0_next_proto_negotiated( + inctx->ssl, &next_proto, &next_proto_len); + ap_log_cerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, f->c, -+ "SSL NPN negotiated protocol: '%s'", -+ apr_pstrmemdup(f->c->pool, (const char*)next_proto, -+ next_proto_len)); ++ APLOGNO(02306) "SSL NPN negotiated protocol: '%*s'", ++ next_proto_len, (const char*)next_proto); + modssl_run_npn_proto_negotiated_hook( + f->c, (const char*)next_proto, next_proto_len); + inctx->npn_finished = 1; @@ -135,7 +115,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 return APR_SUCCESS; } -@@ -1855,6 +1878,7 @@ +@@ -1845,6 +1867,7 @@ static void ssl_io_input_add_filter(ssl_ inctx->block = APR_BLOCK_READ; inctx->pool = c->pool; inctx->filter_ctx = filter_ctx; @@ -143,7 +123,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 } /* The request_rec pointer is passed in here only to ensure that the ---- httpd-2.4.2/modules/ssl/ssl_engine_kernel.c +--- httpd-2.4.2/modules/ssl/ssl_engine_kernel.c.r1332643+ +++ httpd-2.4.2/modules/ssl/ssl_engine_kernel.c @@ -29,6 +29,7 @@ time I was too famous.'' @@ -153,7 +133,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 #include "util_md5.h" static void ssl_configure_env(request_rec *r, SSLConnRec *sslconn); -@@ -2143,3 +2144,84 @@ +@@ -2164,3 +2165,86 @@ int ssl_callback_SessionTicket(SSL *ssl, return -1; } #endif @@ -202,7 +182,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 + /* If the protocol name is too long (the length must fit in one byte), + * then log an error and skip it. */ + if (length > 255) { -+ ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, ++ ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02307) + "SSL NPN protocol name too long (length=%u): %s", + length, string); + continue; @@ -226,6 +206,8 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 + for (i = 0; i < num_protos; ++i) { + const char *string = APR_ARRAY_IDX(protos, i, const char*); + apr_size_t length = strlen(string); ++ if (length > 255) ++ continue; + *start = (unsigned char)length; + ++start; + memcpy(start, string, length * sizeof(unsigned char)); @@ -238,3 +220,25 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643 + return SSL_TLSEXT_ERR_OK; +} +#endif +--- httpd-2.4.2/modules/ssl/ssl_private.h.r1332643+ ++++ httpd-2.4.2/modules/ssl/ssl_private.h +@@ -139,6 +139,11 @@ + #define HAVE_FIPS + #endif + ++#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_NEXTPROTONEG) \ ++ && !defined(OPENSSL_NO_TLSEXT) ++#define HAVE_TLS_NPN ++#endif ++ + #if (OPENSSL_VERSION_NUMBER >= 0x10000000) + #define MODSSL_SSL_CIPHER_CONST const + #define MODSSL_SSL_METHOD_CONST const +@@ -807,6 +812,7 @@ int ssl_callback_ServerNameIndi + int ssl_callback_SessionTicket(SSL *, unsigned char *, unsigned char *, + EVP_CIPHER_CTX *, HMAC_CTX *, int); + #endif ++int ssl_callback_AdvertiseNextProtos(SSL *ssl, const unsigned char **data, unsigned int *len, void *arg); + + /** Session Cache Support */ + void ssl_scache_init(server_rec *, apr_pool_t *); diff --git a/httpd-2.4.2-r1346905.patch b/httpd-2.4.2-r1346905.patch new file mode 100644 index 0000000..e94558e --- /dev/null +++ b/httpd-2.4.2-r1346905.patch @@ -0,0 +1,65 @@ +# ./pullrev.sh 1346905 + +https://bugzilla.redhat.com/show_bug.cgi?id=818684 + +http://svn.apache.org/viewvc?view=revision&revision=1346905 + +--- httpd-2.4.2/support/htdbm.c ++++ httpd-2.4.2/support/htdbm.c +@@ -288,6 +288,9 @@ + { + char cpw[MAX_STRING_LEN]; + char salt[9]; ++#if (!(defined(WIN32) || defined(NETWARE))) ++ char *cbuf; ++#endif + + switch (htdbm->alg) { + case ALG_APSHA: +@@ -315,7 +318,15 @@ + (void) srand((int) time((time_t *) NULL)); + to64(&salt[0], rand(), 8); + salt[8] = '\0'; +- apr_cpystrn(cpw, crypt(htdbm->userpass, salt), sizeof(cpw) - 1); ++ cbuf = crypt(htdbm->userpass, salt); ++ if (cbuf == NULL) { ++ char errbuf[128]; ++ ++ fprintf(stderr, "crypt() failed: %s\n", ++ apr_strerror(errno, errbuf, sizeof errbuf)); ++ exit(ERR_PWMISMATCH); ++ } ++ apr_cpystrn(cpw, cbuf, sizeof(cpw) - 1); + fprintf(stderr, "CRYPT is now deprecated, use MD5 instead!\n"); + #endif + default: +--- httpd-2.4.2/support/htpasswd.c ++++ httpd-2.4.2/support/htpasswd.c +@@ -174,6 +174,9 @@ + char pwv[MAX_STRING_LEN]; + char salt[9]; + apr_size_t bufsize; ++#if CRYPT_ALGO_SUPPORTED ++ char *cbuf; ++#endif + + if (passwd != NULL) { + pw = passwd; +@@ -226,7 +229,16 @@ + to64(&salt[0], rand(), 8); + salt[8] = '\0'; + +- apr_cpystrn(cpw, crypt(pw, salt), sizeof(cpw) - 1); ++ cbuf = crypt(pw, salt); ++ if (cbuf == NULL) { ++ char errbuf[128]; ++ ++ apr_snprintf(record, rlen-1, "crypt() failed: %s", ++ apr_strerror(errno, errbuf, sizeof errbuf)); ++ return ERR_PWMISMATCH; ++ } ++ ++ apr_cpystrn(cpw, cbuf, sizeof(cpw) - 1); + if (strlen(pw) > 8) { + char *truncpw = strdup(pw); + truncpw[8] = '\0'; diff --git a/httpd.service b/httpd.service index c1172b4..0e9f0c0 100644 --- a/httpd.service +++ b/httpd.service @@ -1,10 +1,10 @@ [Unit] Description=The Apache HTTP Server -After=syslog.target network.target remote-fs.target nss-lookup.target +After=network.target remote-fs.target nss-lookup.target [Service] Type=forking -PIDFile=/var/run/httpd/httpd.pid +PIDFile=/run/httpd/httpd.pid EnvironmentFile=/etc/sysconfig/httpd ExecStart=/usr/sbin/httpd $OPTIONS ExecReload=/usr/sbin/httpd $OPTIONS -k graceful @@ -8,7 +8,7 @@ Summary: Apache HTTP Server Name: httpd Version: 2.4.2 -Release: 12%{?dist} +Release: 18%{?dist} URL: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2 Source1: index.html @@ -44,12 +44,13 @@ Patch23: httpd-2.4.1-export.patch Patch24: httpd-2.4.1-corelimit.patch Patch25: httpd-2.4.1-selinux.patch Patch26: httpd-2.4.2-r1337344+.patch -Patch27: httpd-2.4.2-iconlink.patch +Patch27: httpd-2.4.2-icons.patch # Bug fixes Patch40: httpd-2.4.2-restart.patch Patch41: httpd-2.4.2-r1327036+.patch Patch42: httpd-2.4.2-r1326980+.patch -Patch43: httpd-2.4.2-r1332643.patch +Patch43: httpd-2.4.2-r1332643+.patch +Patch44: httpd-2.4.2-r1346905.patch License: ASL 2.0 Group: System Environment/Daemons BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -155,12 +156,13 @@ authentication to the Apache HTTP Server. %patch24 -p1 -b .corelimit %patch25 -p1 -b .selinux %patch26 -p1 -b .r1337344+ -%patch27 -p1 -b .iconlink +%patch27 -p1 -b .icons %patch40 -p1 -b .restart %patch41 -p1 -b .r1327036+ %patch42 -p1 -b .r1326980+ -%patch43 -p1 -b .r1332643 +%patch43 -p1 -b .r1332643+ +%patch44 -p1 -b .r1346905 # Patch in vendor/release string sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1 @@ -240,9 +242,9 @@ rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install # Install systemd service files -mkdir -p $RPM_BUILD_ROOT/lib/systemd/system +mkdir -p $RPM_BUILD_ROOT%{_unitdir} install -p -m 644 $RPM_SOURCE_DIR/httpd.service \ - $RPM_BUILD_ROOT/lib/systemd/system/httpd.service + $RPM_BUILD_ROOT%{_unitdir}/httpd.service # install conf file/directory mkdir $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d \ @@ -279,9 +281,9 @@ install -m 644 -p $RPM_SOURCE_DIR/httpd.sysconf \ $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/httpd # tmpfiles.d configuration -mkdir $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d install -m 644 -p $RPM_SOURCE_DIR/httpd.tmpfiles \ - $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/httpd.conf + $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/httpd.conf # for holding mod_dav lock database mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/dav @@ -334,7 +336,7 @@ ln -s ../../pixmaps/poweredby.png \ # symlinks for /etc/httpd ln -s ../..%{_localstatedir}/log/httpd $RPM_BUILD_ROOT/etc/httpd/logs -ln -s ../..%{_localstatedir}/run/httpd $RPM_BUILD_ROOT/etc/httpd/run +ln -s /run/httpd $RPM_BUILD_ROOT/etc/httpd/run ln -s ../..%{_libdir}/httpd/modules $RPM_BUILD_ROOT/etc/httpd/modules # install http-ssl-pass-dialog @@ -353,7 +355,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/httpd.pid|" \ + -e "s|/usr/local/apache2/logs/httpd.pid|/run/httpd/httpd.pid|" \ -e "s|/usr/local/apache2|/etc/httpd|" < docs/man/httpd.8 \ > $RPM_BUILD_ROOT%{_mandir}/man8/httpd.8 @@ -483,7 +485,7 @@ rm -rf $RPM_BUILD_ROOT %exclude %{_sysconfdir}/httpd/conf.modules.d/01-ldap.conf %config(noreplace) %{_sysconfdir}/sysconfig/httpd -%config %{_sysconfdir}/tmpfiles.d/httpd.conf +%{_prefix}/lib/tmpfiles.d/httpd.conf %{_sbindir}/ht* %{_sbindir}/fcgistarter @@ -513,7 +515,7 @@ rm -rf $RPM_BUILD_ROOT %dir %{docroot}/cgi-bin %dir %{docroot}/html -%attr(0710,root,apache) %dir %{_localstatedir}/run/httpd +%attr(0710,root,apache) %dir /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/httpd @@ -521,7 +523,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man8/* -/lib/systemd/system/*.service +%{_unitdir}/*.service %files tools %defattr(-,root,root) @@ -565,6 +567,31 @@ rm -rf $RPM_BUILD_ROOT %{_sysconfdir}/rpm/macros.httpd %changelog +* Sat Jun 09 2012 Remi Collet <RPMS@FamilleCollet.com> - 2.4.2-18 +- sync with rawhide, rebuild for remi repo + +* Fri Jun 8 2012 Joe Orton <jorton@redhat.com> - 2.4.2-18 +- avoid use of "core" GIF for a "core" directory (#168776) +- drop use of "syslog.target" in systemd unit file + +* Thu Jun 7 2012 Joe Orton <jorton@redhat.com> - 2.4.2-17 +- use _unitdir for systemd unit file +- use /run in unit file, ssl.conf + +* Thu Jun 7 2012 Joe Orton <jorton@redhat.com> - 2.4.2-16 +- mod_ssl: fix NPN patch merge + +* Wed Jun 6 2012 Joe Orton <jorton@redhat.com> - 2.4.2-15 +- move tmpfiles.d fragment into /usr/lib per new guidelines +- package /run/httpd not /var/run/httpd +- set runtimedir to /run/httpd likewise + +* Wed Jun 6 2012 Joe Orton <jorton@redhat.com> - 2.4.2-14 +- fix htdbm/htpasswd crash on crypt() failure (#818684) + +* Wed Jun 6 2012 Joe Orton <jorton@redhat.com> - 2.4.2-13 +- pull fix for NPN patch from upstream (r1345599) + * Sat Jun 02 2012 Remi Collet <RPMS@FamilleCollet.com> - 2.4.2-12 - sync with rawhide, rebuild for remi repo diff --git a/httpd.tmpfiles b/httpd.tmpfiles index 0cad373..49be6b8 100644 --- a/httpd.tmpfiles +++ b/httpd.tmpfiles @@ -1 +1 @@ -d /var/run/httpd 710 root apache +d /run/httpd 710 root apache @@ -34,7 +34,7 @@ prev=/dev/null for r in $*; do echo "+ fetching ${r}" this=`mktemp /tmp/pullrevXXXXXX` - svn diff -c ${r} ${repo} | filterdiff --remove-timestamps -x 'CHANGES' \ + svn diff -c ${r} ${repo} | filterdiff --remove-timestamps -x 'CHANGES' -x 'next-number' \ --addprefix="${prefix}/" > ${this} next=`mktemp /tmp/pullrevXXXXXX` combinediff --quiet ${prev} ${this} > ${next} @@ -20,7 +20,7 @@ SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog # Inter-Process Session Cache: # Configure the SSL Session Cache: First the mechanism # to use and second the expiring timeout (in seconds). -SSLSessionCache shmcb:/var/run/httpd/sslcache(512000) +SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300 # Pseudo Random Number Generator (PRNG): |