Files
bpfire/lfs/web-user-interface
Peter Müller b67e79a4f1 embed background image in redirect template
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>
2018-09-10 16:30:09 +01:00

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)