#!/bin/bash ############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2012 IPFire Network Development Team # # # # 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 . # # # ############################################################################### config_header() { local what=${1} assert isset what # Print the header. echo "#" echo "# This is a ${what}." echo "# THIS FILE IS AUTOMATICALLY GENERATED AND" echo "# ANY CUSTOM CHANGES WILL BE OVERWRITTEN!" echo "#" echo "# $(date -u)" echo "#" echo } config_hostname() { local hostname=${1} if [ -n "${hostname}" ]; then echo "${hostname}" > ${CONFIG_HOSTNAME} else echo "$(<${CONFIG_HOSTNAME})" fi } config_domainname() { local hostname=$(config_hostname) # Strip off the hostname part and just return # the domain part. print "${hostname#*.}" } config_get_id_from_config() { # This function returns the id for a given config name # Example 'dhcp.0' => 0 assert [ $# -eq 1 ] local config=${1} echo "${config##*.}" } config_get_hook_from_config() { # This function returns the hook for a given config name # Example 'dhcp.0' => dhcp assert [ $# -eq 1 ] local config=${1} echo "${config%%.*[[:digit:]]}" }