diff --git a/plugins/system/debsecan b/plugins/system/debsecan index 5f63e679..e52ac2f1 100755 --- a/plugins/system/debsecan +++ b/plugins/system/debsecan @@ -13,6 +13,8 @@ system (using debsecan). Might work on other distib, who knows... env.suite jessie env.fixed_warn 1 env.fixed_critical 1000 + env.remote_warn 1 + env.remote_critical 10 =head1 AUTHORS @@ -35,26 +37,28 @@ if [ "$1" = "autoconf" ] ; then if [ -x /usr/bin/debsecan ]; then echo yes else - echo no + echo 'no (/usr/bin/debsecan not found)' fi exit 0 fi # Fail if we don't have debsecan if [ ! -x /usr/bin/debsecan ]; then + echo 'error: /usr/bin/debsecan not found' >&2 exit 1 fi # Determine suite from filename... -SUITE=`echo $0 | sed 's/.*_//'` -if [ ${SUITE} = ${0} ]; then +SUITE=$(echo "$0" | sed 's/.*_//') +if [ "${SUITE}" = "${0}" ]; then # ...or fall back onto configuration in environment SUITE=${suite:-sid} fi FIXEDWARN=${fixed_warning:-1} FIXEDCRIT=${fixed_critical:-1000} +REMOTEWARN=${remote_warning:-1} +REMOTECRIT=${remote_critical:-10} -CVERE="\(\(CVE\|TMP\)[-0-9A-Fa-f]\+\)" if [ "$1" = "config" ] ; then cat < /dev/null) +REMOTE=$(echo "$ALL" | grep 'remotely') +NONREMOTE=$(echo "$ALL" | grep -v 'remotely') + +HIGH=$(echo "${NONREMOTE}" | grep 'high urgency') +MEDIUM=$(echo "${NONREMOTE}" | grep 'medium urgency') +LOW=$(echo "${NONREMOTE}" | grep 'low urgency') +OTHER=$(echo "${NONREMOTE}" | grep -v 'urgency') +FIXED=$(echo "${ALL}" | grep '(fixed') + +remote_count=$(echo "${REMOTE}" | wc -l) +high_count=$(echo "${HIGH}" | wc -l) +medium_count=$(echo "${MEDIUM}" | wc -l) +low_count=$(echo "${LOW}" | wc -l) +other_count=$(echo "${OTHER}" | wc -l) +fixed_count=$(echo "${FIXED}" | wc -l) + CVECOUNTRE="s/^ *\([0-9]\+\) \+\([^ ]\+\)/\2 (\1)/" -OUT=`mktemp -t debsecan.XXXXXX` -HIGH=`mktemp -t debsecan.XXXXXX` -MEDIUM=`mktemp -t debsecan.XXXXXX` -LOW=`mktemp -t debsecan.XXXXXX` -OTHER=`mktemp -t debsecan.XXXXXX` -FIXED=`mktemp -t debsecan.XXXXXX` -debsecan --suite ${SUITE} 2> /dev/null > ${OUT} -grep 'high urgency' ${OUT} > ${HIGH} -grep 'medium urgency' ${OUT} > ${MEDIUM} -grep 'low urgency)' ${OUT} > ${LOW} -grep '(fixed' ${OUT} > ${FIXED} - -high=`cat ${HIGH} | wc -l` -medium=`cat ${MEDIUM} | wc -l` -low=`cat ${LOW} | wc -l` -other=`cat ${OTHER} | wc -l` -fixed=`cat ${FIXED} | wc -l` - +# shellcheck disable=SC2005 disable=SC2046 +# The nested $(echo ...)s are needed to yet the newlines cat <