Message ID | 40ee64c6-91d2-802d-8f2d-61c345f0a2c3@link38.eu |
---|---|
State | Superseded |
Headers |
Return-Path: <development-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (mail01.ipfire.org [IPv6:2001:470:7183:25::1]) by web02.i.ipfire.org (Postfix) with ESMTP id 1BA6A60B0D for <patchwork@web02.i.ipfire.org>; Sun, 26 Aug 2018 21:15:52 +0200 (CEST) Received: from mail01.i.ipfire.org (localhost [IPv6:::1]) by mail01.ipfire.org (Postfix) with ESMTP id AA97810FFEF3; Sun, 26 Aug 2018 20:15:51 +0100 (BST) Received: from mx-nbg.link38.eu (mx-nbg.link38.eu [37.120.167.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx-nbg.link38.eu", Issuer "Let's Encrypt Authority X3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 6126D108C3AD for <development@lists.ipfire.org>; Sun, 26 Aug 2018 20:15:48 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=link38.eu; s=201803; t=1535310950; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references; bh=aiJy3iwmFjB0N3Ws59rF2jvDFs/6TlSmV6yEEMtB1Ow=; b=ulLsvZrQgOuHCyz7docgiIsi1RRuTLygQ8gkPe/07eeLuXSbzSpOwtdMQlbcKd/ZiE8FXy 01YUh4RU7yoRU1ld2RPiR+7R0Me28rnItnXJAV47vJVPzgU2BXsEbK0mcgVzHd/92tJSm3 FM11LlH7G8Q/02GMmzr3313HcjPQYrEHs/vPenpsoyb3uj+z9cGKpRzf8w7/rfcJQVKQnw II+fo9ryQcuy43ecDtcS9BRWKVYZ0nOOJ6kgqYn7/VbMjcMOqSSh4wFjxI8m6pbIpWyD83 ZfoeaMzjYwGTZ12Vc5IrTAlU/2cgWxqG5ByJMaigYTp6C1CueGJQ5w2h6XCo4Q== To: "ipfire: Development-List" <development@lists.ipfire.org> From: =?utf-8?q?Peter_M=C3=BCller?= <peter.mueller@link38.eu> Openpgp: preference=signencrypt Autocrypt: addr=peter.mueller@link38.eu; prefer-encrypt=mutual; keydata= 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 eNtEia+FigGVqn+PSQ== Subject: [PATCH v3] embed background image in redirect template Message-ID: <40ee64c6-91d2-802d-8f2d-61c345f0a2c3@link38.eu> Date: Sun, 26 Aug 2018 21:15:39 +0200 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Ou8Hdog3I3MISVDL5P3IzxXjbnY7BxyVt" Authentication-Results: mail01.ipfire.org; dkim=pass header.d=link38.eu; dmarc=pass (policy=none) header.from=link38.eu; spf=pass smtp.mailfrom=peter.mueller@link38.eu X-Spamd-Result: default: False [-11.64 / 11.00]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[link38.eu]; BAYES_HAM(-3.00)[100.00%]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:37.120.167.53]; TO_MATCH_ENVRCPT_ALL(0.00)[]; HAS_ATTACHMENT(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain]; RCPT_COUNT_ONE(0.00)[1]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[link38.eu:+]; RCVD_IN_DNSWL_MED(-2.00)[53.167.120.37.list.dnswl.org : 127.0.6.2]; DMARC_POLICY_ALLOW(-0.25)[link38.eu,none]; MX_GOOD(-0.01)[cached: mx-nbg.link38.eu]; SIGNED_PGP(-2.00)[]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; IP_SCORE(-3.78)[ip: (-9.91), ipnet: 37.120.160.0/19(-4.96), asn: 197540(-3.96), country: DE(-0.09)]; ASN(0.00)[asn:197540, ipnet:37.120.160.0/19, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; HAS_DATA_URI(0.00)[] X-Spam-Status: No, score=-11.64 X-Rspamd-Server: mail01.i.ipfire.org X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: IPFire development talk <development.lists.ipfire.org> List-Unsubscribe: <https://lists.ipfire.org/mailman/options/development>, <mailto:development-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <https://lists.ipfire.org/pipermail/development/> List-Post: <mailto:development@lists.ipfire.org> List-Help: <mailto:development-request@lists.ipfire.org?subject=help> List-Subscribe: <https://lists.ipfire.org/mailman/listinfo/development>, <mailto:development-request@lists.ipfire.org?subject=subscribe> Errors-To: development-bounces@lists.ipfire.org Sender: "Development" <development-bounces@lists.ipfire.org> |
Series |
[v3] embed background image in redirect template
|
|
Commit Message
Peter Müller
Aug. 27, 2018, 5:15 a.m. UTC
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 and second 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>
---
html/html/redirect-templates/legacy/template.html | 7 ++++++-
lfs/web-user-interface | 5 +++++
2 files changed, 11 insertions(+), 1 deletion(-)
Comments
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Hi, On Sun, 2018-08-26 at 21:15 +0200, Peter Müller wrote: > 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 and second 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> > --- > html/html/redirect-templates/legacy/template.html | 7 ++++++- > lfs/web-user-interface | 5 +++++ > 2 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/html/html/redirect-templates/legacy/template.html > b/html/html/redirect-templates/legacy/template.html > index b5fb61ebe..297561e3a 100644 > --- a/html/html/redirect-templates/legacy/template.html > +++ b/html/html/redirect-templates/legacy/template.html > @@ -3,11 +3,16 @@ > <head> > <meta http-equiv="Content-Type" content="text/html; charset=utf- > 8"> > <title>ACCESS MESSAGE</title> > + <style content="text/css"> > + td.image { > + background-image: > url(data:image/gif;base64,IMAGEDATAPLACEHOLDER); > + } > + </style> > </head> > <body> > <table width="100%" height='100%' border="0"> > <tr> > - <td colspan='3' width='100%' height='130' > align="center" background="<TMPL_VAR NAME="ADDRESS">/images/background.gif"> > + <td colspan='3' width='100%' height='152px' > align="center" class="image"> </td> > <tr> > <td width='10%'> > <td align='center' bgcolor='#CC000000' > width='80%'> > diff --git a/lfs/web-user-interface b/lfs/web-user-interface > index 0c5688252..f3367713a 100644 > --- a/lfs/web-user-interface > +++ b/lfs/web-user-interface > @@ -55,6 +55,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) > 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 > + ${DIR_SRC} should be $(DIR_SRC) in order to be expanded from the Makefile and not from the shell environment. I am not even sure if DIR_SRC is guaranteed to be set. > # Change CONFIG_ROOT in cgi-scripts > for i in /srv/web/ipfire/cgi-bin/{*,logs.cgi/*,vpn.cgi/*}; do \ > if [ -f $$i ]; then \ -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE5/rW5l3GGe2ypktxgHnw/2+QCQcFAluDnBgACgkQgHnw/2+Q CQc3iw/6A0zu4FLjp8XmNBgjZYxz3jfR6Js2wUQHkIRmuPqt6+RACNOsyHdeC58P NPlIQpxwcPqXLzRlFRThGCBIXyER3ezs+4xWIFPQ/60yFYZwLGevKGYLtynCYPFv Lmg+hc/zEnDsj0e+faocMr3yh1QtbVC8tNB/Q61kVRvMT3a4qIc0zAc01zLg15Hn +av8SbW90p6cyzdd1AAYlql98vkh0K/S94TW5pBzN/NEADjvZXLQn+Ch89ibZfR3 VDDOsO0ETCPCvOO6us2YzuTvdCGvN1CCfaFgLZZ++lr4LMUW33T829Ssp6vEupLT eJnUEE+J0NhTTACqeNUxbJ2Tv2K6H/5LsiYWwlZUiznXBaYiPBWbXeNucn2M+w7Y nnfu/p3XISkQdXQHozsCVjkNtrFJF6YDex4HIx5RDdgNPz6K+0IfaEcxqqMFIVvg dYajrnl18iP/Zlc5mzIzAaFIvVygK3LJmDUEGyeHXcYX00LmtzoWqiCd8WQnsFCW 8LXraT7Fekg5pDibrMWVCXOYSxce+++eDVzet7HKwM97SJeTkBw2F0cQ3dDnpE5C cbrf93xHdoMdDoxu1RYoVQ9ZZLOCf8owOwvagesQXL6R/y4Ihm9Cqg0qDwFv+aFc c7tBHuKmkE16WI4WI5uAWVISh/gAj/hjRLBF6+qHivqn20mvCbI= =2yOA -----END PGP SIGNATURE-----
Hello, > Hi, > > On Sun, 2018-08-26 at 21:15 +0200, Peter Müller wrote: >> 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 and second 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> >> --- >> html/html/redirect-templates/legacy/template.html | 7 ++++++- >> lfs/web-user-interface | 5 +++++ >> 2 files changed, 11 insertions(+), 1 deletion(-) > >> diff --git a/html/html/redirect-templates/legacy/template.html >> b/html/html/redirect-templates/legacy/template.html >> index b5fb61ebe..297561e3a 100644 >> --- a/html/html/redirect-templates/legacy/template.html >> +++ b/html/html/redirect-templates/legacy/template.html >> @@ -3,11 +3,16 @@ >> <head> >> <meta http-equiv="Content-Type" content="text/html; charset=utf- >> 8"> >> <title>ACCESS MESSAGE</title> >> + <style content="text/css"> >> + td.image { >> + background-image: >> url(data:image/gif;base64,IMAGEDATAPLACEHOLDER); >> + } >> + </style> >> </head> >> <body> >> <table width="100%" height='100%' border="0"> >> <tr> >> - <td colspan='3' width='100%' height='130' >> align="center" background="<TMPL_VAR NAME="ADDRESS">/images/background.gif"> >> + <td colspan='3' width='100%' height='152px' >> align="center" class="image"> </td> >> <tr> >> <td width='10%'> >> <td align='center' bgcolor='#CC000000' >> width='80%'> >> diff --git a/lfs/web-user-interface b/lfs/web-user-interface >> index 0c5688252..f3367713a 100644 >> --- a/lfs/web-user-interface >> +++ b/lfs/web-user-interface >> @@ -55,6 +55,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >> 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 >> + > > ${DIR_SRC} should be $(DIR_SRC) in order to be expanded from the Makefile and > not from the shell environment. Sorry about this - fixed in v4, although it worked. > > I am not even sure if DIR_SRC is guaranteed to be set. I must say, using shell commands in LFS files is somewhat tricky... Best regards, Peter Müller > >> # Change CONFIG_ROOT in cgi-scripts >> for i in /srv/web/ipfire/cgi-bin/{*,logs.cgi/*,vpn.cgi/*}; do \ >> if [ -f $$i ]; then \ >
diff --git a/html/html/redirect-templates/legacy/template.html b/html/html/redirect-templates/legacy/template.html index b5fb61ebe..297561e3a 100644 --- a/html/html/redirect-templates/legacy/template.html +++ b/html/html/redirect-templates/legacy/template.html @@ -3,11 +3,16 @@ <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ACCESS MESSAGE</title> + <style content="text/css"> + td.image { + background-image: url(data:image/gif;base64,IMAGEDATAPLACEHOLDER); + } + </style> </head> <body> <table width="100%" height='100%' border="0"> <tr> - <td colspan='3' width='100%' height='130' align="center" background="<TMPL_VAR NAME="ADDRESS">/images/background.gif"> + <td colspan='3' width='100%' height='152px' align="center" class="image"> </td> <tr> <td width='10%'> <td align='center' bgcolor='#CC000000' width='80%'> diff --git a/lfs/web-user-interface b/lfs/web-user-interface index 0c5688252..f3367713a 100644 --- a/lfs/web-user-interface +++ b/lfs/web-user-interface @@ -55,6 +55,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) 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 \