]> git.ipfire.org Git - people/ms/network.git/commitdiff
Fix hook for static address configuration.
authorStefan Schantl <stefan.schantl@ipfire.org>
Sat, 11 Aug 2018 19:21:27 +0000 (21:21 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 15 Sep 2018 12:41:27 +0000 (13:41 +0100)
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@ipfire.org>
Tested-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/hooks/configs/static

index 91bba8af0d11885bc79310b0ab6e65125a42f6d6..23ae2d89d6e8157730f528aee9f80c427759e7eb 100644 (file)
@@ -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,29 @@ 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
+
+       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}"