captive: Serve logo through an extra CGI script

This CGI script makes saving the logo easier (especially for
backup purposes).

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2017-04-28 14:21:18 +01:00
parent e2752bfe71
commit 8802d70a28
3 changed files with 49 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ srv/web/ipfire/cgi-bin/bluetooth.cgi
#srv/web/ipfire/cgi-bin/captive
srv/web/ipfire/cgi-bin/captive.cgi
srv/web/ipfire/cgi-bin/captive/index.cgi
srv/web/ipfire/cgi-bin/captive/logo.cgi
srv/web/ipfire/cgi-bin/captive/redirect.cgi
srv/web/ipfire/cgi-bin/chpasswd.cgi
srv/web/ipfire/cgi-bin/connections.cgi

View File

@@ -0,0 +1,44 @@
#!/usr/bin/perl
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2016 Alexander Marx alexander.marx@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/>. #
# #
###############################################################################
use strict;
use CGI;
use File::Copy;
# enable only the following on debugging purpose
#use warnings;
#use CGI::Carp 'fatalsToBrowser';
require '/var/ipfire/general-functions.pl';
my $logo = "${General::swroot}/captive/logo.dat";
# Send 404 if logo was not uploaded and exit
if (!-e $logo) {
print CGI::header(status => 404);
exit(0);
}
print "Content-Type: application/octet-stream\n\n";
# Send image data
File::Copy::copy $logo, \*STDOUT;
exit(0);

View File

@@ -1,4 +1,8 @@
body {
background-image: url("../cgi-bin/logo.cgi");
background-size: 100%;
background-repeat: no-repeat;
background-color: #eceff1;
color: #263238;