|
@@ -354,3 +354,25 @@ def has_cve_product_match(detailed_status, products):
|
|
|
|
|
|
#if no match, return False
|
|
|
return False
|
|
|
+
|
|
|
+def extend_cve_status(d):
|
|
|
+ # do this only once in case multiple classes use this
|
|
|
+ if d.getVar("CVE_STATUS_EXTENDED"):
|
|
|
+ return
|
|
|
+ d.setVar("CVE_STATUS_EXTENDED", "1")
|
|
|
+
|
|
|
+ # Fallback all CVEs from CVE_CHECK_IGNORE to CVE_STATUS
|
|
|
+ cve_check_ignore = d.getVar("CVE_CHECK_IGNORE")
|
|
|
+ if cve_check_ignore:
|
|
|
+ bb.warn("CVE_CHECK_IGNORE is deprecated in favor of CVE_STATUS")
|
|
|
+ for cve in (d.getVar("CVE_CHECK_IGNORE") or "").split():
|
|
|
+ d.setVarFlag("CVE_STATUS", cve, "ignored")
|
|
|
+
|
|
|
+ # Process CVE_STATUS_GROUPS to set multiple statuses and optional detail or description at once
|
|
|
+ for cve_status_group in (d.getVar("CVE_STATUS_GROUPS") or "").split():
|
|
|
+ cve_group = d.getVar(cve_status_group)
|
|
|
+ if cve_group is not None:
|
|
|
+ for cve in cve_group.split():
|
|
|
+ d.setVarFlag("CVE_STATUS", cve, d.getVarFlag(cve_status_group, "status"))
|
|
|
+ else:
|
|
|
+ bb.warn("CVE_STATUS_GROUPS contains undefined variable %s" % cve_status_group)
|