From 1947795df8ac6c13faeb58d16d0747f99f5585be Mon Sep 17 00:00:00 2001 From: Jonathan Bennett Date: Sat, 9 May 2015 13:10:08 -0500 Subject: [PATCH] Fwknop: add flexibility to uci support Styling cleanups signed-off-by: Jonathan Bennett --- net/fwknop/Makefile | 8 ++- net/fwknop/files/fwknopd | 9 ++++ net/fwknop/files/fwknopd.init | 97 +++++++++++++++++------------------ 3 files changed, 64 insertions(+), 50 deletions(-) create mode 100644 net/fwknop/files/fwknopd diff --git a/net/fwknop/Makefile b/net/fwknop/Makefile index 62d85e675..829b31c0c 100644 --- a/net/fwknop/Makefile +++ b/net/fwknop/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fwknop PKG_VERSION:=2.6.6 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.cipherdyne.org/fwknop/download @@ -102,6 +102,8 @@ define Build/InstallDev endef define Package/fwknopd/install + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/fwknopd $(1)/etc/config/fwknopd $(INSTALL_DIR) $(1)/etc/fwknop $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/fwknop/{access,fwknopd}.conf \ $(1)/etc/fwknop/ @@ -111,6 +113,10 @@ define Package/fwknopd/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fwknopd $(1)/usr/sbin/ endef +define Package/fwknopd/conffiles + /etc/config/fwknopd +endef + define Package/fwknop/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fwknop $(1)/usr/bin/ diff --git a/net/fwknop/files/fwknopd b/net/fwknop/files/fwknopd new file mode 100644 index 000000000..0874ee407 --- /dev/null +++ b/net/fwknop/files/fwknopd @@ -0,0 +1,9 @@ +config global +# option uci_enabled '1' + +config access + option SOURCE 'ANY' + option HMAC_KEY 'CHANGEME' + option KEY 'CHANGEME' + +config config diff --git a/net/fwknop/files/fwknopd.init b/net/fwknop/files/fwknopd.init index 294258f82..6aa41607d 100644 --- a/net/fwknop/files/fwknopd.init +++ b/net/fwknop/files/fwknopd.init @@ -30,60 +30,59 @@ restart() reload() { + gen_confs $FWKNOPD_BIN -R } gen_confs() { - - -config_cb() { - - local type="$1" - local name="$2" - if [ "$type" = "global" ] - then - option_cb() { - local option="$1" - local value="$2" - if [ "$option" = "uci_enabled" ] && [ "$value" -eq 1 ] ; then - > /etc/fwknop/fwknopd.conf - > /etc/fwknop/access.conf - UCI_ENABLED=1 + [ -f /tmp/access.conf.tmp ] && rm /tmp/access.conf.tmp + config_cb() { + local type="$1" + local name="$2" + if [ "$type" = "global" ]; then + option_cb() { + local option="$1" + local value="$2" + if [ "$option" = "uci_enabled" ] && [ "$value" -eq 1 ] ; then + > /etc/fwknop/fwknopd.conf + > /etc/fwknop/access.conf + UCI_ENABLED=1 + fi + } + elif [ "$type" = "config" ]; then + option_cb() { + local option="$1" + local value="$2" + if [ $UCI_ENABLED ]; then + echo "$option $value" >> /etc/fwknop/fwknopd.conf #writing each option to fwknopd.conf + fi + } + elif [ "$type" = "access" ] + then + if [ -f /tmp/access.conf.tmp ] ; then + cat /tmp/access.conf.tmp >> /etc/fwknop/access.conf + rm /tmp/access.conf.tmp fi - } - elif [ "$type" = "config" ] - then - option_cb() { - local option="$1" - local value="$2" - if [ $UCI_ENABLED ]; then - echo "${option//_/-} $value" >> /etc/fwknop/fwknopd.conf #writing each option to fwknopd.conf - fi - } - elif [ "$type" = "SOURCE" ] - then - echo "${type//_/-} $name" >> /etc/fwknop/access.conf #writing each option to access.conf - option_cb() { - local option="$1" - local value="$2" - if [ $UCI_ENABLED ]; then - echo "${option//_/-} $value" >> /etc/fwknop/access.conf #writing each option to access.conf - fi - } - fi - - - - -} - - -if [ -f /etc/config/fwknopd ]; then - - config_load fwknopd - - -fi + option_cb() { + local option="$1" + local value="$2" + if [ $UCI_ENABLED ] && [ $option = "SOURCE" ]; then + echo "$option $value" >> /etc/fwknop/access.conf #writing each option to access.conf + fi + if [ $UCI_ENABLED ] && [ $option != "SOURCE" ]; then + echo "$option $value" >> /tmp/access.conf.tmp #writing each option to access.conf + fi + } + fi + } + + if [ -f /etc/config/fwknopd ]; then + config_load fwknopd + if [ -f /tmp/access.conf.tmp ] ; then + cat /tmp/access.conf.tmp >> /etc/fwknop/access.conf + rm /tmp/access.conf.tmp + fi + fi }