From 375378d4de4bed0ceb52825eeb50b6fb044d1bb6 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Thu, 5 Mar 2015 12:47:15 +0100 Subject: [PATCH 1/3] nodogsplash: make missing config options available through uci --- nodogsplash/Makefile | 2 +- nodogsplash/files/nodogsplash.init | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/nodogsplash/Makefile b/nodogsplash/Makefile index ca223b7..38e8f2b 100644 --- a/nodogsplash/Makefile +++ b/nodogsplash/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nodogsplash PKG_FIXUP:=autoreconf PKG_VERSION:=0.9_beta9.9.9 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/nodogsplash/files/nodogsplash.init b/nodogsplash/files/nodogsplash.init index 463ff91..3352aa9 100755 --- a/nodogsplash/files/nodogsplash.init +++ b/nodogsplash/files/nodogsplash.init @@ -172,6 +172,13 @@ generate_uci_config() { append_config_option "$CONFIGFILE" "$cfg" gatewayaddress GatewayAddress append_config_option "$CONFIGFILE" "$cfg" gatewayport GatewayPort append_config_option "$CONFIGFILE" "$cfg" maxclients MaxClients + append_config_option "$CONFIGFILE" "$cfg" webroot webroot + append_config_option "$CONFIGFILE" "$cfg" debuglevel debuglevel + append_config_option "$CONFIGFILE" "$cfg" splashpage splashpage + append_config_option "$CONFIGFILE" "$cfg" pagesdir pagesdir + append_config_option "$CONFIGFILE" "$cfg" checkinterval checkinterval + append_config_option "$CONFIGFILE" "$cfg" syslogfacility syslogfacility + append_config_option "$CONFIGFILE" "$cfg" gatewayiprange gatewayiprange append_config_option "$CONFIGFILE" "$cfg" imagedir ImagesDir append_config_option "$CONFIGFILE" "$cfg" redirecturl RedirectURL append_config_option "$CONFIGFILE" "$cfg" clientidletimeout ClientIdleTimeout @@ -181,6 +188,22 @@ generate_uci_config() { append_config_option "$CONFIGFILE" "$cfg" macmechanism MACMechanism append_config_option "$CONFIGFILE" "$cfg" uploadlimit UploadLimit append_config_option "$CONFIGFILE" "$cfg" downloadlimit DownloadLimit + append_config_option "$CONFIGFILE" "$cfg" remoteauthenticatoraction remoteauthenticatoraction + append_config_option "$CONFIGFILE" "$cfg" enablepreauth enablepreauth + append_config_option "$CONFIGFILE" "$cfg" binvoucher binvoucher + append_config_option "$CONFIGFILE" "$cfg" forcevoucher forcevoucher + append_config_option "$CONFIGFILE" "$cfg" passwordauthentication passwordauthentication + append_config_option "$CONFIGFILE" "$cfg" usernameauthentication usernameauthentication + append_config_option "$CONFIGFILE" "$cfg" passwordattempts passwordattempts + append_config_option "$CONFIGFILE" "$cfg" username username + append_config_option "$CONFIGFILE" "$cfg" password password + append_config_option "$CONFIGFILE" "$cfg" authenticateimmediately authenticateimmediately + append_config_option "$CONFIGFILE" "$cfg" decongesthttpdthreads decongesthttpdthreads + append_config_option "$CONFIGFILE" "$cfg" httpdthreadthreshold httpdthreadthreshold + append_config_option "$CONFIGFILE" "$cfg" httpdthreaddelayms httpdthreaddelayms + append_config_option "$CONFIGFILE" "$cfg" fw_mark_authenticated fw_mark_authenticated + append_config_option "$CONFIGFILE" "$cfg" fw_mark_trusted fw_mark_trusted + append_config_option "$CONFIGFILE" "$cfg" fw_mark_blocked fw_mark_blocked config_get download "$cfg" downloadlimit config_get upload "$cfg" uploadlimit From dfa1e090fbabb0cb6b3beda2aa2aa4756b29c67a Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Thu, 5 Mar 2015 12:52:01 +0100 Subject: [PATCH 2/3] nodogsplash: fix uci configuration by fixing append_config_option append_config_option doesn't wrote anything to nodogsplash.conf. --- nodogsplash/files/nodogsplash.init | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nodogsplash/files/nodogsplash.init b/nodogsplash/files/nodogsplash.init index 3352aa9..424058e 100755 --- a/nodogsplash/files/nodogsplash.init +++ b/nodogsplash/files/nodogsplash.init @@ -36,13 +36,13 @@ nolog() { # will append "BindAddress 192.168.1.1" if uci bind_address is '192.168.1.1' append_config_option() { local val="" - local cfg="$1" - local config_file="$2" + local config_file="$1" + local cfg="$2" local option_name="$3" local config_counterpart="$4" local default="$5" config_get val "$cfg" "$option_name" "$default" - [ -n "$val" ] && echo "" >> $config_file + [ -n "$val" ] && echo "$config_counterpart $val" >> $config_file } setup_user_authentication() { From 7a233607af8f435c7b696123d00f272799834342 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Thu, 5 Mar 2015 13:01:21 +0100 Subject: [PATCH 3/3] nodogsplash: simplify append_config_option Drop arguement config_counterpart from append_config_option(). append_config_option took an additional argument named config_counterpart which represents the configuration name in configfile.This is needed for configuration variable names isn't the same as in uci. Nodogsplash ignores the case of configuration variables and makes this feature optional. Introduce new func append_config_option_map() which does the old behaviour. --- nodogsplash/files/nodogsplash.init | 91 +++++++++++++++++------------- 1 file changed, 53 insertions(+), 38 deletions(-) diff --git a/nodogsplash/files/nodogsplash.init b/nodogsplash/files/nodogsplash.init index 424058e..0712fa9 100755 --- a/nodogsplash/files/nodogsplash.init +++ b/nodogsplash/files/nodogsplash.init @@ -30,11 +30,11 @@ nolog() { logger -s -t nodogsplash -p daemon.$level $@ } -# append_config_option [] +# append_config_option_map [] # append "$config_counterpart $value" to cfgfile if option_name exists # e.g. append_config_option "$CONFIGFILE" "$cfg" bind_address BindAddress 0.0.0.0 # will append "BindAddress 192.168.1.1" if uci bind_address is '192.168.1.1' -append_config_option() { +append_config_option_map() { local val="" local config_file="$1" local cfg="$2" @@ -45,6 +45,21 @@ append_config_option() { [ -n "$val" ] && echo "$config_counterpart $val" >> $config_file } +# append_config_option [] +# append "$option_name $value" to cfgfile if option_name exists +# e.g. append_config_option "$CONFIGFILE" "$cfg" bind_address 0.0.0.0 +# will append "bind_address 192.168.1.1" if uci bind_address is '192.168.1.1' +# if uci bind_address is unset append "bind_address 0.0.0.0" +append_config_option() { + local val="" + local config_file="$1" + local cfg="$2" + local option_name="$3" + local default="$4" + config_get val "$cfg" "$option_name" "$default" + [ -n "$val" ] && echo "$option_name $val" >> $config_file +} + setup_user_authentication() { local cfg="$1" local val @@ -168,42 +183,42 @@ generate_uci_config() { echo "GatewayInterface $ifname" >> $CONFIGFILE - append_config_option "$CONFIGFILE" "$cfg" gatewayname GatewayName - append_config_option "$CONFIGFILE" "$cfg" gatewayaddress GatewayAddress - append_config_option "$CONFIGFILE" "$cfg" gatewayport GatewayPort - append_config_option "$CONFIGFILE" "$cfg" maxclients MaxClients - append_config_option "$CONFIGFILE" "$cfg" webroot webroot - append_config_option "$CONFIGFILE" "$cfg" debuglevel debuglevel - append_config_option "$CONFIGFILE" "$cfg" splashpage splashpage - append_config_option "$CONFIGFILE" "$cfg" pagesdir pagesdir - append_config_option "$CONFIGFILE" "$cfg" checkinterval checkinterval - append_config_option "$CONFIGFILE" "$cfg" syslogfacility syslogfacility - append_config_option "$CONFIGFILE" "$cfg" gatewayiprange gatewayiprange - append_config_option "$CONFIGFILE" "$cfg" imagedir ImagesDir - append_config_option "$CONFIGFILE" "$cfg" redirecturl RedirectURL - append_config_option "$CONFIGFILE" "$cfg" clientidletimeout ClientIdleTimeout - append_config_option "$CONFIGFILE" "$cfg" clientforcetimeout ClientForceTimeout - append_config_option "$CONFIGFILE" "$cfg" gatewayiprange GatewayIPRange - append_config_option "$CONFIGFILE" "$cfg" passwordattempts PasswordAttempts - append_config_option "$CONFIGFILE" "$cfg" macmechanism MACMechanism - append_config_option "$CONFIGFILE" "$cfg" uploadlimit UploadLimit - append_config_option "$CONFIGFILE" "$cfg" downloadlimit DownloadLimit - append_config_option "$CONFIGFILE" "$cfg" remoteauthenticatoraction remoteauthenticatoraction - append_config_option "$CONFIGFILE" "$cfg" enablepreauth enablepreauth - append_config_option "$CONFIGFILE" "$cfg" binvoucher binvoucher - append_config_option "$CONFIGFILE" "$cfg" forcevoucher forcevoucher - append_config_option "$CONFIGFILE" "$cfg" passwordauthentication passwordauthentication - append_config_option "$CONFIGFILE" "$cfg" usernameauthentication usernameauthentication - append_config_option "$CONFIGFILE" "$cfg" passwordattempts passwordattempts - append_config_option "$CONFIGFILE" "$cfg" username username - append_config_option "$CONFIGFILE" "$cfg" password password - append_config_option "$CONFIGFILE" "$cfg" authenticateimmediately authenticateimmediately - append_config_option "$CONFIGFILE" "$cfg" decongesthttpdthreads decongesthttpdthreads - append_config_option "$CONFIGFILE" "$cfg" httpdthreadthreshold httpdthreadthreshold - append_config_option "$CONFIGFILE" "$cfg" httpdthreaddelayms httpdthreaddelayms - append_config_option "$CONFIGFILE" "$cfg" fw_mark_authenticated fw_mark_authenticated - append_config_option "$CONFIGFILE" "$cfg" fw_mark_trusted fw_mark_trusted - append_config_option "$CONFIGFILE" "$cfg" fw_mark_blocked fw_mark_blocked + append_config_option "$CONFIGFILE" "$cfg" gatewayname + append_config_option "$CONFIGFILE" "$cfg" gatewayaddress + append_config_option "$CONFIGFILE" "$cfg" gatewayport + append_config_option "$CONFIGFILE" "$cfg" maxclients + append_config_option "$CONFIGFILE" "$cfg" webroot + append_config_option "$CONFIGFILE" "$cfg" debuglevel + append_config_option "$CONFIGFILE" "$cfg" splashpage + append_config_option "$CONFIGFILE" "$cfg" pagesdir + append_config_option "$CONFIGFILE" "$cfg" checkinterval + append_config_option "$CONFIGFILE" "$cfg" syslogfacility + append_config_option "$CONFIGFILE" "$cfg" gatewayiprange + append_config_option "$CONFIGFILE" "$cfg" imagedir + append_config_option "$CONFIGFILE" "$cfg" redirecturl + append_config_option "$CONFIGFILE" "$cfg" clientidletimeout + append_config_option "$CONFIGFILE" "$cfg" clientforcetimeout + append_config_option "$CONFIGFILE" "$cfg" gatewayiprange + append_config_option "$CONFIGFILE" "$cfg" passwordattempts + append_config_option "$CONFIGFILE" "$cfg" macmechanism + append_config_option "$CONFIGFILE" "$cfg" uploadlimit + append_config_option "$CONFIGFILE" "$cfg" downloadlimit + append_config_option "$CONFIGFILE" "$cfg" remoteauthenticatoraction + append_config_option "$CONFIGFILE" "$cfg" enablepreauth + append_config_option "$CONFIGFILE" "$cfg" binvoucher + append_config_option "$CONFIGFILE" "$cfg" forcevoucher + append_config_option "$CONFIGFILE" "$cfg" passwordauthentication + append_config_option "$CONFIGFILE" "$cfg" usernameauthentication + append_config_option "$CONFIGFILE" "$cfg" passwordattempts + append_config_option "$CONFIGFILE" "$cfg" username + append_config_option "$CONFIGFILE" "$cfg" password + append_config_option "$CONFIGFILE" "$cfg" authenticateimmediately + append_config_option "$CONFIGFILE" "$cfg" decongesthttpdthreads + append_config_option "$CONFIGFILE" "$cfg" httpdthreadthreshold + append_config_option "$CONFIGFILE" "$cfg" httpdthreaddelayms + append_config_option "$CONFIGFILE" "$cfg" fw_mark_authenticated + append_config_option "$CONFIGFILE" "$cfg" fw_mark_trusted + append_config_option "$CONFIGFILE" "$cfg" fw_mark_blocked config_get download "$cfg" downloadlimit config_get upload "$cfg" uploadlimit