git: 98a20248747e - main - security/vuxml: make newentry: Fix providers init.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 14 Feb 2026 18:17:26 UTC
The branch main has been updated by fernape:
URL: https://cgit.FreeBSD.org/ports/commit/?id=98a20248747e037866bde042324e20bf9f247e5a
commit 98a20248747e037866bde042324e20bf9f247e5a
Author: Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2026-02-12 14:54:14 +0000
Commit: Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2026-02-14 18:15:01 +0000
security/vuxml: make newentry: Fix providers init.
An init fail shouldn't exit the script.
Initialize registered providers only.
Use successfully initialized providers only.
Keep euvd for now although it's been down for the last few days.
---
security/vuxml/files/euvd_provider.sh | 2 +-
security/vuxml/files/newentry.sh | 15 +++++++++------
security/vuxml/files/nvd_provider.sh | 2 +-
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/security/vuxml/files/euvd_provider.sh b/security/vuxml/files/euvd_provider.sh
index 821d2fcc06a2..d47f510a4e25 100644
--- a/security/vuxml/files/euvd_provider.sh
+++ b/security/vuxml/files/euvd_provider.sh
@@ -5,7 +5,7 @@ tmp_euvd=""
init_euvd() {
tmp_euvd=$(mktemp "${TMPDIR:-/tmp}"/euvd_json_data.XXXXXXXXXX) || exit 1
- fetch -q -o "${tmp_euvd}" "https://euvdservices.enisa.europa.eu/api/enisaid?id=${CVE_ID}" || exit 1
+ fetch -q -o "${tmp_euvd}" "https://euvdservices.enisa.europa.eu/api/enisaid?id=${CVE_ID}"
}
cleanup_euvd() {
diff --git a/security/vuxml/files/newentry.sh b/security/vuxml/files/newentry.sh
index 0fcffae816ad..a4c4befb76f4 100644
--- a/security/vuxml/files/newentry.sh
+++ b/security/vuxml/files/newentry.sh
@@ -51,7 +51,7 @@ cleanup() {
fi
# Call cleaners for providers
- for provider in ${providers}; do
+ for provider in ${valid_providers}; do
cleanup_"${provider}"
cleanup_"${provider}"
done
@@ -104,6 +104,7 @@ check_dependencies()
# List of CVE providers sorted by preference
# ------------------------------------------
providers="mitre nvd euvd"
+valid_providers=""
# ------------------------------------------
# List of fields to query for every provider
@@ -125,7 +126,7 @@ resolve_field() {
shift
providers="$@"
- for provider in $providers; do
+ for provider in ${valid_providers}; do
func="get_${field}_from_${provider}"
if command -v "${func}" >/dev/null 2>&1; then
value="$($func)"
@@ -145,7 +146,7 @@ resolve_field() {
# --------------------------------------------------
get_cve_info() {
for field in ${fields}; do
- value=$(resolve_field "${field}" ${providers})
+ value=$(resolve_field "${field}" ${valid_providers})
eval "${field}=\$value"
done
@@ -203,10 +204,12 @@ DESC_BODY="<body xmlns=\"http://www.w3.org/1999/xhtml\">
}
init_providers() {
- for provider in files/*_provider.sh; do
- provider_name=$(basename "${provider}" | cut -f1 -d_)
+ for provider_name in ${providers}; do
. "files/${provider_name}_provider.sh"
- init_"${provider_name}"
+ if init_"${provider_name}"; then
+ # The provider failed, remove it.
+ valid_providers="${valid_providers} ${provider_name}"
+ fi
done
}
diff --git a/security/vuxml/files/nvd_provider.sh b/security/vuxml/files/nvd_provider.sh
index 8a383a7d6752..7bd608562388 100644
--- a/security/vuxml/files/nvd_provider.sh
+++ b/security/vuxml/files/nvd_provider.sh
@@ -6,7 +6,7 @@ tmp_nvd=""
init_nvd()
{
tmp_nvd=$(mktemp "${TMPDIR:-/tmp}"/nvd_json_data.XXXXXXXXXX) || exit 1
- fetch -q -o "${tmp_nvd}" https://services.nvd.nist.gov/rest/json/cves/2.0?cveId="${CVE_ID}" || exit 1
+ fetch -q -o "${tmp_nvd}" https://services.nvd.nist.gov/rest/json/cves/2.0?cveId="${CVE_ID}"
}
cleanup_nvd()