diff options
| -rw-r--r-- | meta/recipes-core/meta/cve-update-db.bb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/meta/recipes-core/meta/cve-update-db.bb b/meta/recipes-core/meta/cve-update-db.bb index 1f48820cc6..4c896dc880 100644 --- a/meta/recipes-core/meta/cve-update-db.bb +++ b/meta/recipes-core/meta/cve-update-db.bb | |||
| @@ -25,6 +25,7 @@ python do_populate_cve_db() { | |||
| 25 | BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-" | 25 | BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-" |
| 26 | YEAR_START = 2002 | 26 | YEAR_START = 2002 |
| 27 | JSON_TMPFILE = d.getVar("CVE_CHECK_DB_DIR") + '/nvd.json.gz' | 27 | JSON_TMPFILE = d.getVar("CVE_CHECK_DB_DIR") + '/nvd.json.gz' |
| 28 | proxy = d.getVar("https_proxy") | ||
| 28 | 29 | ||
| 29 | # Connect to database | 30 | # Connect to database |
| 30 | db_file = d.getVar("CVE_CHECK_DB_FILE") | 31 | db_file = d.getVar("CVE_CHECK_DB_FILE") |
| @@ -39,7 +40,10 @@ python do_populate_cve_db() { | |||
| 39 | json_url = year_url + ".json.gz" | 40 | json_url = year_url + ".json.gz" |
| 40 | 41 | ||
| 41 | # Retrieve meta last modified date | 42 | # Retrieve meta last modified date |
| 42 | with urllib.request.urlopen(meta_url) as r: | 43 | req = urllib.request.Request(meta_url) |
| 44 | if proxy: | ||
| 45 | req.set_proxy(proxy, 'https') | ||
| 46 | with urllib.request.urlopen(req) as r: | ||
| 43 | date_line = str(r.read().splitlines()[0]) | 47 | date_line = str(r.read().splitlines()[0]) |
| 44 | last_modified = re.search('lastModifiedDate:(.*)', date_line).group(1) | 48 | last_modified = re.search('lastModifiedDate:(.*)', date_line).group(1) |
| 45 | 49 | ||
| @@ -48,7 +52,10 @@ python do_populate_cve_db() { | |||
| 48 | meta = c.fetchone() | 52 | meta = c.fetchone() |
| 49 | if not meta or meta[0] != last_modified: | 53 | if not meta or meta[0] != last_modified: |
| 50 | # Update db with current year json file | 54 | # Update db with current year json file |
| 51 | with urllib.request.urlopen(json_url) as r, open(JSON_TMPFILE, 'wb') as tmpfile: | 55 | req = urllib.request.Request(json_url) |
| 56 | if proxy: | ||
| 57 | req.set_proxy(proxy, 'https') | ||
| 58 | with urllib.request.urlopen(req) as r, open(JSON_TMPFILE, 'wb') as tmpfile: | ||
| 52 | shutil.copyfileobj(r, tmpfile) | 59 | shutil.copyfileobj(r, tmpfile) |
| 53 | with gzip.open(JSON_TMPFILE, 'rt') as jsonfile: | 60 | with gzip.open(JSON_TMPFILE, 'rt') as jsonfile: |
| 54 | update_db(c, jsonfile) | 61 | update_db(c, jsonfile) |
