mirror of
https://git.yoctoproject.org/poky
synced 2026-05-07 16:59:22 +00:00
cve-update-db: Use std library instead of urllib3
urllib3 was used in this recipe but it was not set as a dependency. As it is not specifically needed, rewrite the recipe with urllib from the standard library. (From OE-Core rev: c0eabd30d7b9c2517f4ec9229640be421ecc8a5e) Signed-off-by: Pierre Le Magourou <pierre.lemagourou@softbankrobotics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
469f037b3b
commit
3baf4d7fd0
@@ -19,7 +19,7 @@ python do_populate_cve_db() {
|
||||
Update NVD database with json data feed
|
||||
"""
|
||||
|
||||
import sqlite3, urllib3, shutil, gzip, re
|
||||
import sqlite3, urllib, shutil, gzip, re
|
||||
from datetime import date
|
||||
|
||||
BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-"
|
||||
@@ -33,16 +33,14 @@ python do_populate_cve_db() {
|
||||
|
||||
initialize_db(c)
|
||||
|
||||
http = urllib3.PoolManager()
|
||||
|
||||
for year in range(YEAR_START, date.today().year + 1):
|
||||
year_url = BASE_URL + str(year)
|
||||
meta_url = year_url + ".meta"
|
||||
json_url = year_url + ".json.gz"
|
||||
|
||||
# Retrieve meta last modified date
|
||||
with http.request('GET', meta_url, preload_content=False) as r:
|
||||
date_line = str(r.data.splitlines()[0])
|
||||
with urllib.request.urlopen(meta_url) as r:
|
||||
date_line = str(r.read().splitlines()[0])
|
||||
last_modified = re.search('lastModifiedDate:(.*)', date_line).group(1)
|
||||
|
||||
# Compare with current db last modified date
|
||||
@@ -50,7 +48,7 @@ python do_populate_cve_db() {
|
||||
meta = c.fetchone()
|
||||
if not meta or meta[0] != last_modified:
|
||||
# Update db with current year json file
|
||||
with http.request('GET', json_url, preload_content=False) as r, open(JSON_TMPFILE, 'wb') as tmpfile:
|
||||
with urllib.request.urlopen(json_url) as r, open(JSON_TMPFILE, 'wb') as tmpfile:
|
||||
shutil.copyfileobj(r, tmpfile)
|
||||
with gzip.open(JSON_TMPFILE, 'rt') as jsonfile:
|
||||
update_db(c, jsonfile)
|
||||
|
||||
Reference in New Issue
Block a user