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
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/
$(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/
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
}