commit 1947795df8ac6c13faeb58d16d0747f99f5585be
parent b87cc24309dac330313a0c0dec3ee86f65506eca
Author: Jonathan Bennett <JBennett@incomsystems.biz>
Date: Sat, 9 May 2015 13:10:08 -0500
Fwknop: add flexibility to uci support
Styling cleanups
signed-off-by: Jonathan Bennett <jbennett@incomsystems.biz>
Diffstat:
3 files changed, 64 insertions(+), 50 deletions(-)
diff --git 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
@@ -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
@@ -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
}