forked from mirrors/openup
Finish vuxml implementation for pkg.
Next step will be binpatches, but it is now time to extensively test this: 'openup -c' I tried to make the code as simple as possible so that everyone does not wonder how we parse the xml.
This commit is contained in:
parent
7dc9cf031e
commit
6dd1490caa
1 changed files with 7 additions and 5 deletions
12
openup
12
openup
|
|
@ -17,9 +17,7 @@
|
||||||
# Author: Antoine Jacoutot <antoine@mtier.org>
|
# Author: Antoine Jacoutot <antoine@mtier.org>
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
# check_vuxml(): download vuxml and don't hardcode the path (/tmp/...)
|
|
||||||
# check_vuxml(): add support for binpatches
|
# check_vuxml(): add support for binpatches
|
||||||
# check_vuxml(): compare with installed version to not output all vulns of a pkg
|
|
||||||
|
|
||||||
### user defined variables
|
### user defined variables
|
||||||
OPENUP_URL="https://stable.mtier.org/openup"
|
OPENUP_URL="https://stable.mtier.org/openup"
|
||||||
|
|
@ -27,7 +25,6 @@ PKG_CERT_URL="https://stable.mtier.org/mtier.cert"
|
||||||
PKG_CERT_FPRINT="DE:29:0F:7F:B8:0E:36:5A:AF:A9:BF:E0:4E:08:C2:0F:2D:50:16:97"
|
PKG_CERT_FPRINT="DE:29:0F:7F:B8:0E:36:5A:AF:A9:BF:E0:4E:08:C2:0F:2D:50:16:97"
|
||||||
PKG_PATH_MAIN="http://ftp.fr.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(arch -s)"
|
PKG_PATH_MAIN="http://ftp.fr.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(arch -s)"
|
||||||
PKG_PATH_UPDATE="https://stable.mtier.org/updates/$(uname -r)/$(arch -s)"
|
PKG_PATH_UPDATE="https://stable.mtier.org/updates/$(uname -r)/$(arch -s)"
|
||||||
PKG_VUXML="https://stable.mtier.org/vuxml/53.xml"
|
|
||||||
### end of user defined variables
|
### end of user defined variables
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
@ -81,8 +78,10 @@ unset _BPLIST
|
||||||
_MEESA=$(readlink -f $0)
|
_MEESA=$(readlink -f $0)
|
||||||
_TMPDIR="${_TMPDIR:=/tmp}"
|
_TMPDIR="${_TMPDIR:=/tmp}"
|
||||||
_TMPCERT=$(mktemp -p ${_TMPDIR} openup-pkg_cert.XXXXXX) || exit 1
|
_TMPCERT=$(mktemp -p ${_TMPDIR} openup-pkg_cert.XXXXXX) || exit 1
|
||||||
_TMPUPD=$(mktemp -p ${_TMPDIR} openup-update.XXXXXX) || exit 1
|
|
||||||
_TMPSPLITCERT=$(mktemp -p ${_TMPDIR} openup-split_cert.XXXXXX) || exit 1
|
_TMPSPLITCERT=$(mktemp -p ${_TMPDIR} openup-split_cert.XXXXXX) || exit 1
|
||||||
|
_TMPUPD=$(mktemp -p ${_TMPDIR} openup-update.XXXXXX) || exit 1
|
||||||
|
_TMPVUXML=$(mktemp -p ${_TMPDIR} openup-vuxml.XXXXXX) || exit 1
|
||||||
|
_VUXML_URL="https://stable.mtier.org/vuxml/${_REL_INT}.xml"
|
||||||
|
|
||||||
export PKG_PATH=${PKG_PATH_UPDATE}:${PKG_PATH_MAIN}
|
export PKG_PATH=${PKG_PATH_UPDATE}:${PKG_PATH_MAIN}
|
||||||
|
|
||||||
|
|
@ -175,9 +174,12 @@ update_pkg() {
|
||||||
eval ${_CMD}
|
eval ${_CMD}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# this only outputs the most recent vulnerability
|
||||||
check_vuxml() {
|
check_vuxml() {
|
||||||
local _OUTDATED
|
local _OUTDATED
|
||||||
|
|
||||||
|
ftp -Vo ${_TMPVUXML} ${_VUXML_URL} >/dev/null
|
||||||
|
|
||||||
_OUTDATED=$(pkg_add -nuv -D nosig 2>/dev/null | \
|
_OUTDATED=$(pkg_add -nuv -D nosig 2>/dev/null | \
|
||||||
grep '(installing)(pretending)' | \
|
grep '(installing)(pretending)' | \
|
||||||
sed -e 's,Adding ,,;s,(pretending),,;s,->.*,,' | \
|
sed -e 's,Adding ,,;s,(pretending),,;s,->.*,,' | \
|
||||||
|
|
@ -187,7 +189,7 @@ check_vuxml() {
|
||||||
do
|
do
|
||||||
pr_bigarrow "${p} <"
|
pr_bigarrow "${p} <"
|
||||||
# XXX how do we print only the 1st matching range in awk?
|
# XXX how do we print only the 1st matching range in awk?
|
||||||
awk "/<name>${p}<\/name>/,/<\/vuln>/" /tmp/53.xml | \
|
awk "/<name>${p}<\/name>/,/<\/vuln>/" ${_TMPVUXML} | \
|
||||||
sed '/<\/vuln>/,$d' | \
|
sed '/<\/vuln>/,$d' | \
|
||||||
sed -n -e 's/.*<range><lt>\(.*\)<\/lt><\/range>.*/\1/p' \
|
sed -n -e 's/.*<range><lt>\(.*\)<\/lt><\/range>.*/\1/p' \
|
||||||
-e 's/.*<p>\(.*\)<\/p>.*/\1/p' | uniq |\
|
-e 's/.*<p>\(.*\)<\/p>.*/\1/p' | uniq |\
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue