From: Jonatan Schlag Date: Tue, 4 Jul 2017 15:46:07 +0000 (+0200) Subject: zone: add function to avoid multiple configs which are senseless X-Git-Tag: 009~200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41f8233d17da3465c0b873ecac40c173972a206e;p=network.git zone: add function to avoid multiple configs which are senseless Signed-off-by: Jonatan Schlag Signed-off-by: Michael Tremer --- diff --git a/src/functions/functions.zone b/src/functions/functions.zone index fd13875f..f321c2d3 100644 --- a/src/functions/functions.zone +++ b/src/functions/functions.zone @@ -1008,6 +1008,28 @@ zone_config_get_hook() { print "${HOOK}" } +zone_config_hook_is_configured() { + # Checks if a zone has already at least one config with the given hook. + # Returns True when yes and False when no + + assert [ $# -eq 2 ] + local zone=${1} + local hook=${2} + + local config + for config in $(zone_configs_list "${zone}"); do + local config_hook="$(zone_config_get_hook "${zone}" "${config}")" + assert isset config_hook + if [[ ${hook} == ${config_hook} ]]; then + return ${EXIT_TRUE} + fi + + done + + # If we get here the zone has no config with the given hook + return ${EXIT_FALSE} +} + zone_has_ip() { device_has_ip $@ }