diff --git a/conf/app.conf b/conf/app.conf
index 6269b3207880f71e8c932c0445511e803cc2d134..fcc232340de9a08b0c6710c0f7ad3443a4f75c91 100644
--- a/conf/app.conf
+++ b/conf/app.conf
@@ -23,7 +23,7 @@ labelUnFix = "CVE/UNFIX"
[mysql]
-dbhost = 192.168.1.95
+dbhost = "${DB_URI||***}"
dbport = 3306
dbuser = "${DB_USER||cve}"
dbpwd = "${DB_PWD||***}"
@@ -42,7 +42,7 @@ maxsize=304800
[crontab]
ymalflag = 2
-getymal = 00 00 02 * * *
+getymal = 00 00 01 * * *
cveflag = 2
getcve = 00 00 03 * * *
oricveflag = 2
@@ -52,13 +52,13 @@ getissue = 00 00 05 * * *
issueflag = 2
createissue = * * 05 * * *
test = 0/10 * * * * *
-gittokenflag = 1
+gittokenflag = 2
issueoath = * * */20 * * *
genexcelflag = 7
genexcel = 00 00 04 * * *
days = -30
prcnum = 100
-printlogflag = 1
+printlogflag = 2
printlog = 0 */10 * * * *
diff --git a/conf/product_app.conf b/conf/product_app.conf
index 24ed4d23ea8dd7fbcebd5a2b8364a22979ddba41..c93cbc029b6dd7ee250d4d1226f9da509f1ee69d 100644
--- a/conf/product_app.conf
+++ b/conf/product_app.conf
@@ -23,7 +23,8 @@ labelUnFix = "CVE/UNFIX"
[mysql]
-dbhost = 172.16.1.73
+#dbhost = 172.16.1.73
+dbhost = "${DB_URI||***}"
dbport = 3306
dbuser = "${DB_USER||cve}"
dbpwd = "${DB_PWD||***}"
@@ -42,7 +43,7 @@ maxsize=304800
[crontab]
ymalflag = 2
-getymal = 00 00 02 * * *
+getymal = 00 00 01 * * *
cveflag = 2
getcve = 00 00 03 * * *
oricveflag = 2
@@ -52,13 +53,13 @@ getissue = 00 00 05 * * *
issueflag = 2
createissue = * * 05 * * *
test = 0/10 * * * * *
-gittokenflag = 1
+gittokenflag = 2
issueoath = * * */20 * * *
-genexcelflag = 7
+genexcelflag = 2
genexcel = 00 00 04 * * *
days = -30
prcnum = 100
-printlogflag = 1
+printlogflag = 2
printlog = 0 */10 * * * *
diff --git a/doc/image/Framework.png b/doc/image/Framework.png
index 28a39c7d5d7ee691e8b442b8a0ffeb8e55b5729f..6b40d66c3d1cfcf9cabde6cf2dadda3142212018 100644
Binary files a/doc/image/Framework.png and b/doc/image/Framework.png differ
diff --git a/doc/sql/db_struct.sql b/doc/sql/db_struct.sql
index f4984fdf62a7f2e3b42e7099ebe1290d295f1ac9..e1643b12d5670213cb05bf1d02a35e8cf37a5fe6 100644
--- a/doc/sql/db_struct.sql
+++ b/doc/sql/db_struct.sql
@@ -84,7 +84,7 @@ CREATE TABLE `cve_git_open_euler` (
KEY `cve_git_open_euler_package_id` (`package_id`),
KEY `cve_git_open_euler_version` (`version`),
KEY `cve_git_open_euler_table_id` (`table_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=4748 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_git_open_euler_table_relate` */
@@ -98,7 +98,7 @@ CREATE TABLE `cve_git_open_euler_table_relate` (
PRIMARY KEY (`relate_id`),
UNIQUE KEY `cve_git_open_euler_table_gitid_tab_un` (`git_id`,`table_name`),
KEY `cve_git_open_euler_table_relate_git_id` (`git_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=5003 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_git_package_info` */
@@ -129,7 +129,7 @@ CREATE TABLE `cve_git_package_info` (
KEY `cve_git_package_info_git_id` (`git_id`),
KEY `cve_git_package_info_git_ids` (`git_ids`),
KEY `cve_git_package_info_version` (`version`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=4748 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_git_package_table` */
@@ -165,7 +165,7 @@ CREATE TABLE `cve_git_sub_pack` (
PRIMARY KEY (`sub_id`),
KEY `cve_git_sub_pack_detail_id` (`detail_id`),
KEY `cve_git_sub_pack_ids` (`ids`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=14236 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_git_sub_pack_provides` */
@@ -180,7 +180,7 @@ CREATE TABLE `cve_git_sub_pack_provides` (
PRIMARY KEY (`provide_id`),
KEY `cve_git_sub_pack_provides_sub_id` (`sub_id`),
KEY `cve_git_sub_pack_provides_ids` (`ids`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=80902 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_git_sub_pack_require` */
@@ -195,7 +195,7 @@ CREATE TABLE `cve_git_sub_pack_require` (
PRIMARY KEY (`require_id`),
KEY `cve_git_sub_pack_require_sub_id` (`sub_id`),
KEY `cve_git_sub_pack_require_ids` (`ids`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=106624 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_git_sub_pack_requiredby` */
@@ -207,7 +207,7 @@ CREATE TABLE `cve_git_sub_pack_requiredby` (
`requiredb` varchar(256) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `cve_git_sub_pack_requiredby_provide_id` (`provide_id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=121916 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_gite_origin_issue` */
@@ -392,7 +392,7 @@ CREATE TABLE `cve_open_euler_s_a` (
PRIMARY KEY (`openeuler_id`),
UNIQUE KEY `openeuler_sa_num` (`openeuler_sa_num`),
KEY `cve_open_euler_s_a_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=543 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=546 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_excel` */
@@ -427,7 +427,7 @@ CREATE TABLE `cve_origin_excel` (
`delete_time` datetime DEFAULT NULL,
PRIMARY KEY (`cve_id`) USING BTREE,
UNIQUE KEY `cve_origin_excel_num_un` (`cve_num`)
-) ENGINE=InnoDB AUTO_INCREMENT=149 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+) ENGINE=InnoDB AUTO_INCREMENT=149 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
/*Table structure for table `cve_origin_upstream` */
@@ -460,7 +460,7 @@ CREATE TABLE `cve_origin_upstream` (
KEY `cve_origin_upstream_cve_packname` (`cve_packname`),
KEY `cve_origin_upstream_git_packname` (`git_packname`),
KEY `cve_origin_upstream_version` (`version`)
-) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_config` */
@@ -472,7 +472,7 @@ CREATE TABLE `cve_origin_upstream_config` (
`nodes` varchar(32) DEFAULT NULL,
PRIMARY KEY (`conf_id`),
KEY `cve_origin_upstream_config_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_config_node` */
@@ -484,7 +484,7 @@ CREATE TABLE `cve_origin_upstream_config_node` (
`operator` varchar(256) DEFAULT NULL,
PRIMARY KEY (`node_id`),
KEY `cve_origin_upstream_config_node_conf_id` (`conf_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=105 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_config_node_cpe` */
@@ -498,7 +498,7 @@ CREATE TABLE `cve_origin_upstream_config_node_cpe` (
`vulner_able` varchar(64) DEFAULT NULL,
PRIMARY KEY (`cpe_id`),
KEY `cve_origin_upstream_config_node_cpe_node_id` (`node_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=2633 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=2818 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_desc` */
@@ -511,7 +511,7 @@ CREATE TABLE `cve_origin_upstream_desc` (
`zh_desc` text CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY (`desc_id`),
KEY `cve_origin_upstream_desc_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_event` */
@@ -526,7 +526,7 @@ CREATE TABLE `cve_origin_upstream_event` (
`description` text CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY (`event_id`),
KEY `cve_origin_upstream_event_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_fix_suggest` */
@@ -538,7 +538,7 @@ CREATE TABLE `cve_origin_upstream_fix_suggest` (
`detail` varchar(1024) DEFAULT NULL,
PRIMARY KEY (`fix_id`),
KEY `cve_origin_upstream_fix_suggest_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_fix_suggest_ref` */
@@ -576,7 +576,7 @@ CREATE TABLE `cve_origin_upstream_impact` (
`impact` varchar(32) DEFAULT NULL,
PRIMARY KEY (`impact_id`),
KEY `cve_origin_upstream_impact_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_impact_score` */
@@ -592,7 +592,7 @@ CREATE TABLE `cve_origin_upstream_impact_score` (
`score_status` tinyint DEFAULT '1',
PRIMARY KEY (`score_id`),
KEY `cve_origin_upstream_impact_score_impact_id` (`impact_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=161 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=167 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_impact_score_v2` */
@@ -621,7 +621,7 @@ CREATE TABLE `cve_origin_upstream_impact_score_v2` (
`cve_level` varchar(32) DEFAULT NULL,
PRIMARY KEY (`v2_id`),
KEY `cve_origin_upstream_impact_score_v2_score_id` (`score_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_impact_score_v3` */
@@ -647,7 +647,7 @@ CREATE TABLE `cve_origin_upstream_impact_score_v3` (
`cve_level` varchar(32) DEFAULT NULL,
PRIMARY KEY (`v3_id`),
KEY `cve_origin_upstream_impact_score_v3_score_id` (`score_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_poc` */
@@ -664,7 +664,7 @@ CREATE TABLE `cve_origin_upstream_poc` (
`desc` text CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY (`poc_id`),
KEY `cve_origin_upstream_poc_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_reference` */
@@ -679,7 +679,7 @@ CREATE TABLE `cve_origin_upstream_reference` (
`tags` text CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY (`ref_id`),
KEY `cve_origin_upstream_reference_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=1377 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=1405 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_origin_upstream_vul_type` */
@@ -693,7 +693,7 @@ CREATE TABLE `cve_origin_upstream_vul_type` (
`zh_desc` text CHARACTER SET utf8 COLLATE utf8_general_ci,
PRIMARY KEY (`vul_id`),
KEY `cve_origin_upstream_vul_type_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_other_user` */
@@ -781,7 +781,7 @@ CREATE TABLE `cve_score` (
PRIMARY KEY (`id`),
UNIQUE KEY `openeuler_id` (`openeuler_id`),
KEY `cve_score_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=543 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=546 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_score_record` */
@@ -796,7 +796,7 @@ CREATE TABLE `cve_score_record` (
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `cve_score_record_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=543 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=546 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_security_notice` */
@@ -822,7 +822,7 @@ CREATE TABLE `cve_security_notice` (
PRIMARY KEY (`sec_id`),
UNIQUE KEY `openeuler_id` (`openeuler_id`),
KEY `cve_security_notice_cve_id` (`cve_id`)
-) ENGINE=InnoDB AUTO_INCREMENT=543 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=547 DEFAULT CHARSET=utf8;
/*Table structure for table `cve_security_reviewer` */
@@ -856,9 +856,8 @@ CREATE TABLE `cve_vuln_center` (
`data_source` tinyint NOT NULL DEFAULT '1',
`cve_detail_url` varchar(1024) NOT NULL DEFAULT '',
PRIMARY KEY (`cve_id`),
- UNIQUE KEY `cve_vuln_c_n_pk_v_un` (`cve_num`,`cve_version`,`pack_name`),
KEY `cve_vuln_center_cve_num` (`cve_num`)
-) ENGINE=InnoDB AUTO_INCREMENT=600 DEFAULT CHARSET=utf8;
+) ENGINE=InnoDB AUTO_INCREMENT=603 DEFAULT CHARSET=utf8;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
diff --git a/git b/git
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/main.go b/main.go
index 6a1e7d117cbbce97a91c546e98288ff270db5955..29a77484f10ece2e9367dc26cef61ac1333361d4 100644
--- a/main.go
+++ b/main.go
@@ -13,17 +13,19 @@ func init() {
common.InitGlobal()
// Initialization log
common.LogInit()
- // Initialize the database
- //models.Initdb()
- // Initialize a scheduled task
- task.InitTask()
+
}
func main() {
+ // Initialize a scheduled task
+ ok := task.InitTask()
+ if !ok {
+ println("error: Timing task initialization failed, the program ends")
+ return
+ }
if beego.BConfig.RunMode == "dev" {
beego.BConfig.WebConfig.DirectoryIndex = true
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}
beego.Run()
-
}
diff --git a/task/inittask.go b/task/inittask.go
index 8269c6507df0d68898fb83d874bd535ae9947436..b972d52620caf87ceaf4718792473728f23ee5e3 100644
--- a/task/inittask.go
+++ b/task/inittask.go
@@ -13,6 +13,7 @@ func CheckOriCveTask(oriCveCheck string, ch *chan bool) {
err := CheckTask.Run()
if err != nil {
logs.Error("创建校验原始cve数据失败 ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("CheckOriCve", CheckTask)
@@ -28,6 +29,7 @@ func InitYamlTask(getYaml string, ch *chan bool) {
err := YamlTask.Run()
if err != nil {
logs.Error("创建获取yaml数据源任务失败 ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("GetYamlData", YamlTask)
@@ -43,6 +45,7 @@ func InitCveTask(getCve string, ch *chan bool) {
err := CveTask.Run()
if err != nil {
logs.Error("创建Cve任务失败 ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("ParamsCveOriginData", CveTask)
@@ -51,13 +54,14 @@ func InitCveTask(getCve string, ch *chan bool) {
*ch <- true
}
-//InitIssueTask Get the created issue data source
+// InitIssueTask Get the created issue data source
func InitIssueTask(getIssue string, ch *chan bool) {
logs.Info("获取已经创建的issue数据源 task start")
issueTask := toolbox.NewTask("GetIssueData", getIssue, GetIssueData)
err := issueTask.Run()
if err != nil {
logs.Error("获取已经创建的issue数据源任务失败 ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("GetIssueData", issueTask)
@@ -66,13 +70,14 @@ func InitIssueTask(getIssue string, ch *chan bool) {
*ch <- true
}
-//InitIssueToken Execute the token acquisition task to start
+// InitIssueToken Execute the token acquisition task to start
func InitIssueToken(issueOath string, ch *chan bool) {
logs.Info("执行获取token任务开始")
TokenTask := toolbox.NewTask("GetGiteeToken", issueOath, GetGiteeToken)
err := TokenTask.Run()
if err != nil {
logs.Error("create Issue token task failed ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("GetGiteeToken", TokenTask)
@@ -81,13 +86,14 @@ func InitIssueToken(issueOath string, ch *chan bool) {
*ch <- true
}
-//CreatTask Execute the create issue task to start
+// CreatTask Execute the create issue task to start
func CreatTask(createIssue string, ch *chan bool) {
logs.Info("执行创建issue任务开始")
cIssueTask := toolbox.NewTask("CreateIssue", createIssue, CreateIssue)
err := cIssueTask.Run()
if err != nil {
logs.Error("create Issue task failed ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("CreateIssue", cIssueTask)
@@ -103,6 +109,7 @@ func GenSAExcelTask(genExcel string, ch *chan bool) {
err := genExcelTask.Run()
if err != nil {
logs.Error("create genExcelTask failed ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("GenExcelData", genExcelTask)
@@ -118,6 +125,7 @@ func PrintLogTask(printLog string, ch *chan bool) {
err := printLogTask.Run()
if err != nil {
logs.Error("创建日志任务失败 ,err:", err)
+ *ch <- false
return
}
toolbox.AddTask("ProcLogData", printLogTask)
@@ -127,11 +135,11 @@ func PrintLogTask(printLog string, ch *chan bool) {
}
//InitTask Timing task initialization
-func InitTask() {
+func InitTask() bool {
BConfig, err := config.NewConfig("ini", "conf/app.conf")
if err != nil {
logs.Error("config init error: file:conf/app.conf: ", err)
- return
+ return false
}
// Get the original yaml data
ymalflag, errxs := BConfig.Int("crontab::ymalflag")
@@ -139,7 +147,10 @@ func InitTask() {
getymal := BConfig.String("crontab::getymal")
var yamch = make(chan bool)
go InitYamlTask(getymal, &yamch)
- <-yamch
+ ok := <-yamch
+ if !ok {
+ return false
+ }
close(yamch)
}
// Verify the original cve data
@@ -148,7 +159,10 @@ func InitTask() {
oricvecheck := BConfig.String("crontab::oricvecheck")
var checkch = make(chan bool)
go CheckOriCveTask(oricvecheck, &checkch)
- <-checkch
+ ok := <-checkch
+ if !ok {
+ return false
+ }
close(checkch)
}
// Refresh gittoken regularly
@@ -162,7 +176,10 @@ func InitTask() {
if gitToken == "xxx" {
var ch = make(chan bool)
go InitIssueToken(issueoath, &ch)
- <-ch
+ ok := <-ch
+ if !ok {
+ return false
+ }
close(ch)
}
}
@@ -172,7 +189,10 @@ func InitTask() {
getissue := BConfig.String("crontab::getissue")
var issuech = make(chan bool)
go InitIssueTask(getissue, &issuech)
- <-issuech
+ ok := <-issuech
+ if !ok {
+ return false
+ }
close(issuech)
}
// Generate cve vulnerability library
@@ -181,7 +201,10 @@ func InitTask() {
getcve := BConfig.String("crontab::getcve")
var cvech = make(chan bool)
go InitCveTask(getcve, &cvech)
- <-cvech
+ ok := <-cvech
+ if !ok {
+ return false
+ }
close(cvech)
}
// Regularly output logs to the console
@@ -190,7 +213,10 @@ func InitTask() {
printLog := BConfig.String("crontab::printlog")
var logch = make(chan bool)
go PrintLogTask(printLog, &logch)
- <-logch
+ ok := <-logch
+ if !ok {
+ return false
+ }
close(logch)
}
// Add issue
@@ -199,7 +225,10 @@ func InitTask() {
var ch = make(chan bool)
createIssue := BConfig.String("crontab::createissue")
go CreatTask(createIssue, &ch)
- <-ch
+ ok := <-ch
+ if !ok {
+ return false
+ }
close(ch)
} else {
logs.Info("no task")
@@ -210,9 +239,13 @@ func InitTask() {
var ch = make(chan bool)
genExcel := BConfig.String("crontab::genexcel")
go GenSAExcelTask(genExcel, &ch)
- <-ch
+ ok := <-ch
+ if !ok {
+ return false
+ }
close(ch)
} else {
logs.Info("no task")
}
+ return true
}
diff --git a/task/issuetask.go b/task/issuetask.go
index 02a9ea7c30b6516354d7afe0124114b0d2e474c5..62e5ff5adfbc78efe1ae318656bc75022a8ca362 100644
--- a/task/issuetask.go
+++ b/task/issuetask.go
@@ -204,9 +204,21 @@ func ProcIssue(issueValue models.VulnCenter, accessToken, owner, path string) er
logs.Error("获取Score 失败, err: ", err, "cveId: ", issueValue.CveId)
return err
}
- branchs := ""
+ branchList := []string{}
errBrands := errors.New("")
// Get branch information
+ branchList, errBrands = taskhandler.GetBranchesInfo(accessToken, owner, path)
+ if branchList == nil || len(branchList) == 0 {
+ logs.Error("获取分支信息失败,CveNum: ", issueValue.CveNum, "path: ", path, ", err: ", errBrands)
+ }
+ if len(branchList) > 0 {
+ brandArry = []string{}
+ for _, branch := range branchList {
+ brandArry = append(brandArry, branch)
+ }
+
+ }
+ branchs := ""
if len(brandArry) > 0 {
for _, b := range brandArry {
if b != "" && len(b) > 1 {
@@ -217,11 +229,7 @@ func ProcIssue(issueValue models.VulnCenter, accessToken, owner, path string) er
branchs = branchs[:len(branchs)-1]
}
} else {
- branchs, errBrands = taskhandler.GetBranchesInfo(accessToken, owner, path)
- if branchs == "" {
- logs.Error("获取分支信息失败,CveNum: ", issueValue.CveNum, "path: ", path, ", err: ", errBrands)
- }
- brandArry = append(brandArry, branchs)
+
}
resp, err := taskhandler.CreateIssueToGit(accessToken, owner, path, assignee, issueValue, sc, brandArry)
if err != nil {
diff --git a/taskhandler/assist.go b/taskhandler/assist.go
index dc929874b77584b9c1071cd01d240f37ba0d63b3..92bc7a5e303042dd9893e6d48743edeb70c59d73 100644
--- a/taskhandler/assist.go
+++ b/taskhandler/assist.go
@@ -76,13 +76,13 @@ func GetCollaboratorInfo(accessToken string, owner string, path string) (string,
return "", errors.New("参数错误")
}
-func GetBranchesInfo(accessToken string, owner string, path string) (string, error) {
- branchName := ""
+func GetBranchesInfo(accessToken string, owner string, path string) ([]string, error) {
+ branchNameList := []string{}
if accessToken != "" && owner != "" && path != "" {
url := "https://gitee.com/api/v5/repos/" + owner + "/" + path + "/branches?access_token=" + accessToken
branch, err := util.HTTPGet(url)
if err == nil && branch != nil {
- for _, value := range (branch) {
+ for _, value := range branch {
if _, ok := value["name"]; !ok {
logs.Error("branches, err: ", ok, "url: ", url)
continue
@@ -90,16 +90,15 @@ func GetBranchesInfo(accessToken string, owner string, path string) (string, err
mapValue := value["name"].(string)
if mapValue != "" && len(mapValue) > 3 {
subStr := mapValue[len(mapValue)-3:]
- if strings.ToUpper(subStr) == "LTS" {
- branchName = mapValue
- break
+ if strings.ToUpper(subStr) == "LTS" || mapValue == "openEuler-20.09"{
+ branchNameList = append(branchNameList, mapValue)
}
}
}
} else {
logs.Error("获取分支名称失败, err: ", err, "owner: ", owner, "path: ", path)
- return branchName, err
+ return branchNameList, err
}
}
- return branchName, nil
+ return branchNameList, nil
}
diff --git a/taskhandler/cve.go b/taskhandler/cve.go
index 18241562b054893d9aa4a68b4ecdc1de334fdc99..3dc8fa81c995799f69837e655021f0a149920421 100644
--- a/taskhandler/cve.go
+++ b/taskhandler/cve.go
@@ -164,9 +164,9 @@ func UpdateExcelCveGroups(cveData models.OriginExcel, cveRef string, openeulerNu
sec.Summary = cveData.PackName + " security update"
sec.ReferenceLink = cveRef + cveData.CveNum
if goe.Decription != "" && len(goe.Decription) > 0 {
- sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveData.CveDesc
+ sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveData.CveDesc + "(" + CveRes.CveNum + ")"
} else {
- sec.Description = "Security Fix(es):" + "\n\n" + cveData.CveDesc
+ sec.Description = "Security Fix(es):" + "\n\n" + cveData.CveDesc + "(" + CveRes.CveNum + ")"
}
secid, secerr := models.CreateSecurityNotice(&sec)
if secerr != nil {
@@ -218,9 +218,9 @@ func InsertCveExcelGroups(cveData models.OriginExcel, cveRef string, openeulerNu
sec.Summary = cveData.PackName + " security update"
sec.ReferenceLink = cveRef + cveData.CveNum
if goe.Decription != "" && len(goe.Decription) > 0 {
- sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveData.CveDesc
+ sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveData.CveDesc + "(" + vul.CveNum + ")"
} else {
- sec.Description = "Security Fix(es):" + "\n\n" + cveData.CveDesc
+ sec.Description = "Security Fix(es):" + "\n\n" + cveData.CveDesc + "(" + vul.CveNum + ")"
}
var sc models.Score
sc.CveNum = cveData.CveNum
@@ -495,9 +495,9 @@ func UpdateCveGroups(cveData models.OriginUpstream, cveRef string, openeulerNum
sec.Summary = pkList[0] + " security update"
sec.ReferenceLink = cveRef + cveData.CveNum
if goe.Decription != "" && len(goe.Decription) > 0 {
- sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveDesc.EnDescription
+ sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveDesc.EnDescription + "(" + CveRes.CveNum + ")"
} else {
- sec.Description = "Security Fix(es):" + "\n\n" + cveDesc.EnDescription
+ sec.Description = "Security Fix(es):" + "\n\n" + cveDesc.EnDescription + "(" + CveRes.CveNum + ")"
}
secid, secerr := models.CreateSecurityNotice(&sec)
if secerr != nil {
@@ -551,9 +551,9 @@ func InsertCveGroups(cveData models.OriginUpstream, cveRef string, openeulerNum
sec.Summary = pkList[0] + " security update"
sec.ReferenceLink = cveRef + cveData.CveNum
if goe.Decription != "" && len(goe.Decription) > 0 {
- sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveDesc.EnDescription
+ sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + cveDesc.EnDescription + "(" + vul.CveNum + ")"
} else {
- sec.Description = "Security Fix(es):" + "\n\n" + cveDesc.EnDescription
+ sec.Description = "Security Fix(es):" + "\n\n" + cveDesc.EnDescription + "(" + vul.CveNum + ")"
}
var sc models.Score
sc.CveNum = cveData.CveNum
@@ -913,7 +913,7 @@ func InsertIssueCveGroups(cveData models.GiteOriginIssue, lop models.Loophole, c
sec.Status = 0
sec.AffectStatus = "UnFixed"
sec.Summary = lop.Components + " security update"
- sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + RemoveSubstring(lop.BriefIntroduction, "
")
+ sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + RemoveSubstring(lop.BriefIntroduction + "(" + vul.CveNum + ")", "
")
sec.ReferenceLink = cveRef + cveData.CveNumber
sec.Introduction = "An update for " + lop.Components + " is now available for " + lop.InfProduct
sec.Theme = sec.Introduction + ";\n\n" + "openEuler Security has rated this" +
@@ -1060,7 +1060,7 @@ func UpdateIssueCveGroups(cveData models.GiteOriginIssue, lop models.Loophole, c
sec.Status = 0
sec.AffectStatus = "Fixed"
sec.Summary = lop.Components + " security update"
- sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + RemoveSubstring(lop.BriefIntroduction, "
")
+ sec.Description = goe.Decription + "\n\n" + "Security Fix(es):" + "\n\n" + RemoveSubstring(lop.BriefIntroduction + "(" + vul.CveNum + ")", "
")
sec.ReferenceLink = cveRef + cveData.CveNumber
sec.Introduction = "An update for " + lop.Components + " is now available for " + lop.InfProduct
sec.Theme = sec.Introduction + ";\n\n" + "openEuler Security has rated this" +