- #!/bin/sh
- # log service to trace failed ssh/luci logins and conditionally refresh banIP
- # written by Dirk Brenken (dev@brenken.org)
- #
- # This is free software, licensed under the GNU General Public License v3.
- #
- # (s)hellcheck exceptions
- # shellcheck disable=1091,2030,2031,2034,2039,2086,2129,2140,2143,2154,2181,2183,2188
-
- export LC_ALL=C
- export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
- set -o pipefail
- ban_ver="${1}"
- ban_search="${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 | { grep -qE "${ban_search}"; [ "${?}" = "0" ] && { /etc/init.d/banip refresh; exit 0; }; }
- else
- f_log "err" "can't start log/banIP service"
- fi
|