mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org> For details see: https://dlcdn.apache.org//httpd/CHANGES_2.4.52 Excerpt from changelog: ""Changes with Apache 2.4.52 *) SECURITY: CVE-2021-44790: Possible buffer overflow when parsing multipart content in mod_lua of Apache HTTP Server 2.4.51 and earlier (cve.mitre.org) A carefully crafted request body can cause a buffer overflow in the mod_lua multipart parser (r:parsebody() called from Lua scripts). The Apache httpd team is not aware of an exploit for the vulnerabilty though it might be possible to craft one. This issue affects Apache HTTP Server 2.4.51 and earlier. Credits: Chamal *) SECURITY: CVE-2021-44224: Possible NULL dereference or SSRF in forward proxy configurations in Apache HTTP Server 2.4.51 and earlier (cve.mitre.org) A crafted URI sent to httpd configured as a forward proxy (ProxyRequests on) can cause a crash (NULL pointer dereference) or, for configurations mixing forward and reverse proxy declarations, can allow for requests to be directed to a declared Unix Domain Socket endpoint (Server Side Request Forgery). This issue affects Apache HTTP Server 2.4.7 up to 2.4.51 (included). Credits: æ¼‚äº®é¼ TengMA(@Te3t123) ..." Reviewed-by: Michael Tremer <michael.tremer@ipfire.org> Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
123 lines
5.3 KiB
Plaintext
123 lines
5.3 KiB
Plaintext
###############################################################################
|
|
# #
|
|
# IPFire.org - A linux based firewall #
|
|
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
|
|
# #
|
|
# This program is free software: you can redistribute it and/or modify #
|
|
# it under the terms of the GNU General Public License as published by #
|
|
# the Free Software Foundation, either version 3 of the License, or #
|
|
# (at your option) any later version. #
|
|
# #
|
|
# This program is distributed in the hope that it will be useful, #
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
|
# GNU General Public License for more details. #
|
|
# #
|
|
# You should have received a copy of the GNU General Public License #
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
|
# #
|
|
###############################################################################
|
|
|
|
|
|
###############################################################################
|
|
# Definitions
|
|
###############################################################################
|
|
|
|
include Config
|
|
|
|
VER = 2.4.52
|
|
|
|
THISAPP = httpd-$(VER)
|
|
DL_FILE = $(THISAPP).tar.bz2
|
|
DL_FROM = $(URL_IPFIRE)
|
|
|
|
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
|
|
|
TARGET = $(DIR_INFO)/$(THISAPP)
|
|
|
|
DEPS = aprutil pcre
|
|
|
|
###############################################################################
|
|
# Top-level Rules
|
|
###############################################################################
|
|
|
|
objects = $(DL_FILE)
|
|
|
|
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
|
|
|
$(DL_FILE)_MD5 = a94ae42b84309d5ef6e613ae825b92fa
|
|
|
|
install : $(TARGET)
|
|
|
|
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
|
|
|
|
download :$(patsubst %,$(DIR_DL)/%,$(objects))
|
|
|
|
md5 : $(subst %,%_MD5,$(objects))
|
|
|
|
###############################################################################
|
|
# Downloading, checking, md5sum
|
|
###############################################################################
|
|
|
|
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
|
|
@$(CHECK)
|
|
|
|
$(patsubst %,$(DIR_DL)/%,$(objects)) :
|
|
@$(LOAD)
|
|
|
|
$(subst %,%_MD5,$(objects)) :
|
|
@$(MD5)
|
|
|
|
###############################################################################
|
|
# Installation Details
|
|
###############################################################################
|
|
|
|
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
|
@$(PREBUILD)
|
|
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
|
### Add IPFire's layout, too
|
|
echo "# IPFire layout" >> $(DIR_APP)/config.layout
|
|
echo "<Layout IPFire>" >> $(DIR_APP)/config.layout
|
|
echo " prefix: /usr" >> $(DIR_APP)/config.layout
|
|
echo " exec_prefix: /usr" >> $(DIR_APP)/config.layout
|
|
echo " bindir: /usr/bin" >> $(DIR_APP)/config.layout
|
|
echo " sbindir: /usr/sbin" >> $(DIR_APP)/config.layout
|
|
echo " libdir: /usr/lib" >> $(DIR_APP)/config.layout
|
|
echo " libexecdir: /usr/lib/apache" >> $(DIR_APP)/config.layout
|
|
echo " mandir: /usr/share/man" >> $(DIR_APP)/config.layout
|
|
echo " sysconfdir: /etc/httpd/conf" >> $(DIR_APP)/config.layout
|
|
echo " datadir: /srv/web/ipfire" >> $(DIR_APP)/config.layout
|
|
echo " installbuilddir: /usr/lib/apache/build" >> $(DIR_APP)/config.layout
|
|
echo " errordir: /srv/web/ipfire/error" >> $(DIR_APP)/config.layout
|
|
echo " iconsdir: /srv/web/ipfire/icons" >> $(DIR_APP)/config.layout
|
|
echo " htdocsdir: /srv/web/ipfire/htdocs" >> $(DIR_APP)/config.layout
|
|
echo " manualdir: /srv/web/ipfire/manual" >> $(DIR_APP)/config.layout
|
|
echo " cgidir: /srv/web/ipfire/cgi-bin" >> $(DIR_APP)/config.layout
|
|
echo " includedir: /usr/include/apache" >> $(DIR_APP)/config.layout
|
|
echo " localstatedir: /srv/web/ipfire" >> $(DIR_APP)/config.layout
|
|
echo " runtimedir: /var/run" >> $(DIR_APP)/config.layout
|
|
echo " logfiledir: /var/log/httpd" >> $(DIR_APP)/config.layout
|
|
echo " proxycachedir: /var/cache/apache/proxy" >> $(DIR_APP)/config.layout
|
|
echo "</Layout>" >> $(DIR_APP)/config.layout
|
|
|
|
cd $(DIR_APP) && ./configure --enable-layout=IPFire \
|
|
--enable-ssl --enable-mods-shared=all --enable-proxy --with-mpm=event --disable-lua --disable-md
|
|
cd $(DIR_APP) && make $(MAKETUNING)
|
|
cd $(DIR_APP) && make install
|
|
chown -v root:root /usr/lib/apache/httpd.exp \
|
|
/usr/bin/{apxs,dbmmanage} \
|
|
/usr/sbin/apachectl \
|
|
/usr/share/man/man1/{ab,apxs,dbmmanage,ht{dbm,digest,passwd,txt2dbm},logresolve}.1 \
|
|
/usr/share/man/man8/{apachectl,htcacheclean,httpd}.8 \
|
|
/usr/share/man/man8/{rotatelogs,suexec}.8
|
|
|
|
# Install apache config
|
|
cp -rf $(DIR_CONF)/httpd/* /etc/httpd/conf
|
|
touch /etc/httpd/conf/hostname.conf
|
|
|
|
# Create captive logging directory
|
|
-mkdir -pv /var/log/httpd/captive
|
|
|
|
@rm -rf $(DIR_APP)
|
|
@$(POSTBUILD)
|