Add the required hook_new function and "id" information which have been
introduced in earlier commits to make this hook work again.
Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
---
src/hooks/configs/static | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/hooks/configs/static b/src/hooks/configs/static
index 91bba8a..37f3d32 100644
--- a/src/hooks/configs/static
+++ b/src/hooks/configs/static
@@ -52,6 +52,8 @@ hook_check_config_settings() {
hook_parse_cmdline() {
local protocol
+ local id="${1}"
+ shift
while [ $# -gt 0 ]; do
case "${1}" in
@@ -153,12 +155,34 @@ hook_parse_cmdline() {
fi
# Check any conflicts
- if zone_config_check_same_setting "${zone}" "static" "ADDRESS" "${ADDRESS}"; then
+ if zone_config_check_same_setting "${zone}" "static" "${id}" "ADDRESS" "${ADDRESS}"; then
error "A static configuration with the same address is already configured"
return ${EXIT_CONF_ERROR}
fi
}
+hook_new() {
+ local zone="${1}"
+ shift
+
+ if zone_config_hook_is_configured ${zone} "static"; then
+ log ERROR "You can configure the static hook only once for a zone"
+ return ${EXIT_ERROR}
+ fi
+
+ local id=$(zone_config_get_new_id ${zone})
+ log DEBUG "ID for the config is: ${id}"
+
+ if ! hook_parse_cmdline "${id}" "$@"; then
+ # Return an error if the parsing of the cmd line fails
+ return ${EXIT_ERROR}
+ fi
+
+ zone_config_settings_write "${zone}" "${HOOK}" "${id}"
+
+ exit ${EXIT_OK}
+}
+
hook_up() {
local zone="${1}"
local config="${2}"
--
2.17.1