From 848589d758f05a450b1e36434aa47ff1d05499e9 Mon Sep 17 00:00:00 2001 From: Dirk Brenken Date: Wed, 6 Nov 2019 20:45:20 +0100 Subject: [PATCH] banip: update 0.3.6 * more startup tweaks * re-use f_log function in helper scripts * small fixes / polish up for forthcoming 19.07 release Signed-off-by: Dirk Brenken (cherry picked from commit 72fba3a17b8e7c78ced4fb86911ed3568c402077) --- net/banip/Makefile | 2 +- net/banip/files/banip.init | 10 ++++----- net/banip/files/banip.service | 24 ++++++++++++--------- net/banip/files/banip.sh | 40 ++++++++++++++++------------------- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/net/banip/Makefile b/net/banip/Makefile index d2a5559749..111213b6a8 100644 --- a/net/banip/Makefile +++ b/net/banip/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=banip -PKG_VERSION:=0.3.5 +PKG_VERSION:=0.3.6 PKG_RELEASE:=1 PKG_LICENSE:=GPL-3.0-or-later PKG_MAINTAINER:=Dirk Brenken diff --git a/net/banip/files/banip.init b/net/banip/files/banip.init index be60bec970..e9abfebadf 100755 --- a/net/banip/files/banip.init +++ b/net/banip/files/banip.init @@ -12,14 +12,15 @@ ban_init="/etc/init.d/banip" ban_script="/usr/bin/banip.sh" ban_pidfile="/var/run/banip.pid" -if [ -s "${ban_pidfile}" ] && [ "${action}" != "help" ] && [ "${action}" != "status" ] +if [ -s "${ban_pidfile}" ] && \ + [ "${action}" != "help" ] && [ "${action}" != "status" ] && [ "${action}" != "boot" ] then exit 1 fi boot() { - ban_boot="1" + [ -s "${ban_pidfile}" ] && > "${ban_pidfile}" rc_procd start_service } @@ -27,15 +28,14 @@ start_service() { if [ "$("${ban_init}" enabled; printf "%u" ${?})" -eq 0 ] then - if [ "${ban_boot}" = "1" ] + if [ "${action}" = "boot" ] then return 0 fi - local nice="$(uci_get banip extra ban_nice "0")" procd_open_instance "banip" procd_set_param command "${ban_script}" "${@}" procd_set_param pidfile "${ban_pidfile}" - procd_set_param nice "${nice}" + procd_set_param nice "$(uci_get banip extra ban_nice "0")" procd_set_param stdout 1 procd_set_param stderr 1 procd_close_instance diff --git a/net/banip/files/banip.service b/net/banip/files/banip.service index e4213b072d..45d1a62faf 100755 --- a/net/banip/files/banip.service +++ b/net/banip/files/banip.service @@ -13,19 +13,23 @@ ban_sshdaemon="${2}" ban_logger="$(command -v logger)" ban_logread="$(command -v logread)" +f_log() +{ + local class="${1}" log_msg="${2}" + + if [ -x "${ban_logger}" ] + then + "${ban_logger}" -p "${class}" -t "banIP-${ban_ver}[${$}]" "${log_msg}" + else + printf "%s %s %s\\n" "${class}" "banIP-${ban_ver}[${$}]" "${log_msg}" + fi +} + if [ -x "${ban_logread}" ] then + f_log "info" "log/banIP service started" "${ban_logread}" -f -e "${ban_sshdaemon}\|luci: failed login" | \ { grep -qE "Exit before auth|luci: failed login|[0-9]+ \[preauth\]$"; [ $? -eq 0 ] && /etc/init.d/banip refresh; } - class="info" - log_msg="log/banIP service started" -else - class="err" - log_msg="can't start log/banIP service" -fi -if [ -x "${ban_logger}" ] -then - "${ban_logger}" -p "${class}" -t "banIP-${ban_ver}[${$}]" "${log_msg}" else - printf "%s %s %s\\n" "${class}" "banIP-${ban_ver}[${$}]" "${log_msg}" + f_log "err" "can't start log/banIP service" fi diff --git a/net/banip/files/banip.sh b/net/banip/files/banip.sh index 87d79eac4b..d4d5638caf 100755 --- a/net/banip/files/banip.sh +++ b/net/banip/files/banip.sh @@ -13,7 +13,7 @@ # LC_ALL=C PATH="/usr/sbin:/usr/bin:/sbin:/bin" -ban_ver="0.3.5" +ban_ver="0.3.6" ban_basever="" ban_enabled=0 ban_automatic="1" @@ -221,21 +221,24 @@ f_envcheck() cnt=$((cnt+1)) sleep 1 done - utils="aria2c curl wget uclient-fetch" - for util in ${utils} - do - if { [ "${util}" = "uclient-fetch" ] && [ -n "$(printf "%s\\n" "${packages}" | grep "^libustream-")" ]; } || \ - { [ "${util}" = "wget" ] && [ -n "$(printf "%s\\n" "${packages}" | grep "^wget -")" ]; } || \ - { [ "${util}" != "uclient-fetch" ] && [ "${util}" != "wget" ]; } - then - ban_fetchutil="$(command -v "${util}")" - if [ -x "${ban_fetchutil}" ] + if [ -n "${packages}" ] + then + utils="aria2c curl wget uclient-fetch" + for util in ${utils} + do + if { [ "${util}" = "uclient-fetch" ] && [ -n "$(printf "%s\\n" "${packages}" | grep "^libustream-")" ]; } || \ + { [ "${util}" = "wget" ] && [ -n "$(printf "%s\\n" "${packages}" | grep "^wget -")" ]; } || \ + { [ "${util}" != "uclient-fetch" ] && [ "${util}" != "wget" ]; } then - break + ban_fetchutil="$(command -v "${util}")" + if [ -x "${ban_fetchutil}" ] + then + break + fi fi - fi - unset ban_fetchutil util - done + unset ban_fetchutil util + done + fi else util="${ban_fetchutil}" ban_fetchutil="$(command -v "${util}")" @@ -296,7 +299,7 @@ f_temp() f_log "err" "the temp directory '/tmp' does not exist or has not been mounted yet, please create the directory or raise the 'ban_triggerdelay' to defer the banIP start" fi - if [ ! -s "${ban_pidfile}" ] + if [ ! -f "${ban_pidfile}" ] || [ ! -s "${ban_pidfile}" ] then printf "%s" "${$}" > "${ban_pidfile}" fi @@ -582,13 +585,6 @@ f_log() f_ipset destroy f_rmbackup f_rmtemp - log_msg="Please also check 'https://github.com/openwrt/packages/blob/master/net/banip/files/README.md'" - if [ -x "${ban_logger}" ] - then - "${ban_logger}" -p "${class}" -t "banIP-${ban_ver}[${$}]" "${log_msg}" - else - printf "%s %s %s\\n" "${class}" "banIP-${ban_ver}[${$}]" "${log_msg}" - fi exit 1 fi fi -- 2.30.2