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_NAME:=fwknop
PKG_VERSION:=2.6.6 PKG_VERSION:=2.6.6
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.cipherdyne.org/fwknop/download PKG_SOURCE_URL:=http://www.cipherdyne.org/fwknop/download
@ -102,6 +102,8 @@ define Build/InstallDev
endef endef
define Package/fwknopd/install define Package/fwknopd/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/fwknopd $(1)/etc/config/fwknopd
$(INSTALL_DIR) $(1)/etc/fwknop $(INSTALL_DIR) $(1)/etc/fwknop
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/fwknop/{access,fwknopd}.conf \ $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/fwknop/{access,fwknopd}.conf \
$(1)/etc/fwknop/ $(1)/etc/fwknop/
@ -111,6 +113,10 @@ define Package/fwknopd/install
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fwknopd $(1)/usr/sbin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fwknopd $(1)/usr/sbin/
endef endef
define Package/fwknopd/conffiles
/etc/config/fwknopd
endef
define Package/fwknop/install define Package/fwknop/install
$(INSTALL_DIR) $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fwknop $(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() reload()
{ {
gen_confs
$FWKNOPD_BIN -R $FWKNOPD_BIN -R
} }
gen_confs() gen_confs()
{ {
[ -f /tmp/access.conf.tmp ] && rm /tmp/access.conf.tmp
config_cb() {
config_cb() { local type="$1"
local name="$2"
local type="$1" if [ "$type" = "global" ]; then
local name="$2" option_cb() {
if [ "$type" = "global" ] local option="$1"
then local value="$2"
option_cb() { if [ "$option" = "uci_enabled" ] && [ "$value" -eq 1 ] ; then
local option="$1" > /etc/fwknop/fwknopd.conf
local value="$2" > /etc/fwknop/access.conf
if [ "$option" = "uci_enabled" ] && [ "$value" -eq 1 ] ; then UCI_ENABLED=1
> /etc/fwknop/fwknopd.conf fi
> /etc/fwknop/access.conf }
UCI_ENABLED=1 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 fi
} option_cb() {
elif [ "$type" = "config" ] local option="$1"
then local value="$2"
option_cb() { if [ $UCI_ENABLED ] && [ $option = "SOURCE" ]; then
local option="$1" echo "$option $value" >> /etc/fwknop/access.conf #writing each option to access.conf
local value="$2" fi
if [ $UCI_ENABLED ]; then if [ $UCI_ENABLED ] && [ $option != "SOURCE" ]; then
echo "${option//_/-} $value" >> /etc/fwknop/fwknopd.conf #writing each option to fwknopd.conf echo "$option $value" >> /tmp/access.conf.tmp #writing each option to access.conf
fi fi
} }
elif [ "$type" = "SOURCE" ] fi
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
if [ -f /tmp/access.conf.tmp ] ; then
cat /tmp/access.conf.tmp >> /etc/fwknop/access.conf
if [ -f /etc/config/fwknopd ]; then rm /tmp/access.conf.tmp
fi
config_load fwknopd fi
fi
} }