Projet

Général

Profil

Révision f6b8e2c1

IDf6b8e2c1e16a52694f9ad2f535a2a21b4c8f8dc3
Parent fefb1aab
Enfant 35cf684e

Ajouté par Olivier Mehani il y a presque 9 ans

[system/debsecan] Don't use temporary files and fix shellcheck warnings

Signed-off-by: Olivier Mehani <>

Voir les différences:

plugins/system/debsecan
48 48
fi
49 49

  
50 50
# Determine suite from filename...
51
SUITE=`echo $0 | sed 's/.*_//'`
52
if [ ${SUITE} = ${0} ]; then
51
SUITE=$(echo "$0" | sed 's/.*_//')
52
if [ "${SUITE}" = "${0}" ]; then
53 53
	# ...or fall back onto configuration in environment
54 54
	SUITE=${suite:-sid}
55 55
fi
......
58 58
REMOTEWARN=${remote_warning:-1}
59 59
REMOTECRIT=${remote_critical:-10}
60 60

  
61
CVERE="\(\(CVE\|TMP\)[-0-9A-Fa-f]\+\)"
62 61
if [ "$1" = "config" ] ; then
63 62
  cat <<EOF_
64 63
graph_title DebSecan : vulnerabilities for ${SUITE}
......
76 75
remote.warning ${REMOTEWARN}
77 76
remote.critical ${REMOTECRIT}
78 77
high.label high
79
high.colour F70000
78
high.colour FF5500
80 79
high.type GAUGE
81 80
high.draw AREASTACK
82 81
high.min 0
......
110 109
  exit 0
111 110
fi
112 111

  
113
CVECOUNTRE="s/^ *\([0-9]\+\) \+\([^ ]\+\)/\2 (\1)/"
112
ALL=$(debsecan --suite "${SUITE}" 2> /dev/null)
113
REMOTE=$(echo "$ALL" | grep 'remotely')
114
NONREMOTE=$(echo "$ALL" | grep -v 'remotely')
115

  
116
HIGH=$(echo "${NONREMOTE}" | grep 'high urgency')
117
MEDIUM=$(echo "${NONREMOTE}" | grep 'medium urgency')
118
LOW=$(echo "${NONREMOTE}" | grep 'low urgency')
119
OTHER=$(echo "${NONREMOTE}" | grep -v 'urgency')
120
FIXED=$(echo "${ALL}" | grep '(fixed')
114 121

  
115
OUT=`mktemp -t debsecan.XXXXXX`
116
REMOTE=`mktemp -t debsecan.XXXXXX`
117
HIGH=`mktemp -t debsecan.XXXXXX`
118
MEDIUM=`mktemp -t debsecan.XXXXXX`
119
LOW=`mktemp -t debsecan.XXXXXX`
120
OTHER=`mktemp -t debsecan.XXXXXX`
121
FIXED=`mktemp -t debsecan.XXXXXX`
122
debsecan --suite ${SUITE} 2> /dev/null > ${OUT}
123
grep 'remotely' ${OUT} > ${REMOTE}
124
grep 'high urgency' ${OUT} | grep -v 'remotely' > ${HIGH}
125
grep 'medium urgency' ${OUT} | grep -v 'remotely' > ${MEDIUM}
126
grep 'low urgency)' ${OUT} | grep -v 'remotely' > ${LOW}
127
grep '(fixed' ${OUT} > ${FIXED}
128

  
129
high=`cat ${HIGH} | wc -l`
130
remote=`cat ${REMOTE} | wc -l`
131
medium=`cat ${MEDIUM} | wc -l`
132
low=`cat ${LOW} | wc -l`
133
other=`cat ${OTHER} | wc -l`
134
fixed=`cat ${FIXED} | wc -l`
122
remote_count=$(echo "${REMOTE}" | wc -l)
123
high_count=$(echo "${HIGH}" | wc -l)
124
medium_count=$(echo "${MEDIUM}" | wc -l)
125
low_count=$(echo "${LOW}" | wc -l)
126
other_count=$(echo "${OTHER}" | wc -l)
127
fixed_count=$(echo "${FIXED}" | wc -l)
128

  
129
CVECOUNTRE="s/^ *\([0-9]\+\) \+\([^ ]\+\)/\2 (\1)/"
135 130

  
131
# shellcheck disable=SC2005 disable=SC2046
132
# The nested $(echo ...)s are needed to yet the newlines
136 133
cat <<EOF
137
remote.value $remote
138
remote.extinfo `echo $(cut -f 2 -d" " ${REMOTE} | uniq -c | sort -nr | sed  "${CVECOUNTRE}")`
139
high.value $high
140
high.extinfo `echo $(cut -f 2 -d" " ${HIGH} | uniq -c | sort -nr | sed  "${CVECOUNTRE}")`
141
medium.value $medium
142
medium.extinfo `echo $(cut -f 2 -d" " ${MEDIUM} | uniq -c | sort -nr | sed  "${CVECOUNTRE}")`
143
low.value $low
144
low.extinfo `echo $(cut -f 2 -d" " ${LOW} | uniq -c | sort -nr | sed  "${CVECOUNTRE}")`
145
other.value $other
146
other.extinfo `echo $(cut -f 2 -d" " ${OTHER} | uniq -c | sort -nr | sed  "${CVECOUNTRE}")`
147
fixed.value $fixed
148
fixed.extinfo `echo $(cut -f 2 -d" " ${FIXED} | uniq -c | sort -nr | sed  "${CVECOUNTRE}")`
134
remote.value $remote_count
135
remote.extinfo $(echo $(echo "${REMOTE}" | cut -f 2 -d " "| uniq -c | sort -nr | sed "${CVECOUNTRE}"))
136
high.value $high_count
137
high.extinfo $(echo $(echo "${HIGH}" | cut -f 2 -d " " | uniq -c | sort -nr | sed "${CVECOUNTRE}"))
138
medium.value $medium_count
139
medium.extinfo $(echo $(echo "${MEDIUM}" | cut -f 2 -d " " | uniq -c | sort -nr | sed "${CVECOUNTRE}"))
140
low.value $low_count
141
low.extinfo $(echo $(echo "${LOW}" | cut -f 2 -d " " | uniq -c | sort -nr | sed "${CVECOUNTRE}"))
142
other.value $other_count
143
other.extinfo $(echo $(echo "${OTHER}" | cut -f 2 -d " " | uniq -c | sort -nr | sed "${CVECOUNTRE}"))
144
fixed.value $fixed_count
145
fixed.extinfo $(echo $(echo "${FIXED}" | cut -f 2 -d " " | uniq -c | sort -nr | sed "${CVECOUNTRE}"))
149 146
EOF

Formats disponibles : Unified diff