diff --git a/cve-vulner-manager/conf/product_app.conf b/cve-vulner-manager/conf/product_app.conf index 4fff6db4ed55c867e60cd2800658ba91515a109a..b19f7d09679c856286ec6c4495a6539cb0a58a30 100644 --- a/cve-vulner-manager/conf/product_app.conf +++ b/cve-vulner-manager/conf/product_app.conf @@ -227,7 +227,7 @@ snsuffix = 1002 # openEuler-20.03-LTS-SP1@http://119.3.219.20:88/mkb/obs_update_info/openEuler-20.03-LTS-SP1.csv # public sa format: openEuler-20.03-LTS@https;openEuler-20.03-LTS-SP1@https v_pack_20_03_url = "openEuler-20.03-LTS-SP4@https;openEuler-22.03-LTS-SP1@https;openEuler-22.03-LTS-SP3@https;openEuler-22.03-LTS-SP4@https;openEuler-24.03-LTS@https" -release_date_of_version = "openEuler-20.03-LTS-SP4:2023-12-12;openEuler-22.03-LTS-SP3:2024-01-01;openEuler-24.03-LTS:2024-05-30;openEuler-22.03-LTS-SP4:2024-06-29;openEuler-24.03-LTS-SP1:2024-12-22" +release_date_of_version = "openEuler-20.03-LTS-SP4:2023-12-12;openEuler-22.03-LTS-SP3:2024-01-01;openEuler-24.03-LTS:2024-05-30;openEuler-22.03-LTS-SP4:2024-06-29;openEuler-24.03-LTS-SP1:2024-12-22;openEuler-24.03-LTS-SP2:2025-06-26" # Time difference in different time zones sa_timestamp_zone = 28810 unaffect_year = 2018 diff --git a/cve-vulner-manager/cve-ddd/app/bulletin.go b/cve-vulner-manager/cve-ddd/app/bulletin.go index 04ecabcde50f6344e4ada827ff3dc8db7df9ddb6..15e6a099a85335cbe69303857b1ea495f3ced4f9 100644 --- a/cve-vulner-manager/cve-ddd/app/bulletin.go +++ b/cve-vulner-manager/cve-ddd/app/bulletin.go @@ -206,9 +206,9 @@ func (b *bulletinService) filterByRequestParam(cves domain.Cves, cmd CmdToGenera for _, v := range cves { if branches, ok := cmd.CveNum[v.CveNum]; ok { v.AffectedVersion = branches + filteredCves = append(filteredCves, v) + b.log.Infof("filter by request param, %s: %v", v.CveNum, v.AffectedVersion) } - - filteredCves = append(filteredCves, v) } return filteredCves diff --git a/cve-vulner-manager/models/const.go b/cve-vulner-manager/models/const.go new file mode 100644 index 0000000000000000000000000000000000000000..c1918d8eed7d44f6d09f8d2befc3c48582f76e7b --- /dev/null +++ b/cve-vulner-manager/models/const.go @@ -0,0 +1,6 @@ +package models + +const ( + // CveStatusCreateFailed create issue failed + CveStatusCreateFailed = 3 +) diff --git a/cve-vulner-manager/models/issue.go b/cve-vulner-manager/models/issue.go index a9214408ce7114be715db781fb36a13787107550..692d99eebd0f270facb84d730a1ab0b3c9b98716 100644 --- a/cve-vulner-manager/models/issue.go +++ b/cve-vulner-manager/models/issue.go @@ -95,8 +95,8 @@ func QueryIssue(days string, prcnum int, list []string) ([]VulnCenter, error) { num, err = o.Raw(fmt.Sprintf("select * from cve_vuln_center where cve_num in (%s) and cve_status in (0, 1) "+ "order by cve_id asc limit %v", s, prcnum)).QueryRows(&vc) } else { - num, err = o.Raw("select * from cve_vuln_center where cve_status in (?, ?) "+ - "order by cve_id asc limit ?", 0, 1, prcnum).QueryRows(&vc) + num, err = o.Raw("select * from cve_vuln_center where cve_status in (0, 1) or (cve_status = 3 and create_time > ?) "+ + "order by cve_id asc limit ?", "2025-07-01", prcnum).QueryRows(&vc) } if err == nil && num > 0 { logs.Info("QueryIssue, cve_vuln_center, search result: ", vc) diff --git a/cve-vulner-manager/task/issuetask.go b/cve-vulner-manager/task/issuetask.go index 1b34abc75805a5def5bd2fd0862243a0c5cf3694..96c6e17ff27a59924cbb77307af3bf3346294890 100644 --- a/cve-vulner-manager/task/issuetask.go +++ b/cve-vulner-manager/task/issuetask.go @@ -273,7 +273,7 @@ func addUnlimitedIssue(beforeTime string, prcnum, years, toolYears, manYears, fl } } // Process each piece of cve data - if issueValue.Status == 0 || len(it.IssueNum) < 2 { + if len(it.IssueNum) == 0 { issueValue.Status = 2 mutex.Lock() err := ProcIssue(issueValue, accessToken, owner) @@ -564,8 +564,9 @@ func ProcUpdateIssue(issueValue models.VulnCenter, accessToken, owner string) er if err != nil && err.Error() != "Recreate issue" { logs.Error("ProcUpdateIssue, Failed to update issue template, "+ "CveNum: ", issueValue.CveNum, "err: ", err) - // Update issue status - models.UpdateIssueStatus(issueValue, 3) + if !strings.Contains(err.Error(), "rejected") { + models.UpdateIssueStatus(issueValue, models.CveStatusCreateFailed) + } return err } // Update issue status diff --git a/cve-vulner-manager/taskhandler/cve.go b/cve-vulner-manager/taskhandler/cve.go index 74947683429553f32bcb46cf67bc3c9036ee3d02..a0ed91129e2abf6afe4268a1b2f0280126b14eb6 100644 --- a/cve-vulner-manager/taskhandler/cve.go +++ b/cve-vulner-manager/taskhandler/cve.go @@ -1466,6 +1466,9 @@ func InsertIssueCveGroups(cveData models.GiteOriginIssue, lop models.Loophole, c owner, accessToken = common.GetOwnerAndToken(vul.CveNum, vul.OrganizationID) retVersion := AddCveVersion(vul.OrganizationID, strings.Split(RemoveSubstring(lop.Version, specCharList), ","), "") + if retVersion == "" { + retVersion = goe.Version + } vul.CveVersion = retVersion repair := tabletask.GetRepair(cveData.CveNumber) if len(repair) > 0 { @@ -1688,6 +1691,9 @@ func UpdateIssueCveGroups(cveData models.GiteOriginIssue, lop models.Loophole, c } retVersion := AddCveVersion(cveData.OrganizationID, strings.Split(RemoveSubstring(lop.Version, specCharList), ","), vul.CveVersion) + if retVersion == "" { + retVersion = goe.Version + } vul.CveVersion = retVersion if vul.PackName == "" || len(vul.PackName) < 1 { vul.PackName = cveData.RepoPath