#!/bin/bash ############################################################################ # # # 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) 2016 IPFire Team # # # ############################################################################ [ -n "${INTERFACE}" ] || exit 2 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings) detect_zone() { local intf="${INTERFACE%?}" intf="${intf%phys}" intf="${intf^^}" local zone for zone in GREEN BLUE ORANGE RED; do # Try to find if INTERFACE is the *phys version of a zone if [ "${intf}" = "${zone}" ]; then echo "${zone}" return 0 fi # Try to find out if this INTERFACE is a slave of a zone local slave for slave in $(get_value "${zone}_SLAVES"); do #Compare if the mac address matches or if the name matches if ([ "$(