mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-10 02:55:55 +02:00
Embed the IPFire background image into the redirect template directly via CSS instead of loading it from somewhere else. This is necessary because of Content Security Policy (CSP). This patch inserts the base64 encoded image during build so nothing needs to be updated twice in case background image changes. It supersedes first to fourth version of this patch and has been successfully tested during a clean build. Fixes #11650 Signed-off-by: Peter Müller <peter.mueller@link38.eu> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
97 lines
4.2 KiB
Plaintext
97 lines
4.2 KiB
Plaintext
###############################################################################
|
|
# #
|
|
# IPFire.org - A linux based firewall #
|
|
# Copyright (C) 2007-2015 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 = ipfire
|
|
|
|
THISAPP = web-user-interface-$(VER)
|
|
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
|
TARGET = $(DIR_INFO)/$(THISAPP)
|
|
|
|
###############################################################################
|
|
# Top-level Rules
|
|
###############################################################################
|
|
|
|
install: $(TARGET)
|
|
|
|
check:
|
|
|
|
download:
|
|
|
|
md5:
|
|
|
|
###############################################################################
|
|
# Installation Details
|
|
###############################################################################
|
|
|
|
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
|
@$(PREBUILD)
|
|
|
|
# Copy all html/cgi-bin files
|
|
mkdir -p /srv/web/ipfire/{cgi-bin,html}
|
|
mkdir -p /var/updatecache/{download,metadata}
|
|
cp -aR $(DIR_SRC)/html/* /srv/web/ipfire
|
|
|
|
# Add base64 encoded background image to Squid content access page
|
|
basedata="$$( base64 $(DIR_SRC)/html/html/images/background.gif | tr -d '\n' )"; \
|
|
sed -i "s|IMAGEDATAPLACEHOLDER|$${basedata}|g" \
|
|
/srv/web/ipfire/html/redirect-templates/legacy/template.html
|
|
|
|
# Change CONFIG_ROOT in cgi-scripts
|
|
for i in /srv/web/ipfire/cgi-bin/{*,logs.cgi/*,vpn.cgi/*}; do \
|
|
if [ -f $$i ]; then \
|
|
sed -i "s+CONFIG_ROOT+$(CONFIG_ROOT)+g" $$i; \
|
|
fi; \
|
|
done
|
|
chown -R root:root /srv/web/ipfire
|
|
chmod -R 755 /srv/web/ipfire/cgi-bin
|
|
chmod -R 644 /srv/web/ipfire/html
|
|
chmod 755 /srv/web/ipfire/html /srv/web/ipfire/html/{index.cgi,redirect.cgi,images,include,themes,themes/*,themes/*/*}
|
|
ln -svf ipfire /srv/web/ipfire/html/themes/ipfire-rounded
|
|
|
|
# Reset permissions of redirect templates and theme directories
|
|
find /srv/web/ipfire/html/{captive,redirect-templates,themes} -type d | xargs chmod -v 755
|
|
|
|
# Captive Portal CSS
|
|
ln -svf --relative /usr/share/bootstrap/css/bootstrap-grid.min.css \
|
|
/srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css
|
|
ln -svf --relative /usr/share/bootstrap/css/bootstrap-grid.min.css.map \
|
|
/srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css.map
|
|
ln -svf --relative /usr/share/bootstrap/css/bootstrap-reboot.min.css \
|
|
/srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css
|
|
ln -svf --relative /usr/share/bootstrap/css/bootstrap-reboot.min.css.map \
|
|
/srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css.map
|
|
|
|
# Captive Portal Fonts
|
|
ln -svf --relative /usr/share/fonts/Ubuntu-L.ttf \
|
|
/srv/web/ipfire/html/captive/assets/Ubuntu-L.ttf
|
|
ln -svf --relative /usr/share/fonts/Ubuntu-M.ttf \
|
|
/srv/web/ipfire/html/captive/assets/Ubuntu-M.ttf
|
|
ln -svf --relative /usr/share/fonts/Ubuntu-R.ttf \
|
|
/srv/web/ipfire/html/captive/assets/Ubuntu-R.ttf
|
|
|
|
@$(POSTBUILD)
|