diff --git a/cve-vulner-manager/controllers/file.go b/cve-vulner-manager/controllers/file.go index 33ac63119cf3bcaf9d0a18dbe86f4f9c1362b5ce..5558bfdf255e28a6da516ecba31c39f7c6fab29f 100644 --- a/cve-vulner-manager/controllers/file.go +++ b/cve-vulner-manager/controllers/file.go @@ -24,12 +24,12 @@ import ( "github.com/astaxie/beego/logs" ) -//FileController file operation routing processing +// FileController file operation routing processing type FileController struct { beego.Controller } -//DownloadLastExcel Download the latest excel file +// DownloadLastExcel Download the latest excel file // @router /lastExcel [get] func (f *FileController) DownloadLastExcel() { fd := beego.AppConfig.DefaultString("fileDir", "download") @@ -46,8 +46,8 @@ func (f *FileController) DownloadLastExcel() { f.Ctx.Output.Download(fp, er.FileName) } -//DownLoadExcelByFileCode download excel file by code -//@router /downloadExcel +// DownLoadExcelByFileCode download excel file by code +// @router /downloadExcel func (f *FileController) DownLoadExcelByFileCode() { fd := beego.AppConfig.DefaultString("fileDir", "download") common.CreateDir(fd) @@ -81,8 +81,8 @@ func (f *FileController) DownLoadExcelByFileCode() { f.Ctx.Output.Download(fp, er.FileName) } -//TriggerCveData touch off generate cve data excel and get cve package -//@router /triggerCveData [get] +// TriggerCveData touch off generate cve data excel and get cve package +// @router /triggerCveData [get] func (f *FileController) TriggerCveData() { // Limit on the number of triggers nameStr, limitCount := LimitTriggerSa() @@ -134,7 +134,6 @@ func (f *FileController) TriggerCveData() { UpdateLimitTriggerSa(nameStr, 2) return } - owner := beego.AppConfig.String("gitee::owner") // proc OpenEulerSaNum taskhandler.UpdateUseOpenEulerSaNum() rt := regexp.MustCompile(`^(\d{4})-\d{2}-(\d{2})$`) @@ -151,10 +150,7 @@ func (f *FileController) TriggerCveData() { } //cve pull_request freeze time changed to a month ago startTime = common.TimeStrSub(startTime, -180) - unaffectYear, yerr := beego.AppConfig.Int("excel::unaffect_year") - if yerr != nil { - unaffectYear = 2018 - } + dir := beego.AppConfig.DefaultString("fileDir", "download") common.CreateDir(dir) var wgCrvf sync.WaitGroup @@ -183,8 +179,6 @@ func (f *FileController) TriggerCveData() { openBranchx := strings.Split(csvP, "@") if len(openBranchx) == 2 { affectBranch := openBranchx[0] - taskhandler.UnaffectIssueProc(affectBranch, cvrfFileList, - componentMap, startTime, accessToken, owner, &unaffectcvrf, unaffectYear, cves) affectBranchSlice = append(affectBranchSlice, affectBranch) csvDownPath := openBranchx[1] now := time.Now().Unix() diff --git a/cve-vulner-manager/task/cve.go b/cve-vulner-manager/task/cve.go index 2e71467d1d33aab38db19dd12f45a45baaa23545..354500cf639c5f4841ce592e454740968952cd4e 100644 --- a/cve-vulner-manager/task/cve.go +++ b/cve-vulner-manager/task/cve.go @@ -1,18 +1,18 @@ package task import ( - "bytes" "encoding/xml" "errors" "fmt" "io/ioutil" - "mime/multipart" "net/http" + "net/url" "os" "path/filepath" "strings" "github.com/astaxie/beego" + "github.com/opensourceways/server-common-lib/utils" "cvevulner/common" "cvevulner/taskhandler" @@ -127,24 +127,32 @@ func ReleaseUnaffectedCve() error { return obsErr } - url := beego.AppConfig.String("reflink::openeuler_api") + "/cve-security-notice-server/syncUnCVE" - var buf = new(bytes.Buffer) - form := multipart.NewWriter(buf) - _ = form.WriteField("username", beego.AppConfig.String("cve::user")) - _ = form.WriteField("password", beego.AppConfig.String("cve::pwd")) - _ = form.WriteField("cveNo", localFileName) - err := form.Close() - if err != nil { - logs.Error("multipart close failed, err:", err.Error()) - return err + syncUnCVEUrl := beego.AppConfig.String("reflink::openeuler_api") + "/cve-security-notice-server/syncUnCVE" + client := utils.NewHttpClient(3) + + v := url.Values{} + v.Set("username", beego.AppConfig.String("cve::user")) + v.Set("password", beego.AppConfig.String("cve::pwd")) + v.Set("cveNo", localFileName) + + req, _ := http.NewRequest(http.MethodPost, syncUnCVEUrl, strings.NewReader(v.Encode())) + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + + var resp struct { + Code int `json:"code"` + Msg string `json:"msg"` } - _, err = http.Post(url, form.FormDataContentType(), buf) + _, err := client.ForwardTo(req, &resp) if err != nil { - logs.Error("release unaffected cve failed, err:", err.Error()) return err } + if resp.Code == 1 { + logs.Error("release unaffected cve failed, err: ", resp.Msg) + return nil + } + taskhandler.DelFile([]string{cvrffileName}) return nil