mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-12 03:15:06 +01:00
72 lines
1.8 KiB
Text
72 lines
1.8 KiB
Text
#!/sbin/openrc-run
|
|
# Copyright 1999-2019 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
GCD_DBPATH="${GCD_DBPATH:-/var/lib/vuls/cve.sqlite3}"
|
|
GCD_DBTYPE="${GCD_DBTYPE:-sqlite3}"
|
|
GCD_LOGDIR="${GCD_LOGDIR:-/var/log/vuls}"
|
|
|
|
GCD_START_PERIOD="${GCD_START_PERIOD:-2002}"
|
|
GCD_END_PERIOD="${GCD_END_PERIOD:-$(date +%Y)}"
|
|
|
|
USER="vuls"
|
|
GROUP="vuls"
|
|
|
|
description="Using go-cve-dictionary as server mode"
|
|
command="/usr/lib/go-gentoo/bin/go-cve-dictionary"
|
|
command_background="true"
|
|
command_user="${USER}:${GROUP}"
|
|
|
|
command_args="server
|
|
-bind=${GCD_HOST:-127.0.0.1}
|
|
-port=${GCD_PORT:-1323}
|
|
-dbpath=${GCD_DBPATH}
|
|
-dbtype=${GCD_DBTYPE}
|
|
-log-dir=${GCD_LOGDIR}
|
|
${GCD_OPTS}"
|
|
|
|
pidfile="/run/${RC_SVCNAME}.pid"
|
|
retry="TERM/25/KILL/5"
|
|
start_stop_daemon_args="--quiet -1 ${GCD_LOGDIR}/cve-dictionary.log -2 ${GCD_LOGDIR}/cve-dictionary.log"
|
|
extra_commands="checkconfig fetchnvd fetchjvn"
|
|
|
|
depend() {
|
|
need net
|
|
}
|
|
|
|
_update_cve_database() {
|
|
local dict_fetch_command="${1}"
|
|
|
|
ebegin "Updating CVE database. Please, wait (It takes about 10 minutes)"
|
|
for i in `seq ${GCD_START_PERIOD} ${GCD_END_PERIOD}`; do
|
|
einfo "Fetching at ${i} using: ${dict_fetch_command}"
|
|
/bin/su -s /bin/sh -c "${command} ${dict_fetch_command} \
|
|
-dbpath=${GCD_DBPATH} \
|
|
-dbtype=${GCD_DBTYPE} \
|
|
-log-dir=${GCD_LOGDIR} \
|
|
-years ${i}" ${USER}
|
|
done
|
|
eend ${?} "Failed to update a CVE database: ${GCD_DBPATH}"
|
|
}
|
|
|
|
checkconfig() {
|
|
if ! [ -f "${GCD_DBPATH}" ]; then
|
|
eerror "You need update CVE database \"${GCD_DBPATH}\" to run ${RC_SVCNAME}:"
|
|
eerror " ~# rc-service ${RC_SVCNAME} {fetchnvd,fetchjvn}"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
fetchnvd() {
|
|
_update_cve_database ${FUNCNAME[0]} || return 1
|
|
}
|
|
|
|
fetchjvn() {
|
|
_update_cve_database ${FUNCNAME[0]} || return 1
|
|
}
|
|
|
|
start_pre() {
|
|
checkconfig || return 1
|
|
}
|
|
|
|
# vim: set ft=gentoo-init-d ts=4 :
|