diff options
author | Vladimir Druzenko <vvd@FreeBSD.org> | 2023-10-26 10:55:24 +0000 |
---|---|---|
committer | Vladimir Druzenko <vvd@FreeBSD.org> | 2023-10-26 11:02:16 +0000 |
commit | deef0db3f36352c1fa22fd9eb168cb4621623a42 (patch) | |
tree | 3ce70f198a9b06d0ec59942738583711bc97d8c0 | |
parent | 7a5c7c35c54d6202ec4de246f08d0ef3d44ecdec (diff) | |
download | ports-deef0db3f36352c1fa22fd9eb168cb4621623a42.tar.gz ports-deef0db3f36352c1fa22fd9eb168cb4621623a42.zip |
www/apache24: workaround for bug "opcache + ASLR turned on crashes Apache if used www/mod_php8{0,1,2,3}"
PR: 268318
Approved by: joneum (apache@), tcberner (mentor)
MFH: 2023Q4
(cherry picked from commit 688bfd0c38351f28306d7bca5a8ceb280bee53d9)
-rw-r--r-- | www/apache24/Makefile | 1 | ||||
-rw-r--r-- | www/apache24/files/apache24.in | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/www/apache24/Makefile b/www/apache24/Makefile index d6ef3d1fb496..f82c2f351055 100644 --- a/www/apache24/Makefile +++ b/www/apache24/Makefile @@ -1,5 +1,6 @@ PORTNAME= apache24 PORTVERSION= 2.4.58 +PORTREVISION= 1 CATEGORIES= www MASTER_SITES= APACHE_HTTPD DISTNAME= httpd-${PORTVERSION} diff --git a/www/apache24/files/apache24.in b/www/apache24/files/apache24.in index a6693381211b..0b9c4bd55ba6 100644 --- a/www/apache24/files/apache24.in +++ b/www/apache24/files/apache24.in @@ -22,6 +22,8 @@ # module on start up and load if not loaded. # apache24_fib (str): Set an altered default network view for apache # apache24_configcheck_disable (bool): Set to "YES" to disable sanity check on startup +# apache24_aslr_disable (bool): Set to "YES" to disable ASLR (Address Space Layout +# Randomization): workaround for PR#268318 . /etc/rc.subr @@ -46,6 +48,7 @@ envvars="%%PREFIX%%/sbin/envvars" [ -z "$apache24limits_args" ] && apache24limits_args="-e -C daemon" [ -z "$apache24_http_accept_enable" ] && apache24_http_accept_enable="NO" [ -z "$apache24_configcheck_disable" ] && apache24_configcheck_disable="NO" +[ -z "$apache24_aslr_disable" ] && apache24_aslr_disable="NO" apache24_accf() { @@ -76,6 +79,7 @@ if [ -n "$2" ]; then eval apache24limits_args="\${apache24limits_${profile}_args:-${apache24limits_args}}" eval apache24_fib="\${apache24_${profile}_fib:-${apache24_fib}}" eval apache24_configcheck_disable="\${apache24_${profile}_configcheck_disable:-${apache24_configcheck_disable}}" + eval apache24_aslr_disable="\${apache24_${profile}_aslr_disable:-${apache24_aslr_disable}}" eval command="\${apache24_${profile}_command:-${command}}" eval pidfile="\${apache24_${profile}_pidfile:-${pidfile}}" eval apache24_envvars="\${apache24_${profile}_envvars:-${envvars}}" @@ -189,6 +193,13 @@ apache24_precmd() } +apache24_checkalsr () { + if checkyesno apache24_aslr_disable + then + command="/usr/bin/proccontrol -m aslr -s disable ${command}" + fi +} + apache24_checkfib () { if command -v check_namevarlist > /dev/null 2>&1; then check_namevarlist fib && return 0 @@ -206,6 +217,7 @@ apache24_checkfib () { } apache24_prestart() { + apache24_checkalsr apache24_checkfib apache24_precmd } |