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 <dev@brenken.org>
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
}
{
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
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
#
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"
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}")"
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
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