[2/3] header-zone: refactor hook_config_edit
Message ID | 1500059452-3421-2-git-send-email-jonatan.schlag@ipfire.org |
---|---|
State | Superseded |
Headers |
Return-Path: <network-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (unknown [172.28.1.200]) by web02.ipfire.org (Postfix) with ESMTP id C669862295 for <patchwork@ipfire.org>; Fri, 14 Jul 2017 21:11:05 +0200 (CEST) Received: from mail01.ipfire.org (localhost [IPv6:::1]) by mail01.ipfire.org (Postfix) with ESMTP id 92D222593; Fri, 14 Jul 2017 21:11:05 +0200 (CEST) Received: from ipfire.localdomain (dslb-088-073-208-102.088.073.pools.vodafone-ip.de [88.73.208.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 6906A2593; Fri, 14 Jul 2017 21:11:03 +0200 (CEST) From: Jonatan Schlag <jonatan.schlag@ipfire.org> To: network@lists.ipfire.org Subject: [PATCH 2/3] header-zone: refactor hook_config_edit Date: Fri, 14 Jul 2017 21:10:51 +0200 Message-Id: <1500059452-3421-2-git-send-email-jonatan.schlag@ipfire.org> X-Mailer: git-send-email 2.6.3 In-Reply-To: <1500059452-3421-1-git-send-email-jonatan.schlag@ipfire.org> References: <1500059452-3421-1-git-send-email-jonatan.schlag@ipfire.org> X-BeenThere: network@lists.ipfire.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List for the network package <network.lists.ipfire.org> List-Unsubscribe: <http://lists.ipfire.org/mailman/options/network>, <mailto:network-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <http://lists.ipfire.org/pipermail/network/> List-Post: <mailto:network@lists.ipfire.org> List-Help: <mailto:network-request@lists.ipfire.org?subject=help> List-Subscribe: <http://lists.ipfire.org/mailman/listinfo/network>, <mailto:network-request@lists.ipfire.org?subject=subscribe> Errors-To: network-bounces@lists.ipfire.org Sender: "network" <network-bounces@lists.ipfire.org> |
Message
Jonatan Schlag
July 15, 2017, 5:10 a.m. UTC
Before a config is edit we should bring the config down and after up again.
Also we need to have 2 arguments or more.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
---
src/header-zone | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
Comments
Hi, and no no no no. We cannot restart the zone just because some configuration is being changed. That would disrupt connections and that might not always be required. The hook_up() and hook_down() functions are usually designed to take care of this and check if a zone is already up and potentially only change the settings that need to be changed. That will allow to edit things on a live system without disrupting any users which I think is very important. -Michael On Fri, 2017-07-14 at 21:10 +0200, Jonatan Schlag wrote: > Before a config is edit we should bring the config down and after up > again. > Also we need to have 2 arguments or more. > > Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org> > --- > src/header-zone | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/src/header-zone b/src/header-zone > index 2e3fa09..3b074ee 100644 > --- a/src/header-zone > +++ b/src/header-zone > @@ -225,7 +225,7 @@ hook_config_destroy() { > } > > hook_config_edit() { > - assert [ $# -eq 2 ] > + assert [ $# -ge 2 ] > local zone=${1} > # The id must be the id and not the hid. > local id=${2} > @@ -240,7 +240,14 @@ hook_config_edit() { > local hook=$(zone_config_get_hook_from_id ${zone} ${id}) > assert isset hook > > + # Bring the config down > + hook_config_cmd "down" "${zone}" "${hook}" "${hook}.${id}" > + > + # Edit the hook > hook_config_cmd "edit" "${zone}" "${hook}" "${hook}.${id}" > "$@" > + > + # Bring the config up again > + hook_config_cmd "up" "${zone}" "${hook}" "${hook}.${id}" > } > > hook_config_show() {