From 78b00cdebb17d1fe5ed96d8b31a3bf00823b0c37 Mon Sep 17 00:00:00 2001 From: jorton Date: Mon, 17 Sep 2007 19:02:35 +0000 Subject: - add fix for SSL library string regression (PR 43334) - use powered-by logo from system-logos (#250676) - preserve timestamps for installed config files --- httpd-2.2.6-ssllibver.patch | 95 ++++++++++++++++++++++++++++++++++++++++++++ httpd.conf | 2 +- httpd.spec | 29 +++++++++----- index.html | 2 +- powered_by_fedora.png | Bin 3034 -> 0 bytes 5 files changed, 115 insertions(+), 13 deletions(-) create mode 100644 httpd-2.2.6-ssllibver.patch delete mode 100644 powered_by_fedora.png diff --git a/httpd-2.2.6-ssllibver.patch b/httpd-2.2.6-ssllibver.patch new file mode 100644 index 0000000..c46835d --- /dev/null +++ b/httpd-2.2.6-ssllibver.patch @@ -0,0 +1,95 @@ +--- httpd-2.2.6/modules/ssl/ssl_private.h.ssllibver ++++ httpd-2.2.6/modules/ssl/ssl_private.h +@@ -648,7 +648,7 @@ void ssl_die(void); + void ssl_log_ssl_error(const char *, int, int, server_rec *); + + /** Variables */ +-void ssl_var_register(void); ++void ssl_var_register(apr_pool_t *p); + char *ssl_var_lookup(apr_pool_t *, server_rec *, conn_rec *, request_rec *, char *); + const char *ssl_ext_lookup(apr_pool_t *p, conn_rec *c, int peer, const char *oid); + +--- httpd-2.2.6/modules/ssl/mod_ssl.c.ssllibver ++++ httpd-2.2.6/modules/ssl/mod_ssl.c +@@ -500,7 +500,7 @@ static void ssl_register_hooks(apr_pool_ + ap_hook_insert_filter (ssl_hook_Insert_Filter, NULL,NULL, APR_HOOK_MIDDLE); + /* ap_hook_handler (ssl_hook_Upgrade, NULL,NULL, APR_HOOK_MIDDLE); */ + +- ssl_var_register(); ++ ssl_var_register(p); + + APR_REGISTER_OPTIONAL_FN(ssl_proxy_enable); + APR_REGISTER_OPTIONAL_FN(ssl_engine_disable); +--- httpd-2.2.6/modules/ssl/ssl_engine_vars.c.ssllibver ++++ httpd-2.2.6/modules/ssl/ssl_engine_vars.c +@@ -58,12 +58,30 @@ static int ssl_is_https(conn_rec *c) + return sslconn && sslconn->ssl; + } + +-void ssl_var_register(void) ++static const char var_interface[] = "mod_ssl/" MOD_SSL_VERSION; ++static char var_library_interface[] = SSL_LIBRARY_TEXT; ++static char *var_library = NULL; ++ ++void ssl_var_register(apr_pool_t *p) + { + APR_REGISTER_OPTIONAL_FN(ssl_is_https); + APR_REGISTER_OPTIONAL_FN(ssl_var_lookup); + APR_REGISTER_OPTIONAL_FN(ssl_ext_lookup); +- return; ++ ++ /* Perform once-per-process library version determination: */ ++ var_library = apr_pstrdup(p, SSL_LIBRARY_DYNTEXT); ++ ++ if ((cp = strchr(var_library, ' ')) != NULL) { ++ *cp = '/'; ++ if ((cp2 = strchr(cp, ' ')) != NULL) ++ *cp2 = NUL; ++ } ++ ++ if ((cp = strchr(var_library_interface, ' ')) != NULL) { ++ *cp = '/'; ++ if ((cp2 = strchr(cp, ' ')) != NULL) ++ *cp2 = NUL; ++ } + } + + /* This function must remain safe to use for a non-SSL connection. */ +@@ -635,34 +653,14 @@ static void ssl_var_lookup_ssl_cipher_bi + + static char *ssl_var_lookup_ssl_version(apr_pool_t *p, char *var) + { +- static char interface[] = "mod_ssl/" MOD_SSL_VERSION; +- static char library_interface[] = SSL_LIBRARY_TEXT; +- static char *library = NULL; +- char *result; +- +- if (!library) { +- char *cp, *cp2; +- library = apr_pstrdup(p, SSL_LIBRARY_DYNTEXT); +- if ((cp = strchr(library, ' ')) != NULL) { +- *cp = '/'; +- if ((cp2 = strchr(cp, ' ')) != NULL) +- *cp2 = NUL; +- } +- if ((cp = strchr(library_interface, ' ')) != NULL) { +- *cp = '/'; +- if ((cp2 = strchr(cp, ' ')) != NULL) +- *cp2 = NUL; +- } +- } +- + if (strEQ(var, "INTERFACE")) { +- result = apr_pstrdup(p, interface); ++ result = apr_pstrdup(p, var_interface); + } + else if (strEQ(var, "LIBRARY_INTERFACE")) { +- result = apr_pstrdup(p, library_interface); ++ result = apr_pstrdup(p, var_library_interface); + } + else if (strEQ(var, "LIBRARY")) { +- result = apr_pstrdup(p, library); ++ result = apr_pstrdup(p, var_library); + } + else { + result = NULL; diff --git a/httpd.conf b/httpd.conf index 2ab3f8a..a057e7b 100644 --- a/httpd.conf +++ b/httpd.conf @@ -538,7 +538,7 @@ ServerSignature On Alias /icons/ "/var/www/icons/" - Options Indexes MultiViews + Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all diff --git a/httpd.spec b/httpd.spec index 48a1f68..4caa34e 100644 --- a/httpd.spec +++ b/httpd.spec @@ -6,14 +6,13 @@ Summary: Apache HTTP Server Name: httpd Version: 2.2.6 -Release: 2 +Release: 3 URL: http://httpd.apache.org/ Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.gz Source1: index.html Source3: httpd.logrotate Source4: httpd.init Source5: httpd.sysconf -Source7: powered_by_fedora.png Source10: httpd.conf Source11: ssl.conf Source12: welcome.conf @@ -37,13 +36,14 @@ Patch25: httpd-2.0.54-selinux.patch # Bug fixes Patch54: httpd-2.2.0-authnoprov.patch Patch55: httpd-2.2.4-oldflush.patch +Patch56: httpd-2.2.6-ssllibver.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: apr-devel >= 1.2.0, apr-util-devel >= 1.2.0, pcre-devel >= 5.0 -Requires: initscripts >= 8.36, /etc/mime.types +Requires: initscripts >= 8.36, /etc/mime.types, system-logos >= 7.92.1-1 Obsoletes: httpd-suexec Requires(pre): /usr/sbin/useradd Requires(post): chkconfig @@ -124,6 +124,7 @@ Security (TLS) protocols. %patch54 -p1 -b .authnoprov %patch55 -p1 -b .oldflush +%patch56 -p1 -b .ssllibver # Patch in vendor/release string sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1 @@ -226,15 +227,16 @@ mkdir $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d install -m 644 $RPM_SOURCE_DIR/README.confd \ $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/README for f in ssl.conf welcome.conf manual.conf proxy_ajp.conf; do - install -m 644 $RPM_SOURCE_DIR/$f $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/$f + install -m 644 -p $RPM_SOURCE_DIR/$f \ + $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/$f done rm $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf/*.conf -install -m 644 $RPM_SOURCE_DIR/httpd.conf \ +install -m -p 644 $RPM_SOURCE_DIR/httpd.conf \ $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf/httpd.conf mkdir $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig -install -m 644 $RPM_SOURCE_DIR/httpd.sysconf \ +install -m 644 -p $RPM_SOURCE_DIR/httpd.sysconf \ $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/httpd # for holding mod_dav lock database @@ -256,8 +258,7 @@ echo %{mmn} > $RPM_BUILD_ROOT%{_includedir}/httpd/.mmn # docroot mkdir $RPM_BUILD_ROOT%{contentdir}/html -install -m 644 $RPM_SOURCE_DIR/index.html \ - $RPM_BUILD_ROOT%{contentdir}/error/noindex.html +install -m 644 noindex.html $RPM_BUILD_ROOT%{contentdir}/error/noindex.html # remove manual sources find $RPM_BUILD_ROOT%{contentdir}/manual \( \ @@ -274,8 +275,9 @@ for f in `find $RPM_BUILD_ROOT%{contentdir}/manual -name \*.html -type f`; do done set -x -install -m 644 $RPM_SOURCE_DIR/powered_by_fedora.png \ - $RPM_BUILD_ROOT%{contentdir}/icons +# Symlink for the powered-by-$DISTRO image: +ln -s ../../..%{_datadir}/pixmaps/poweredby.png \ + $RPM_BUILD_ROOT%{contentdir}/icons/poweredby.png # logs rmdir $RPM_BUILD_ROOT%{_sysconfdir}/httpd/logs @@ -293,7 +295,7 @@ install -m755 $RPM_SOURCE_DIR/httpd.init \ # install log rotation stuff mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d -install -m644 $RPM_SOURCE_DIR/httpd.logrotate \ +install -m 644 -p $RPM_SOURCE_DIR/httpd.logrotate \ $RPM_BUILD_ROOT/etc/logrotate.d/httpd # fix man page paths @@ -476,6 +478,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/httpd/build/*.sh %changelog +* Mon Sep 17 2007 Joe Orton 2.2.6-3 +- add fix for SSL library string regression (PR 43334) +- use powered-by logo from system-logos (#250676) +- preserve timestamps for installed config files + * Fri Sep 7 2007 Joe Orton 2.2.6-2 - update to 2.2.6 (#250757, #282761) diff --git a/index.html b/index.html index d8fddc0..45e60a4 100644 --- a/index.html +++ b/index.html @@ -115,7 +115,7 @@

You are free to use the images below on Apache and Fedora powered HTTP servers. Thanks for using Apache and Fedora!

-

[ Powered by Apache ] [ Powered by Fedora ]

+

[ Powered by Apache ] [ Powered by Fedora ]

diff --git a/powered_by_fedora.png b/powered_by_fedora.png deleted file mode 100644 index 0aa96cf..0000000 Binary files a/powered_by_fedora.png and /dev/null differ -- cgit