SHA256
1
0
forked from pool/apache2

Accepting request 449698 from Apache

- Added new HTTP2 option to sysconfig to ease enabling http2
- Added new protocols.conf which is included globally
- Enable http2 also for Leap 42.2+ and SLE12_SP2+

Sorry for the shifted lines: OBS/OSC or whatever always tends to shift lines around in the spec-file and to shorten lines like "%doc %{_mandir}/man..." to "%{_mandir}/man..."

The spec's diff seems to be incomplete in the GUI (forwarded request 449682 from weberho)

OBS-URL: https://build.opensuse.org/request/show/449698
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/apache2?expand=0&rev=128
This commit is contained in:
Dominique Leuenberger 2017-01-15 10:02:56 +00:00 committed by Git OBS Bridge
commit 7f3750c7b3
13 changed files with 1752 additions and 144 deletions

2
.gitattributes vendored
View File

@ -21,5 +21,3 @@
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
## Specific LFS patterns
60C5442D.key filter=lfs diff=lfs merge=lfs -text

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d0f272a697be2b07f52f676817d8a07fb1715d0a1402ed4cff60cb3bb1ba907
size 64309

View File

@ -37,6 +37,7 @@
# |-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration
# |-- errors.conf . . . . . . . . . . . . . customize error responses
# |-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server _and all_ virtual hosts
# |-- protocols.conf . . . . . . . . . . . Protocol settings that applies to default server _and all_ virtual hosts
# |
# |-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests
# | |--mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)
@ -76,6 +77,7 @@
# |-- mod_usertrack.conf
# |-- server-tuning.conf
# |-- ssl-global.conf
# |-- protocols.conf
# |-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)
# |-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates
# |-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests
@ -161,6 +163,10 @@ Include /etc/apache2/errors.conf
# any virtual host
Include /etc/apache2/ssl-global.conf
# global (server-wide) protocol configuration, that is not specific
# to any virtual host
Include /etc/apache2/protocols.conf
# forbid access to the entire filesystem by default
<Directory />
Options None

22
apache2-protocols.conf Normal file
View File

@ -0,0 +1,22 @@
##
## Protocol Global Context
##
## All Protocol related configuration in this context applies both to
## the main server and all virtual hosts.
##
# These are the configuration directives to instruct the server how to
# serve pages over an http2 connection. For detailing information about these
# directives see <URL:https://httpd.apache.org/docs/2.4/mod/mod_http2.html>
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
# This global SSL configuration is ignored if "HTTP2" is not defined.
<IfDefine HTTP2>
<IfModule mod_http2.c>
Protocols h2 h2c http/1.1
</IfModule>
</IfDefine>

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Tue Jan 10 22:00:14 UTC 2017 - jweberhofer@weberhofer.at
- Added new HTTP2 option to sysconfig to ease enabling http2
- Added new protocols.conf which is included globally
- Enable http2 also for Leap 42.2+ and SLE12_SP2+
-------------------------------------------------------------------
Mon Jan 2 09:50:00 UTC 2017 - pgajdos@suse.com
- update to 2.4.25: fixed several security issues (CVE-2016-8740,
CVE-2016-5387, CVE-2016-2161, CVE-2016-0736, CVE-2016-8743), many
fixes and improvements of mod_http2 and other modules; see CHANGES
for full change log
- verify tarball: added httpd*.bz2.asc, apache2.keyring and remove
60C5442D.key
-------------------------------------------------------------------
Fri Dec 9 12:21:27 UTC 2016 - pgajdos@suse.com

