mbox

[2/2] header-zone: refactor hook_config_destroy

Message ID 1499687638-6853-2-git-send-email-jonatan.schlag@ipfire.org
State Superseded
Headers

Message

Jonatan Schlag July 10, 2017, 9:53 p.m. UTC
  We now just bring the hook down, execute hook_destroy which can be not empty inside the hook,
because it is defined in src/header-config.
After this we delete the config file.

Fixes: #11416

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
---
 src/header-config | 4 ++++
 src/header-zone   | 6 ++++++
 2 files changed, 10 insertions(+)
  

Comments

Michael Tremer July 13, 2017, 8:12 a.m. UTC | #1
Hi,

On Mon, 2017-07-10 at 13:53 +0200, Jonatan Schlag wrote:
> We now just bring the hook down, execute hook_destroy which can be
> not empty inside the hook,
> because it is defined in src/header-config.
> After this we delete the config file.
> 
> Fixes: #11416
> 
> Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
> ---
>  src/header-config | 4 ++++
>  src/header-zone   | 6 ++++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/src/header-config b/src/header-config
> index b697797..d55d7e5 100644
> --- a/src/header-config
> +++ b/src/header-config
> @@ -22,3 +22,7 @@
>  hook_new() {
>  	cmd_not_implemented
>  }
> +
> +hook_destroy() {
> +	return ${EXIT_OK}
> +}
> diff --git a/src/header-zone b/src/header-zone
> index 2e3fa09..b4588fb 100644
> --- a/src/header-zone
> +++ b/src/header-zone
> @@ -221,7 +221,13 @@ hook_config_destroy() {
>  	local hook=$(zone_config_get_hook_from_id ${zone}  ${id})
>  	assert isset hook
>  
> +	# First we bring the hook down
> +	hook_config_cmd "down" "${zone}" "${hook}" "${hook}.${id}"
> +	# If a hook_destroy function is implemented in the hook this
> function will be executed.
> +	# If not a empty defined in header-config is executed.
>  	hook_config_cmd "destroy" "${zone}" "${hook}"
> "${hook}.${id}" "$@"
> +	# Now we delete the config of the zone
> +	zone_config_settings_destroy "${zone}" "${hook}.${id}"
>  }
>  
>  hook_config_edit() {

1) Please use spaces before starting a new block of comments. This is
really hard to read here.

2) Do we not need to catch any errors? For example if hook_destroy()
returns an error, this just goes on which I think is not right.

Best,
-Michael