Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c0da47cfc | ||
|
|
948d29f952 | ||
|
|
90994a389b | ||
|
|
3be11b9e0c |
6 changed files with 1543 additions and 68 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -38,6 +38,4 @@ x86_64
|
|||
/httpd-2.4.43.tar.bz2.asc
|
||||
/KEYS
|
||||
/httpd-2.4.46.tar.bz2.asc
|
||||
/httpd-2.4.48.tar.bz2.asc
|
||||
/httpd-2.4.49.tar.bz2.asc
|
||||
/httpd-2.4.50.tar.bz2.asc
|
||||
/httpd-2.4.51.tar.bz2.asc
|
||||
|
|
|
|||
1413
httpd-2.4.43-r1828172+.patch
Normal file
1413
httpd-2.4.43-r1828172+.patch
Normal file
File diff suppressed because it is too large
Load diff
118
httpd-2.4.43-sslmultiproxy.patch
Normal file
118
httpd-2.4.43-sslmultiproxy.patch
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
diff --git a/modules/ssl/mod_ssl.c b/modules/ssl/mod_ssl.c
|
||||
index 12617b2..0fe7464 100644
|
||||
--- a/modules/ssl/mod_ssl.c
|
||||
+++ b/modules/ssl/mod_ssl.c
|
||||
@@ -459,6 +459,10 @@ static int ssl_hook_pre_config(apr_pool_t *pconf,
|
||||
return OK;
|
||||
}
|
||||
|
||||
+static APR_OPTIONAL_FN_TYPE(ssl_engine_disable) *othermod_engine_disable;
|
||||
+static APR_OPTIONAL_FN_TYPE(ssl_engine_set) *othermod_engine_set;
|
||||
+
|
||||
+
|
||||
static SSLConnRec *ssl_init_connection_ctx(conn_rec *c,
|
||||
ap_conf_vector_t *per_dir_config,
|
||||
int new_proxy)
|
||||
@@ -466,6 +470,10 @@ static SSLConnRec *ssl_init_connection_ctx(conn_rec *c,
|
||||
SSLConnRec *sslconn = myConnConfig(c);
|
||||
int need_setup = 0;
|
||||
|
||||
+ if (othermod_engine_disable) {
|
||||
+ othermod_engine_disable(c);
|
||||
+ }
|
||||
+
|
||||
/* mod_proxy's (r->)per_dir_config has the lifetime of the request, thus
|
||||
* it uses ssl_engine_set() to reset sslconn->dc when reusing SSL backend
|
||||
* connections, so we must fall through here. But in the case where we are
|
||||
@@ -544,6 +552,10 @@ static int ssl_engine_set(conn_rec *c,
|
||||
{
|
||||
SSLConnRec *sslconn;
|
||||
int status;
|
||||
+
|
||||
+ if (othermod_engine_set) {
|
||||
+ return othermod_engine_set(c, per_dir_config, proxy, enable);
|
||||
+ }
|
||||
|
||||
if (proxy) {
|
||||
sslconn = ssl_init_connection_ctx(c, per_dir_config, 1);
|
||||
@@ -572,12 +584,18 @@ static int ssl_engine_set(conn_rec *c,
|
||||
|
||||
static int ssl_proxy_enable(conn_rec *c)
|
||||
{
|
||||
- return ssl_engine_set(c, NULL, 1, 1);
|
||||
+ if (othermod_engine_set)
|
||||
+ return othermod_engine_set(c, NULL, 1, 1);
|
||||
+ else
|
||||
+ return ssl_engine_set(c, NULL, 1, 1);
|
||||
}
|
||||
|
||||
static int ssl_engine_disable(conn_rec *c)
|
||||
{
|
||||
- return ssl_engine_set(c, NULL, 0, 0);
|
||||
+ if (othermod_engine_set)
|
||||
+ return othermod_engine_set(c, NULL, 0, 0);
|
||||
+ else
|
||||
+ return ssl_engine_set(c, NULL, 0, 0);
|
||||
}
|
||||
|
||||
int ssl_init_ssl_connection(conn_rec *c, request_rec *r)
|
||||
@@ -753,6 +771,9 @@ static void ssl_register_hooks(apr_pool_t *p)
|
||||
APR_HOOK_MIDDLE);
|
||||
|
||||
ssl_var_register(p);
|
||||
+
|
||||
+ othermod_engine_disable = APR_RETRIEVE_OPTIONAL_FN(ssl_engine_disable);
|
||||
+ othermod_engine_set = APR_RETRIEVE_OPTIONAL_FN(ssl_engine_set);
|
||||
|
||||
APR_REGISTER_OPTIONAL_FN(ssl_proxy_enable);
|
||||
APR_REGISTER_OPTIONAL_FN(ssl_engine_disable);
|
||||
diff --git a/modules/ssl/ssl_engine_vars.c b/modules/ssl/ssl_engine_vars.c
|
||||
index 5724f18..81c56ba 100644
|
||||
--- a/modules/ssl/ssl_engine_vars.c
|
||||
+++ b/modules/ssl/ssl_engine_vars.c
|
||||
@@ -54,6 +54,8 @@ static char *ssl_var_lookup_ssl_cipher(apr_pool_t *p, SSLConnRec *sslconn, char
|
||||
static void ssl_var_lookup_ssl_cipher_bits(SSL *ssl, int *usekeysize, int *algkeysize);
|
||||
static char *ssl_var_lookup_ssl_version(apr_pool_t *p, char *var);
|
||||
static char *ssl_var_lookup_ssl_compress_meth(SSL *ssl);
|
||||
+static APR_OPTIONAL_FN_TYPE(ssl_is_https) *othermod_is_https;
|
||||
+static APR_OPTIONAL_FN_TYPE(ssl_var_lookup) *othermod_var_lookup;
|
||||
|
||||
static SSLConnRec *ssl_get_effective_config(conn_rec *c)
|
||||
{
|
||||
@@ -68,7 +70,9 @@ static SSLConnRec *ssl_get_effective_config(conn_rec *c)
|
||||
static int ssl_is_https(conn_rec *c)
|
||||
{
|
||||
SSLConnRec *sslconn = ssl_get_effective_config(c);
|
||||
- return sslconn && sslconn->ssl;
|
||||
+
|
||||
+ return (sslconn && sslconn->ssl)
|
||||
+ || (othermod_is_https && othermod_is_https(c));
|
||||
}
|
||||
|
||||
static const char var_interface[] = "mod_ssl/" AP_SERVER_BASEREVISION;
|
||||
@@ -137,6 +141,9 @@ void ssl_var_register(apr_pool_t *p)
|
||||
{
|
||||
char *cp, *cp2;
|
||||
|
||||
+ othermod_is_https = APR_RETRIEVE_OPTIONAL_FN(ssl_is_https);
|
||||
+ othermod_var_lookup = APR_RETRIEVE_OPTIONAL_FN(ssl_var_lookup);
|
||||
+
|
||||
APR_REGISTER_OPTIONAL_FN(ssl_is_https);
|
||||
APR_REGISTER_OPTIONAL_FN(ssl_var_lookup);
|
||||
APR_REGISTER_OPTIONAL_FN(ssl_ext_list);
|
||||
@@ -271,6 +278,15 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r,
|
||||
*/
|
||||
if (result == NULL && c != NULL) {
|
||||
SSLConnRec *sslconn = ssl_get_effective_config(c);
|
||||
+
|
||||
+ if (strlen(var) > 4 && strcEQn(var, "SSL_", 4)
|
||||
+ && (!sslconn || !sslconn->ssl) && othermod_var_lookup) {
|
||||
+ /* For an SSL_* variable, if mod_ssl is not enabled for
|
||||
+ * this connection and another SSL module is present, pass
|
||||
+ * through to that module. */
|
||||
+ return othermod_var_lookup(p, s, c, r, var);
|
||||
+ }
|
||||
+
|
||||
if (strlen(var) > 4 && strcEQn(var, "SSL_", 4)
|
||||
&& sslconn && sslconn->ssl)
|
||||
result = ssl_var_lookup_ssl(p, sslconn, r, var+4);
|
||||
69
httpd.spec
69
httpd.spec
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
Summary: Apache HTTP Server
|
||||
Name: httpd
|
||||
Version: 2.4.50
|
||||
Version: 2.4.51
|
||||
Release: 1%{?dist}
|
||||
URL: https://httpd.apache.org/
|
||||
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
|
||||
|
|
@ -60,7 +60,6 @@ Source44: httpd@.service
|
|||
Source45: config.layout
|
||||
Source46: apachectl.sh
|
||||
Source47: apachectl.xml
|
||||
Source48: apache-poweredby.png
|
||||
|
||||
# build/scripts patches
|
||||
Patch2: httpd-2.4.43-apxs.patch
|
||||
|
|
@ -75,20 +74,19 @@ Patch24: httpd-2.4.43-corelimit.patch
|
|||
Patch25: httpd-2.4.43-selinux.patch
|
||||
Patch26: httpd-2.4.43-gettid.patch
|
||||
Patch27: httpd-2.4.43-icons.patch
|
||||
Patch28: httpd-2.4.48-openssl3.patch
|
||||
Patch30: httpd-2.4.43-cachehardmax.patch
|
||||
Patch31: httpd-2.4.43-sslmultiproxy.patch
|
||||
Patch34: httpd-2.4.43-socket-activation.patch
|
||||
Patch38: httpd-2.4.43-sslciphdefault.patch
|
||||
Patch39: httpd-2.4.43-sslprotdefault.patch
|
||||
Patch40: httpd-2.4.43-r1861269.patch
|
||||
Patch41: httpd-2.4.43-r1861793+.patch
|
||||
Patch42: httpd-2.4.48-r1828172+.patch
|
||||
Patch42: httpd-2.4.43-r1828172+.patch
|
||||
Patch45: httpd-2.4.43-logjournal.patch
|
||||
|
||||
# Bug fixes
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
|
||||
Patch60: httpd-2.4.43-enable-sslv3.patch
|
||||
Patch61: httpd-2.4.48-r1878890.patch
|
||||
Patch63: httpd-2.4.46-htcacheclean-dont-break.patch
|
||||
|
||||
# Security fixes
|
||||
|
|
@ -99,7 +97,7 @@ BuildRequires: perl-interpreter, perl-generators, systemd-devel
|
|||
BuildRequires: zlib-devel, libselinux-devel, lua-devel, brotli-devel
|
||||
BuildRequires: apr-devel >= 1.5.0, apr-util-devel >= 1.5.0, pcre-devel >= 5.0
|
||||
BuildRequires: gnupg2
|
||||
Requires: /etc/mime.types, system-logos(httpd-logo-ng)
|
||||
Requires: /etc/mime.types, system-logos-httpd
|
||||
Provides: webserver
|
||||
Provides: mod_dav = %{version}-%{release}, httpd-suexec = %{version}-%{release}
|
||||
Provides: httpd-mmn = %{mmn}, httpd-mmn = %{mmnisa}
|
||||
|
|
@ -168,8 +166,6 @@ Requires: httpd = 0:%{version}-%{release}, httpd-mmn = %{mmnisa}
|
|||
Requires: sscg >= 2.2.0, /usr/bin/hostname
|
||||
# Require an OpenSSL which supports PROFILE=SYSTEM
|
||||
Conflicts: openssl-libs < 1:1.0.1h-4
|
||||
# mod_ssl/mod_nss cannot both be loaded simultaneously
|
||||
Conflicts: mod_nss
|
||||
|
||||
%description -n mod_ssl
|
||||
The mod_ssl module provides strong cryptography for the Apache HTTP
|
||||
|
|
@ -228,8 +224,8 @@ written in the Lua programming language.
|
|||
%patch25 -p1 -b .selinux
|
||||
%patch26 -p1 -b .gettid
|
||||
%patch27 -p1 -b .icons
|
||||
%patch28 -p1 -b .openssl3
|
||||
%patch30 -p1 -b .cachehardmax
|
||||
#patch31 -p1 -b .sslmultiproxy
|
||||
%patch34 -p1 -b .socketactivation
|
||||
%patch38 -p1 -b .sslciphdefault
|
||||
%patch39 -p1 -b .sslprotdefault
|
||||
|
|
@ -239,7 +235,6 @@ written in the Lua programming language.
|
|||
%patch45 -p1 -b .logjournal
|
||||
|
||||
%patch60 -p1 -b .enable-sslv3
|
||||
%patch61 -p1 -b .r1878890
|
||||
%patch63 -p1 -b .htcacheclean-dont-break
|
||||
|
||||
# Patch in the vendor string
|
||||
|
|
@ -267,9 +262,6 @@ if test "x${vmmn}" != "x%{mmn}"; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# A new logo which comes together with a new test page
|
||||
cp %{SOURCE48} ./docs/icons/apache_pb3.png
|
||||
|
||||
# Provide default layout
|
||||
cp $RPM_SOURCE_DIR/config.layout .
|
||||
|
||||
|
|
@ -456,7 +448,7 @@ EOF
|
|||
# Handle contentdir
|
||||
mkdir $RPM_BUILD_ROOT%{contentdir}/noindex \
|
||||
$RPM_BUILD_ROOT%{contentdir}/server-status
|
||||
ln -s ../../testpage/index.html \
|
||||
ln -s ../../fedora-testpage/index.html \
|
||||
$RPM_BUILD_ROOT%{contentdir}/noindex/index.html
|
||||
install -m 644 -p docs/server-status/* \
|
||||
$RPM_BUILD_ROOT%{contentdir}/server-status
|
||||
|
|
@ -485,12 +477,6 @@ rm -v $RPM_BUILD_ROOT%{docroot}/html/*.html \
|
|||
ln -s ../../pixmaps/poweredby.png \
|
||||
$RPM_BUILD_ROOT%{contentdir}/icons/poweredby.png
|
||||
|
||||
# Symlink for the system logo
|
||||
%if 0%{?rhel} >= 9
|
||||
ln -s ../../pixmaps/system-noindex-logo.png \
|
||||
$RPM_BUILD_ROOT%{contentdir}/icons/system_noindex_logo.png
|
||||
%endif
|
||||
|
||||
# symlinks for /etc/httpd
|
||||
rmdir $RPM_BUILD_ROOT/etc/httpd/{state,run}
|
||||
ln -s ../..%{_localstatedir}/log/httpd $RPM_BUILD_ROOT/etc/httpd/logs
|
||||
|
|
@ -787,47 +773,8 @@ exit $rv
|
|||
%{_rpmconfigdir}/macros.d/macros.httpd
|
||||
|
||||
%changelog
|
||||
* Tue Oct 05 2021 Luboš Uhliarik <luhliari@redhat.com> - 2.4.50-1
|
||||
- new version 2.4.50
|
||||
|
||||
* Wed Sep 22 2021 Luboš Uhliarik <luhliari@redhat.com> - 2.4.49-3
|
||||
- Rebuilt for CI testing
|
||||
|
||||
* Thu Sep 16 2021 Luboš Uhliarik <luhliari@redhat.com> - 2.4.49-1
|
||||
- new version 2.4.49 (#2004776)
|
||||
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2.4.48-8
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Fri Aug 06 2021 Luboš Uhliarik <luhliari@redhat.com> - 2.4.48-7
|
||||
- add symlink to system logo for noindex test page
|
||||
|
||||
* Fri Aug 6 2021 Joe Orton <jorton@redhat.com> - 2.4.48-4
|
||||
- add OpenSSL 3.x compatibility patch
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.48-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Jul 16 2021 Joe Orton <jorton@redhat.com> - 2.4.48-2
|
||||
- mod_cgi/mod_cgid: update to unification from trunk
|
||||
- httpd.conf: add note on care with Listen and starting at boot
|
||||
|
||||
* Wed Jun 02 2021 Luboš Uhliarik <luhliari@redhat.com> - 2.4.48-1
|
||||
- new version 2.4.48
|
||||
- Resolves: #1964746 - httpd-2.4.48 is available
|
||||
|
||||
* Mon May 03 2021 Lubos Uhliarik <luhliari@redhat.com> - 2.4.46-13
|
||||
- Related: #1934739 - Apache trademark update - new logo
|
||||
|
||||
* Fri Apr 9 2021 Joe Orton <jorton@redhat.com> - 2.4.46-12
|
||||
- use OOMPolicy=continue in httpd.service, httpd@.service (#1947475)
|
||||
|
||||
* Wed Mar 31 2021 Lubos Uhliarik <luhliari@redhat.com> - 2.4.46-11
|
||||
- Resolves: #1934739 - Apache trademark update - new logo
|
||||
|
||||
* Tue Feb 23 2021 Joe Orton <jorton@redhat.com> - 2.4.46-10
|
||||
- add Conflicts: with mod_nss
|
||||
- drop use of apr_ldap_rebind (r1878890, #1847585)
|
||||
* Fri Oct 08 2021 Luboš Uhliarik <luhliari@redhat.com> - 2.4.51-1
|
||||
- new version 2.4.51
|
||||
|
||||
* Mon Feb 01 2021 Lubos Uhliarik <luhliari@redhat.com> - 2.4.46-9
|
||||
- Resolves: #1914182 - RFE: CustomLog should be able to use journald
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,3 +1,3 @@
|
|||
SHA512 (httpd-2.4.50.tar.bz2) = b1afbaf44e503b822ff2b443881dcb44a93aa55d496f88ae399a2e7def05f78590f266a16da1f2c0aac88e463b76fba20843b1e20a102e76c8269de6fae3e158
|
||||
SHA512 (httpd-2.4.50.tar.bz2.asc) = 31ec3cbf342905f63fc070ae51103a695736a0fc5689d38845a7802fa6b48d86bafd5afcf57f7bbee4435691093326ec5f07a904fd3fa877e0453a3830425776
|
||||
SHA512 (httpd-2.4.51.tar.bz2) = 9fb07c4b176f5c0485a143e2b1bb1085345ca9120b959974f68c37a8911a57894d2cb488b1b42fdf3102860b99e890204f5e9fa7ae3828b481119c563812cc66
|
||||
SHA512 (httpd-2.4.51.tar.bz2.asc) = c63f2b08eb0b7e688c4a89b4be1d968c9e4a3f09714ffc4fb9b2210b6694b8c90f4067aec63601ec41987507bba8dfcef15f54b8c0707cc49414c9c76dd5d8ce
|
||||
SHA512 (KEYS) = 88c848b7ab9e4915d6625dcad3e8328673b0448f2ce76f2c44eecc612cf6afbce3287a4ee7219a44c6fcc61d5ecb2a1a8545456a4a16b90400263d7249cbf192
|
||||
|
|
|
|||
|
|
@ -16,5 +16,4 @@
|
|||
</Directory>
|
||||
|
||||
Alias /.noindex.html /usr/share/httpd/noindex/index.html
|
||||
Alias /poweredby.png /usr/share/httpd/icons/apache_pb3.png
|
||||
Alias /system_noindex_logo.png /usr/share/httpd/icons/system_noindex_logo.png
|
||||
Alias /poweredby.png /usr/share/httpd/icons/apache_pb2.png
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue