summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/meta/cve-update-nvd2-native.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/meta/cve-update-nvd2-native.bb')
-rw-r--r--meta/recipes-core/meta/cve-update-nvd2-native.bb10
1 files changed, 7 insertions, 3 deletions
diff --git a/meta/recipes-core/meta/cve-update-nvd2-native.bb b/meta/recipes-core/meta/cve-update-nvd2-native.bb
index 64a96a46f0..dab0b69edc 100644
--- a/meta/recipes-core/meta/cve-update-nvd2-native.bb
+++ b/meta/recipes-core/meta/cve-update-nvd2-native.bb
@@ -26,6 +26,9 @@ NVDCVE_API_KEY ?= ""
# Use a negative value to skip the update
CVE_DB_UPDATE_INTERVAL ?= "86400"
+# Number of attmepts for each http query to nvd server before giving up
+CVE_DB_UPDATE_ATTEMPTS ?= "5"
+
CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_2.db"
CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_2.db"
@@ -111,7 +114,7 @@ def cleanup_db_download(db_file, db_tmp_file):
if os.path.exists(db_tmp_file):
os.remove(db_tmp_file)
-def nvd_request_next(url, api_key, args):
+def nvd_request_next(url, attempts, api_key, args):
"""
Request next part of the NVD dabase
"""
@@ -127,7 +130,7 @@ def nvd_request_next(url, api_key, args):
request.add_header("apiKey", api_key)
bb.note("Requesting %s" % request.full_url)
- for attempt in range(5):
+ for attempt in range(attempts):
try:
r = urllib.request.urlopen(request)
@@ -183,10 +186,11 @@ def update_db_file(db_tmp_file, d, database_time):
index = 0
url = d.getVar("NVDCVE_URL")
api_key = d.getVar("NVDCVE_API_KEY") or None
+ attempts = int(d.getVar("CVE_DB_UPDATE_ATTEMPTS"))
while True:
req_args['startIndex'] = index
- raw_data = nvd_request_next(url, api_key, req_args)
+ raw_data = nvd_request_next(url, attempts, api_key, req_args)
if raw_data is None:
# We haven't managed to download data
return False