1502
apache2.keyring Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#
# spec file for package apache2
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -42,6 +42,9 @@
%define platform_string Linux/SUSE
%define httpduser wwwrun
%define httpdgroup www
#for some reason the parser barfs if not conditional
%{?requires_ge:%requires_ge libapr1}
%{?requires_ge:%requires_ge libapr-util1}
%if 0%{?suse_version} >= 1220
%define runtimedir /run
%define mods_static unixd systemd
@ -49,18 +52,18 @@
%define runtimedir %{_localstatedir}/run
%define mods_static unixd
%endif
Name: apache2
Version: 2.4.23
Version: 2.4.25
Release: 0
Summary: The Apache Web Server Version 2.4
License: Apache-2.0
Group: Productivity/Networking/Web/Servers
Url: http://httpd.apache.org/
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
Source2: apache2.keyring
# Add file to take mtime from it in prep section
Source1: apache2.changes
Source6: 60C5442D.key
Source3: apache2.changes
Source10: SUSE-NOTICE
Source11: rc.%{name}
Source13: sysconfig.%{name}
@ -100,6 +103,7 @@ Source115: apache2-mod_reqtimeout.conf
Source116: apache2-loadmodule.conf
Source117: apache2-global.conf
Source118: apache2-mod_cgid-timeout.conf
Source119: apache2-protocols.conf
Source130: apache2-vhost.template
Source131: apache2-vhost-ssl.template
Source140: apache2-check_forensic
@ -139,18 +143,21 @@ BuildRequires: lua-devel
BuildRequires: openldap2-devel
BuildRequires: openssl-devel >= 0.9.8a
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: xz
BuildRequires: zlib-devel
Requires: %{_sysconfdir}/mime.types
Requires: %{name}-MPM
Suggests: apache2-%{default_mpm}
Requires: logrotate
Requires(post): %insserv_prereq %fillup_prereq permissions pwdutils
Requires(post): %insserv_prereq %fillup_prereq
Requires(post): %{name}-utils
Requires(post): fileutils
Requires(post): grep
Requires(post): permissions
Requires(post): pwdutils
Requires(post): sed
Requires(post): textutils
Suggests: apache2-%{default_mpm}
Provides: %{apache_mmn}
Provides: %{name}-mod_macro = %{version}
Provides: http_daemon
@ -162,17 +169,14 @@ Provides: apache = %{version}
Obsoletes: apache < 1.3.29
Obsoletes: mod_ssl < 2.8.16
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#for some reason the parser barfs if not conditional
%{?requires_ge:%requires_ge libapr1}
%{?requires_ge:%requires_ge libapr-util1}
%{?systemd_requires}
%if 0%{?suse_version} >= 1210
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd)
%endif
%if 0%{?suse_version} > 1320
BuildRequires: pkgconfig(libnghttp2) >= 1.0.0
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200
BuildRequires: pkgconfig(libnghttp2) >= 1.2.1
%endif
%description
@ -191,9 +195,9 @@ http://httpd.apache.org/docs-2.4/upgrading.html.
Summary: Apache 2 worker MPM (Multi-Processing Module)
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}
Provides: %{name}-MPM
# the post scriptlet sources /usr/share/apache2/script-helpers
Requires(post): %{name} = %{version}
Provides: %{name}-MPM
%endif
%if %prefork
@ -201,10 +205,10 @@ Requires(post): %{name} = %{version}
Summary: Apache 2 "prefork" MPM (Multi-Processing Module)
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}
Provides: %{name}-MPM
Provides: apache:%{_sbindir}/httpd
# the post scriptlet sources /usr/share/apache2/script-helpers
Requires(post): %{name} = %{version}
Provides: %{name}-MPM
Provides: apache:%{_sbindir}/httpd
%endif
%if %event
@ -212,9 +216,9 @@ Requires(post): %{name} = %{version}
Summary: Apache 2 event MPM (Multi-Processing Module)
Group: Productivity/Networking/Web/Servers
Requires: %{name} = %{version}
Provides: %{name}-MPM
# the post scriptlet sources /usr/share/apache2/script-helpers
Requires(post): %{name} = %{version}
Provides: %{name}-MPM
%endif
%if %worker
@ -306,13 +310,13 @@ to administrators of web servers in general.
%patch68 -p1
%patch69
%patch70 -p1
# Systemd module enabling patch
%if 0%{?suse_version} >= 1210
# Systemd module enabling patch
%if 0%{?suse_version} >= 1210
%patch109 -p1
%endif
%patch111 -p1
%patch114 -p1
%patch115
%patch115 -p1
cat $RPM_SOURCE_DIR/SUSE-NOTICE >> NOTICE
# install READMEs
a=$(basename %{SOURCE22})
@ -330,7 +334,7 @@ cp %{SOURCE26} ./${d##%{name}-}
sed 's,(" PLATFORM "),(%{platform_string}),' server/core.c > tmp_file && mv tmp_file server/core.c
sed 's/public_html/%{userdir}/g' docs/conf/extra/httpd-userdir.conf.in > tmp_file && mv tmp_file docs/conf/extra/httpd-userdir.conf.in
# Use mtime of .changes for build time
CHANGES=`stat --format="%%y" %{SOURCE1}`
CHANGES=`stat --format="%%y" %{SOURCE3}`
sed -i -e "s/__DATE__ \" \" __TIME__;/\"$CHANGES\";/" server/buildmark.c
#
# now configure Apache
@ -577,7 +581,8 @@ for i in default-server.conf \
server-tuning.conf \
mod_reqtimeout.conf \
mod_cgid-timeout.conf \
ssl-global.conf
ssl-global.conf \
protocols.conf
do
install -m 644 $RPM_SOURCE_DIR/apache2-$i %{buildroot}/%{sysconfdir}/$i
done
@ -721,10 +726,10 @@ rm -r %{buildroot}/%{sysconfdir}/extra # it is already in the documentation di
# and validate httpd.conf file
#
pushd %{buildroot}/%{sysconfdir}
for i in *.conf; do
for i in *.conf; do
# loadmodule.conf.test will be created later
[ "$i" == loadmodule.conf ] && continue
cp $i $i.test;
[ "$i" == loadmodule.conf ] && continue
cp $i $i.test;
done
sed -e 's+%{_libdir}+'%{buildroot}'%{_libdir}+' \
-e 's+%{_localstatedir}/run+'%{buildroot}'%{_localstatedir}/run+' \
@ -759,13 +764,13 @@ mv %{buildroot}/%{sysconfdir}/original .
%defattr(-,root,root)
%doc INSTALL READM* LICENSE ABOUT_APACHE CHANGES
%doc support/SHA1
%doc %{_mandir}/man?/apachectl.?.*
%doc %{_mandir}/man?/apache2ctl.?.*
%doc %{_mandir}/man?/htcacheclean.?.*
%doc %{_mandir}/man?/httpd.?.*
%doc %{_mandir}/man?/httpd2.?.*
%doc %{_mandir}/man?/apxs.?.*
%doc %{_mandir}/man?/apxs2.?.*
%{_mandir}/man?/apachectl.?.*
%{_mandir}/man?/apache2ctl.?.*
%{_mandir}/man?/htcacheclean.?.*
%{_mandir}/man?/httpd.?.*
%{_mandir}/man?/httpd2.?.*
%{_mandir}/man?/apxs.?.*
%{_mandir}/man?/apxs2.?.*
%doc robots.txt
%doc printenv
%doc test-cgi
@ -882,7 +887,7 @@ mv %{buildroot}/%{sysconfdir}/original .
%{_libdir}/%{name}-prefork/mod_filter.so
%{_libdir}/%{name}-prefork/mod_headers.so
%{_libdir}/%{name}-prefork/mod_heartmonitor.so
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200
%{_libdir}/%{name}-prefork/mod_http2.so
%endif
%{_libdir}/%{name}-prefork/mod_imagemap.so
@ -1007,7 +1012,7 @@ mv %{buildroot}/%{sysconfdir}/original .
%{_libdir}/%{name}-worker/mod_filter.so
%{_libdir}/%{name}-worker/mod_headers.so
%{_libdir}/%{name}-worker/mod_heartmonitor.so
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200
%{_libdir}/%{name}-worker/mod_http2.so
%endif
%{_libdir}/%{name}-worker/mod_imagemap.so
@ -1131,7 +1136,7 @@ mv %{buildroot}/%{sysconfdir}/original .
%{_libdir}/%{name}-event/mod_file_cache.so
%{_libdir}/%{name}-event/mod_filter.so
%{_libdir}/%{name}-event/mod_headers.so
%if 0%{?suse_version} > 1320
%if 0%{?suse_version} > 1320 || 0%{?sle_version} >= 120200
%{_libdir}/%{name}-event/mod_http2.so
%endif
%{_libdir}/%{name}-event/mod_heartmonitor.so
@ -1225,23 +1230,23 @@ mv %{buildroot}/%{sysconfdir}/original .
%files utils
%defattr(-,root,root)
%doc %{_mandir}/man?/ab.?.*
%doc %{_mandir}/man?/ab2.?.*
%doc %{_mandir}/man?/dbmmanage.?.*
%doc %{_mandir}/man?/dbmmanage2.?.*
%doc %{_mandir}/man?/htdbm.?.*
%doc %{_mandir}/man?/htdbm2.?.*
%doc %{_mandir}/man?/htdigest.?.*
%doc %{_mandir}/man?/htdigest2.?.*
%doc %{_mandir}/man?/htpasswd.?.*
%doc %{_mandir}/man?/htpasswd2.?.*
%doc %{_mandir}/man?/httxt2dbm.?.*
%doc %{_mandir}/man?/logresolve.?.*
%doc %{_mandir}/man?/logresolve2.?.*
%doc %{_mandir}/man?/rotatelogs.?.*
%doc %{_mandir}/man?/rotatelogs2.?.*
%doc %{_mandir}/man?/suexec.?.*
%doc %{_mandir}/man?/suexec2.?.*
%{_mandir}/man?/ab.?.*
%{_mandir}/man?/ab2.?.*
%{_mandir}/man?/dbmmanage.?.*
%{_mandir}/man?/dbmmanage2.?.*
%{_mandir}/man?/htdbm.?.*
%{_mandir}/man?/htdbm2.?.*
%{_mandir}/man?/htdigest.?.*
%{_mandir}/man?/htdigest2.?.*
%{_mandir}/man?/htpasswd.?.*
%{_mandir}/man?/htpasswd2.?.*
%{_mandir}/man?/httxt2dbm.?.*
%{_mandir}/man?/logresolve.?.*
%{_mandir}/man?/logresolve2.?.*
%{_mandir}/man?/rotatelogs.?.*
%{_mandir}/man?/rotatelogs2.?.*
%{_mandir}/man?/suexec.?.*
%{_mandir}/man?/suexec2.?.*
%{_sbindir}/fcgistarter
%{_mandir}/man8/fcgistarter.8.*
%{_bindir}/check_forensic
@ -1272,26 +1277,29 @@ mv %{buildroot}/%{sysconfdir}/original .
%if %{prefork}
#
%post prefork
# install /usr/sbin/httpd link
if [ -f /usr/share/apache2/script-helpers ]; then
# it might happen that apache2 including
# /usr/share/apache2/script-helpers is not installed
if [ -f %{_datadir}/apache2/script-helpers ]; then
# it might happen that apache2 including
# %{_datadir}/apache2/script-helpers is not installed
# yet even if apache2-<MPM> has Requires(post): apache2
# because of circular dependency between apache2
# and apache2-MPM
. /usr/share/apache2/script-helpers
. %{_datadir}/apache2/script-helpers
find_mpm
ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE
fi
exit 0
#
%postun prefork
if [ $1 -eq 1 ]; then
%apache_request_restart
fi
exit 0
#
%posttrans prefork
%apache_restart_if_needed
exit 0
@ -1301,24 +1309,26 @@ exit 0
%if %{worker}
%post worker
# install /usr/sbin/httpd link
if [ -f /usr/share/apache2/script-helpers ]; then
# it might happen that apache2 including
# /usr/share/apache2/script-helpers is not installed
if [ -f %{_datadir}/apache2/script-helpers ]; then
# it might happen that apache2 including
# %{_datadir}/apache2/script-helpers is not installed
# yet even if apache2-<MPM> has Requires(post): apache2
# because of circular dependency between apache2
# and apache2-MPM
. /usr/share/apache2/script-helpers
. %{_datadir}/apache2/script-helpers
find_mpm
ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE
fi
exit 0
#
%postun worker
if [ $1 -eq 1 ]; then
%apache_request_restart
fi
exit 0
#
%posttrans worker
%apache_restart_if_needed
exit 0
@ -1328,24 +1338,26 @@ exit 0
%if %{event}
%post event
# install /usr/sbin/httpd link
if [ -f /usr/share/apache2/script-helpers ]; then
# it might happen that apache2 including
# /usr/share/apache2/script-helpers is not installed
if [ -f %{_datadir}/apache2/script-helpers ]; then
# it might happen that apache2 including
# %{_datadir}/apache2/script-helpers is not installed
# yet even if apache2-<MPM> has Requires(post): apache2
# because of circular dependency between apache2
# and apache2-MPM
. /usr/share/apache2/script-helpers
. %{_datadir}/apache2/script-helpers
find_mpm
ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE
fi
exit 0
#
%postun event
if [ $1 -eq 1 ]; then
%apache_request_restart
fi
exit 0
#
%posttrans event
%apache_restart_if_needed
exit 0
@ -1383,7 +1395,7 @@ fi
%if 0%{?suse_version} <= 1130
%run_permissions
%else
%set_permissions %{_sbindir}/suexec || echo "Please check /etc/permissions.local for settings of /usr/sbin/suexec2 ."
%set_permissions %{_sbindir}/suexec || echo "Please check %{_sysconfdir}/permissions.local for settings of %{_sbindir}/suexec2 ."
%endif
# wwwadmin group existed in past remove after openSUSE-13.2 out of support scope
if grep -q "^wwwadmin:" %{_sysconfdir}/group; then
@ -1399,7 +1411,7 @@ fi
%endif
# install /usr/bin/httpd link (the code here is
# needed when apache2 was installed after apache2-<MPM>)
. /usr/share/apache2/script-helpers
. %{_datadir}/apache2/script-helpers
find_mpm
if [ -n "$HTTPD_MPM" ]; then
ln -sf $HTTPD_SBIN_BASE-$HTTPD_MPM $HTTPD_SBIN_BASE
@ -1409,6 +1421,7 @@ exit 0
%posttrans
%{_datadir}/%{name}/apache-22-24-upgrade
%verifyscript
%verify_permissions -e %{_sbindir}/suexec
%apache_restart_if_needed

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58
size 6351875

3
httpd-2.4.25.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f87ec2df1c9fee3e6bfde3c8b855a3ddb7ca1ab20ca877bd0e2b6bf3f05c80b2
size 6398218

16
httpd-2.4.25.tar.bz2.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIVAwUAWFQxfDTqduZ5FIWoAQq+zA/8Djunr33BoiQkAkm5p2XQTDrHniieR+SR
Sz4fD49bCVs64JDiheDWgaGP1qmRQtxb4IxBwjrwduZJgwTx4k0u3lw1QB31ISln
QV1ftnBq+sH3+dFYYyh/6ST2wvnU6MVgpG7ebQvpqLd2Z4djI4J+AMaa1bYRJCom
evrQUXIFxn7hRHIGk1KTNyaClyJPQsVjgqDzgyiEJ7SieIqx4DCkoRHar+0dKVfT
1mrjTLZTzihL9DJSgaJdDWw1ea3w68ea1SvNtGOysXLUlcjd7qiEP5KNw+QgfFga
8Cbz8KPneO18VNGUXY2J/66d5LO/AkOV/5ZAMi+KXLKZhcmrNu/Rw8bsbF2jHlP+
1X3l0cSj49jV9nuHZFUXOtO8iMXeEr5Sj8TKTOopQPCa6+Y5+vpCQjRXdjJYR/7+
BNey3BbRZAYQwFAeDvGIYos9QkYku1wswW1lgbzFtwR9MLcb3GZUyV7CKPNsIdpD
BeI5WtfCIvVZySV6tnnWjeeXPNSPa2uN7a9TgEshUvp7F4c4gljPLBnOKTjt6Ize
vm7Au0swwyknrqhPkZRtCtoypDng1j9qGeRI68g08WlPz43ODYfeSAekoruVK2fh
RQBQGO6B/7SSD9QK+3FDuSb+dVBIRD3tW8VcwQ8inhfAo1puXQu8csFXNRxb7QLf
JyWu1x0SKTQ=
=4O2t
-----END PGP SIGNATURE-----

View File

@ -42,39 +42,19 @@ Conflicts:
server/protocol.c | 25 +++++++++++++++++--------
6 files changed, 77 insertions(+), 10 deletions(-)
Index: include/http_core.h
Index: httpd-2.4.25/modules/http/http_filters.c
===================================================================
--- include/http_core.h.orig 2016-01-20 15:10:51.651189219 +0100
+++ include/http_core.h 2016-01-20 15:12:18.983188213 +0100
@@ -694,6 +694,15 @@
#define AP_MERGE_TRAILERS_DISABLE 2
int merge_trailers;
+#define AP_HTTP_CL_HEAD_ZERO_UNSET 0
+#define AP_HTTP_CL_HEAD_ZERO_ENABLE 1
+#define AP_HTTP_CL_HEAD_ZERO_DISABLE 2
+ int http_cl_head_zero;
+
+#define AP_HTTP_EXPECT_STRICT_UNSET 0
+#define AP_HTTP_EXPECT_STRICT_ENABLE 1
+#define AP_HTTP_EXPECT_STRICT_DISABLE 2
+ int http_expect_strict;
apr_array_header_t *protocols;
Index: modules/http/http_filters.c
===================================================================
--- modules/http/http_filters.c.orig 2015-07-08 10:59:36.000000000 +0200
+++ modules/http/http_filters.c 2016-01-20 15:10:51.651189219 +0100
@@ -1175,6 +1175,7 @@
header_filter_ctx *ctx = f->ctx;
--- httpd-2.4.25.orig/modules/http/http_filters.c 2016-12-15 13:18:59.000000000 +0100
+++ httpd-2.4.25/modules/http/http_filters.c 2017-01-02 10:54:37.608517377 +0100
@@ -1260,6 +1260,7 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_
const char *ctype;
ap_bucket_error *eb = NULL;
apr_bucket *eos = NULL;
+ core_server_config *conf;
AP_DEBUG_ASSERT(!r->main);
@@ -1315,10 +1316,17 @@
@@ -1441,10 +1442,17 @@ AP_CORE_DECLARE_NONSTD(apr_status_t) ap_
* zero C-L to the client. We can't just remove the C-L filter,
* because well behaved 2.0 handlers will send their data down the stack,
* and we will compute a real C-L for the head request. RBB
@ -93,13 +73,13 @@ Index: modules/http/http_filters.c
apr_table_unset(r->headers_out, "Content-Length");
}
Index: server/core.c
Index: httpd-2.4.25/server/core.c
===================================================================
--- server/core.c.orig 2015-11-19 20:55:25.000000000 +0100
+++ server/core.c 2016-01-20 15:13:29.575187399 +0100
@@ -503,6 +503,12 @@
if (virt->trace_enable != AP_TRACE_UNSET)
conf->trace_enable = virt->trace_enable;
--- httpd-2.4.25.orig/server/core.c 2016-12-05 15:34:29.000000000 +0100
+++ httpd-2.4.25/server/core.c 2017-01-02 10:54:37.608517377 +0100
@@ -528,6 +528,12 @@ static void *merge_core_server_configs(a
if (virt->http_methods != AP_HTTP_METHODS_UNSET)
conf->http_methods = virt->http_methods;
+ if (virt->http_cl_head_zero != AP_HTTP_CL_HEAD_ZERO_UNSET)
+ conf->http_cl_head_zero = virt->http_cl_head_zero;
@ -110,7 +90,7 @@ Index: server/core.c
/* no action for virt->accf_map, not allowed per-vhost */
if (virt->protocol)
@@ -3756,6 +3762,32 @@
@@ -3955,6 +3961,32 @@ static const char *set_http_method(cmd_p
return NULL;
}
@ -143,7 +123,7 @@ Index: server/core.c
static apr_hash_t *errorlog_hash;
static int log_constant_item(const ap_errorlog_info *info, const char *arg,
@@ -4273,6 +4305,10 @@
@@ -4474,6 +4506,10 @@ AP_INIT_TAKE1("TraceEnable", set_trace_e
"'on' (default), 'off' or 'extended' to trace request body content"),
AP_INIT_FLAG("MergeTrailers", set_merge_trailers, NULL, RSRC_CONF,
"merge request trailers into request headers or not"),
@ -154,11 +134,11 @@ Index: server/core.c
AP_INIT_ITERATE("Protocols", set_protocols, NULL, RSRC_CONF,
"Controls which protocols are allowed"),
AP_INIT_TAKE1("ProtocolsHonorOrder", set_protocols_honor_order, NULL, RSRC_CONF,
Index: server/protocol.c
Index: httpd-2.4.25/server/protocol.c
===================================================================
--- server/protocol.c.orig 2015-11-26 14:42:42.000000000 +0100
+++ server/protocol.c 2016-01-20 15:10:51.651189219 +0100
@@ -1144,14 +1144,23 @@
--- httpd-2.4.25.orig/server/protocol.c 2016-12-12 16:22:49.000000000 +0100
+++ httpd-2.4.25/server/protocol.c 2017-01-02 10:54:37.608517377 +0100
@@ -1416,14 +1416,23 @@ request_rec *ap_read_request(conn_rec *c
r->expecting_100 = 1;
}
else {
@ -190,3 +170,32 @@ Index: server/protocol.c
}
}
Index: httpd-2.4.25/include/http_core.h
===================================================================
--- httpd-2.4.25.orig/include/http_core.h 2016-12-05 15:34:29.000000000 +0100
+++ httpd-2.4.25/include/http_core.h 2017-01-02 10:55:18.613603512 +0100
@@ -723,6 +723,16 @@ typedef struct {
#define AP_MERGE_TRAILERS_DISABLE 2
int merge_trailers;
+#define AP_HTTP_CL_HEAD_ZERO_UNSET 0
+#define AP_HTTP_CL_HEAD_ZERO_ENABLE 1
+#define AP_HTTP_CL_HEAD_ZERO_DISABLE 2
+ int http_cl_head_zero;
+
+#define AP_HTTP_EXPECT_STRICT_UNSET 0
+#define AP_HTTP_EXPECT_STRICT_ENABLE 1
+#define AP_HTTP_EXPECT_STRICT_DISABLE 2
+ int http_expect_strict;
+
apr_array_header_t *protocols;
int protocols_honor_order;
@@ -762,7 +772,6 @@ apr_status_t ap_core_input_filter(ap_fil
apr_off_t readbytes);
apr_status_t ap_core_output_filter(ap_filter_t *f, apr_bucket_brigade *b);
-
AP_DECLARE(const char*) ap_get_server_protocol(server_rec* s);
AP_DECLARE(void) ap_set_server_protocol(server_rec* s, const char* proto);

View File

@ -1,5 +1,7 @@
--- httpd-2.4.6.orig/include/ap_config.h
+++ httpd-2.4.6/include/ap_config.h
Index: httpd-2.4.25/include/ap_config.h
===================================================================
--- httpd-2.4.25.orig/include/ap_config.h 2012-08-15 01:59:24.000000000 +0200
+++ httpd-2.4.25/include/ap_config.h 2017-01-02 10:33:40.411244315 +0100
@@ -64,7 +64,7 @@
* AP_DECLARE(rettype) ap_func(args)
* @endcode
@ -41,8 +43,10 @@
#else
/**
* AP_MODULE_DECLARE_EXPORT is a no-op. Unless contradicted by the
--- httpd-2.4.6.orig/modules/cache/mod_cache.h
+++ httpd-2.4.6/modules/cache/mod_cache.h
Index: httpd-2.4.25/modules/cache/mod_cache.h
===================================================================
--- httpd-2.4.25.orig/modules/cache/mod_cache.h 2011-12-03 19:02:24.000000000 +0100
+++ httpd-2.4.25/modules/cache/mod_cache.h 2017-01-02 10:33:40.411244315 +0100
@@ -37,9 +37,9 @@
* CACHE_DECLARE_DATA with appropriate export and import tags for the platform
*/
@ -56,9 +60,11 @@
#elif defined(CACHE_DECLARE_STATIC)
#define CACHE_DECLARE(type) type __stdcall
#define CACHE_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/proxy/mod_proxy.h
+++ httpd-2.4.6/modules/proxy/mod_proxy.h
@@ -475,9 +475,9 @@ struct proxy_balancer_method {
Index: httpd-2.4.25/modules/proxy/mod_proxy.h
===================================================================
--- httpd-2.4.25.orig/modules/proxy/mod_proxy.h 2016-10-24 12:06:41.000000000 +0200
+++ httpd-2.4.25/modules/proxy/mod_proxy.h 2017-01-02 10:33:40.411244315 +0100
@@ -535,9 +535,9 @@ struct proxy_balancer_method {
* PROXY_DECLARE_DATA with appropriate export and import tags for the platform
*/
#if !defined(WIN32)
@ -71,8 +77,10 @@
#elif defined(PROXY_DECLARE_STATIC)
#define PROXY_DECLARE(type) type __stdcall
#define PROXY_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/lua/mod_lua.h
+++ httpd-2.4.6/modules/lua/mod_lua.h
Index: httpd-2.4.25/modules/lua/mod_lua.h
===================================================================
--- httpd-2.4.25.orig/modules/lua/mod_lua.h 2013-06-10 16:36:56.000000000 +0200
+++ httpd-2.4.25/modules/lua/mod_lua.h 2017-01-02 10:33:40.411244315 +0100
@@ -58,9 +58,9 @@
* AP_LUA_DECLARE_DATA with appropriate export and import tags for the platform
*/
@ -86,8 +94,10 @@
#elif defined(AP_LUA_DECLARE_STATIC)
#define AP_LUA_DECLARE(type) type __stdcall
#define AP_LUA_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/core/mod_watchdog.h
+++ httpd-2.4.6/modules/core/mod_watchdog.h
Index: httpd-2.4.25/modules/core/mod_watchdog.h
===================================================================
--- httpd-2.4.25.orig/modules/core/mod_watchdog.h 2014-09-05 16:19:29.000000000 +0200
+++ httpd-2.4.25/modules/core/mod_watchdog.h 2017-01-02 10:33:40.411244315 +0100
@@ -83,9 +83,9 @@ typedef struct ap_watchdog_t ap_watchdog
*/
#if !defined(AP_WD_DECLARE)
@ -101,8 +111,10 @@
#elif defined(AP_WD_DECLARE_STATIC)
#define AP_WD_DECLARE(type) type __stdcall
#define AP_WD_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/generators/mod_status.h
+++ httpd-2.4.6/modules/generators/mod_status.h
Index: httpd-2.4.25/modules/generators/mod_status.h
===================================================================
--- httpd-2.4.25.orig/modules/generators/mod_status.h 2006-07-11 22:33:53.000000000 +0200
+++ httpd-2.4.25/modules/generators/mod_status.h 2017-01-02 10:33:40.411244315 +0100
@@ -34,9 +34,9 @@
#define AP_STATUS_EXTENDED (0x4) /* detailed report */
@ -116,8 +128,10 @@
#elif defined(STATUS_DECLARE_STATIC)
#define STATUS_DECLARE(type) type __stdcall
#define STATUS_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/dav/main/mod_dav.h
+++ httpd-2.4.6/modules/dav/main/mod_dav.h
Index: httpd-2.4.25/modules/dav/main/mod_dav.h
===================================================================
--- httpd-2.4.25.orig/modules/dav/main/mod_dav.h 2016-10-26 15:44:36.000000000 +0200
+++ httpd-2.4.25/modules/dav/main/mod_dav.h 2017-01-02 10:33:40.411244315 +0100
@@ -82,9 +82,9 @@ extern "C" {
* DAV_DECLARE_DATA with appropriate export and import tags for the platform
*/
@ -131,8 +145,10 @@
#elif defined(DAV_DECLARE_STATIC)
#define DAV_DECLARE(type) type __stdcall
#define DAV_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/session/mod_session.h
+++ httpd-2.4.6/modules/session/mod_session.h
Index: httpd-2.4.25/modules/session/mod_session.h
===================================================================
--- httpd-2.4.25.orig/modules/session/mod_session.h 2011-12-02 18:51:27.000000000 +0100
+++ httpd-2.4.25/modules/session/mod_session.h 2017-01-02 10:33:40.411244315 +0100
@@ -21,9 +21,9 @@
* SESSION_DECLARE_DATA with appropriate export and import tags for the platform
*/
@ -146,8 +162,10 @@
#elif defined(SESSION_DECLARE_STATIC)
#define SESSION_DECLARE(type) type __stdcall
#define SESSION_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/database/mod_dbd.h
+++ httpd-2.4.6/modules/database/mod_dbd.h
Index: httpd-2.4.25/modules/database/mod_dbd.h
===================================================================
--- httpd-2.4.25.orig/modules/database/mod_dbd.h 2011-09-23 15:38:09.000000000 +0200
+++ httpd-2.4.25/modules/database/mod_dbd.h 2017-01-02 10:33:40.411244315 +0100
@@ -35,9 +35,9 @@
* DBD_DECLARE_DATA with appropriate export and import tags for the platform
*/
@ -161,8 +179,10 @@
#elif defined(DBD_DECLARE_STATIC)
#define DBD_DECLARE(type) type __stdcall
#define DBD_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/filters/mod_xml2enc.h
+++ httpd-2.4.6/modules/filters/mod_xml2enc.h
Index: httpd-2.4.25/modules/filters/mod_xml2enc.h
===================================================================
--- httpd-2.4.25.orig/modules/filters/mod_xml2enc.h 2012-04-04 22:11:57.000000000 +0200
+++ httpd-2.4.25/modules/filters/mod_xml2enc.h 2017-01-02 10:33:40.411244315 +0100
@@ -25,9 +25,9 @@
/* declarations to deal with WIN32 compile-flag-in-source-code crap */
@ -176,8 +196,10 @@
#elif defined(XML2ENC_DECLARE_STATIC)
#define XML2ENC_DECLARE(type) type __stdcall
#define XML2ENC_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/filters/mod_ratelimit.h
+++ httpd-2.4.6/modules/filters/mod_ratelimit.h
Index: httpd-2.4.25/modules/filters/mod_ratelimit.h
===================================================================
--- httpd-2.4.25.orig/modules/filters/mod_ratelimit.h 2012-04-04 22:11:57.000000000 +0200
+++ httpd-2.4.25/modules/filters/mod_ratelimit.h 2017-01-02 10:33:40.415244421 +0100
@@ -21,9 +21,9 @@
* AP_RL_DECLARE_DATA with appropriate export and import tags for the platform
*/
@ -191,8 +213,10 @@
#elif defined(AP_RL_DECLARE_STATIC)
#define AP_RL_DECLARE(type) type __stdcall
#define AP_RL_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/modules/aaa/mod_authz_dbd.h
+++ httpd-2.4.6/modules/aaa/mod_authz_dbd.h
Index: httpd-2.4.25/modules/aaa/mod_authz_dbd.h
===================================================================
--- httpd-2.4.25.orig/modules/aaa/mod_authz_dbd.h 2011-09-23 15:38:09.000000000 +0200
+++ httpd-2.4.25/modules/aaa/mod_authz_dbd.h 2017-01-02 10:33:40.415244421 +0100
@@ -22,9 +22,9 @@
* AUTHZ_DBD_DECLARE_DATA with appropriate export and import tags
*/
@ -206,9 +230,11 @@
#elif defined(AUTHZ_DBD_DECLARE_STATIC)
#define AUTHZ_DBD_DECLARE(type) type __stdcall
#define AUTHZ_DBD_DECLARE_NONSTD(type) type
--- httpd-2.4.6.orig/include/httpd.h
+++ httpd-2.4.6/include/httpd.h
@@ -341,7 +341,7 @@ extern "C" {
Index: httpd-2.4.25/include/httpd.h
===================================================================
--- httpd-2.4.25.orig/include/httpd.h 2016-12-05 15:34:29.000000000 +0100
+++ httpd-2.4.25/include/httpd.h 2017-01-02 10:33:40.415244421 +0100
@@ -345,7 +345,7 @@ extern "C" {
* by modules. Its purpose is to allow us to add attributes that
* particular platforms or compilers require to every exported function.
*/
@ -217,9 +243,9 @@
#endif
#ifndef AP_DECLARE_NONSTD
@@ -352,20 +352,20 @@ extern "C" {
@@ -356,20 +356,20 @@ extern "C" {
* which use varargs or are used via indirect function call. This
* is to accomodate the two calling conventions in windows dlls.
* is to accommodate the two calling conventions in windows dlls.
*/
-# define AP_DECLARE_NONSTD(type) type
+# define AP_DECLARE_NONSTD(type) __attribute__ ((visibility ("default"))) type
@ -243,8 +269,10 @@
#endif
/**
--- httpd-2.4.6.orig/include/util_ldap.h
+++ httpd-2.4.6/include/util_ldap.h
Index: httpd-2.4.25/include/util_ldap.h
===================================================================
--- httpd-2.4.25.orig/include/util_ldap.h 2016-08-25 14:48:18.000000000 +0200
+++ httpd-2.4.25/include/util_ldap.h 2017-01-02 10:33:40.415244421 +0100
@@ -66,9 +66,9 @@
* and import tags for the platform
*/

View File

@ -105,7 +105,7 @@ APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile a
# (e.g. via rcapache2 start -DReverseProxy)
#
# Example:
# "SSL STATUS AWSTATS SVN_VIEWCVS no_subversion_today"
# "SSL HTTP2 STATUS AWSTATS SVN_VIEWCVS no_subversion_today"
#
APACHE_SERVER_FLAGS=""