From dc845b6c81cfd8622e4c060e08edf8c22ff68e1a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 1 Jul 2018 12:15:00 +0100 Subject: [PATCH] AWS: Hide certain things on the web UI Those are practically unusable on AWS. Signed-off-by: Michael Tremer --- config/cfgroot/aws-functions.pl | 34 ++++++++++++++++++++++++++++++ config/cfgroot/header.pl | 9 ++++++++ config/rootfiles/common/configroot | 1 + lfs/configroot | 1 + 4 files changed, 45 insertions(+) create mode 100644 config/cfgroot/aws-functions.pl diff --git a/config/cfgroot/aws-functions.pl b/config/cfgroot/aws-functions.pl new file mode 100644 index 0000000000..5fd97125c2 --- /dev/null +++ b/config/cfgroot/aws-functions.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2018 IPFire Team . # +# # +############################################################################ + +package AWS; + +sub running_on_ec2() { + if (-e "/var/run/aws-instance-id") { + return 1; + } + + return 0; +} + +1; diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl index 974c4d8b22..7553b01ee1 100644 --- a/config/cfgroot/header.pl +++ b/config/cfgroot/header.pl @@ -19,6 +19,8 @@ use Time::Local; $|=1; # line buffering +require "/var/ipfire/aws-functions.pl"; + $Header::revision = 'final'; $Header::swroot = '/var/ipfire'; $Header::graphdir='/srv/web/ipfire/html/graphs'; @@ -161,6 +163,13 @@ sub genmenu { if ( $ethsettings{'RED_TYPE'} eq "PPPOE" && $pppsettings{'MONPORT'} ne "" ) { $menu->{'02.status'}{'subMenu'}->{'74.modem-status'}{'enabled'} = 1; } + + # Disbale unusable things on EC2 + if (&AWS::running_on_ec2()) { + $menu->{'03.network'}{'subMenu'}->{'30.dhcp'}{'enabled'} = 0; + $menu->{'03.network'}{'subMenu'}->{'80.macadressmenu'}{'enabled'} = 0; + $menu->{'03.network'}{'subMenu'}->{'90.wakeonlan'}{'enabled'} = 0; + } } } diff --git a/config/rootfiles/common/configroot b/config/rootfiles/common/configroot index 73b7bc01f8..87389915e4 100644 --- a/config/rootfiles/common/configroot +++ b/config/rootfiles/common/configroot @@ -7,6 +7,7 @@ usr/sbin/firewall-policy var/ipfire/addon-lang var/ipfire/auth #var/ipfire/auth/users +var/ipfire/aws-functions.pl #var/ipfire/backup var/ipfire/backup/exclude.user var/ipfire/backup/include.user diff --git a/lfs/configroot b/lfs/configroot index a8a1774dc4..c2833fd4a7 100644 --- a/lfs/configroot +++ b/lfs/configroot @@ -79,6 +79,7 @@ $(TARGET) : cp $(DIR_SRC)/config/cfgroot/general-functions.pl $(CONFIG_ROOT)/ cp $(DIR_SRC)/config/cfgroot/network-functions.pl $(CONFIG_ROOT)/ cp $(DIR_SRC)/config/cfgroot/geoip-functions.pl $(CONFIG_ROOT)/ + cp $(DIR_SRC)/config/cfgroot/aws-functions.pl $(CONFIG_ROOT)/ cp $(DIR_SRC)/config/cfgroot/lang.pl $(CONFIG_ROOT)/ cp $(DIR_SRC)/config/cfgroot/countries.pl $(CONFIG_ROOT)/ cp $(DIR_SRC)/config/cfgroot/graphs.pl $(CONFIG_ROOT)/ -- 2.39.2