Fwknop: add flexibility to uci support

Styling cleanups
signed-off-by: Jonathan Bennett <jbennett@incomsystems.biz>
This commit is contained in:
Jonathan Bennett 2015-05-09 13:10:08 -05:00
parent b87cc24309
commit 1947795df8
3 changed files with 63 additions and 49 deletions

View File

@ -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/

9
net/fwknop/files/fwknopd Normal file
View File

@ -0,0 +1,9 @@
config global
# option uci_enabled '1'
config access
option SOURCE 'ANY'
option HMAC_KEY 'CHANGEME'
option KEY 'CHANGEME'
config config

View File

@ -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
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
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
}