From 730c1066b80e8ab44503ed34ced19ef8e0471fec Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Thu, 23 Mar 2023 18:00:05 +0800 Subject: [PATCH] =?UTF-8?q?"CVE-2022-36157"=E6=8E=88=E6=9D=83=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E=E4=BF=AE=E5=A4=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 13 ++++++++----- .../job/admin/controller/JobGroupController.java | 7 +++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 9e53f0b3..1d40d06c 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2303,11 +2303,9 @@ public void execute() { ### 7.33 版本 v2.4.0 Release Notes[规划中] - 1、【优化】执行器任务Bean扫描逻辑优化:解决懒加载注解失效问题。 -- 2、【优化】[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 - - 普通任务:只记录一条主任务; - - 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上; - - 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。 -- 3、【优化】[规划中]分片任务:全部完成后才会出发后置节点; +- 2、【优化】多个项目依赖升级至较新稳定版本,涉及netty、groovy、spring、springboot、mybatis等; +- 3、【修复】"CVE-2022-36157"授权漏洞修复。 + ### 7.34 新版本规划 [规划中] - 1、[规划中]DAG流程任务 @@ -2317,6 +2315,11 @@ public void execute() { - 3、[规划中]告警增强:邮件告警 + webhook告警; - 4、[规划中]安全强化:AccessToken动态生成、动态启停;控制调度、回调; - 5、[规划中]任务导入导出工具,灵活支持版本升级、迁移等场景。 +- 6、【优化】[规划中]任务日志重构:一次调度只记录一条主任务,维护起止时间和状态。 + - 普通任务:只记录一条主任务; + - 广播任务:记录一条主任务,每个分片任务记录一条次任务,关联在主任务上; + - 重试任务:失败时,新增主任务。所有调度记录,包括入口调度和重试调度,均挂载主任务上。 +- 7、【优化】[规划中]分片任务:全部完成后才会出发后置节点; ### TODO LIST - 1、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动;目前采用IP自然排序,可以满足需求,待定; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java index 4bb4b90a..8e0c5a4d 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java @@ -1,5 +1,6 @@ package com.xxl.job.admin.controller; +import com.xxl.job.admin.controller.annotation.PermissionLimit; import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobRegistry; import com.xxl.job.admin.core.util.I18nUtil; @@ -34,12 +35,14 @@ public class JobGroupController { private XxlJobRegistryDao xxlJobRegistryDao; @RequestMapping + @PermissionLimit(adminuser = true) public String index(Model model) { return "jobgroup/jobgroup.index"; } @RequestMapping("/pageList") @ResponseBody + @PermissionLimit(adminuser = true) public Map pageList(HttpServletRequest request, @RequestParam(required = false, defaultValue = "0") int start, @RequestParam(required = false, defaultValue = "10") int length, @@ -59,6 +62,7 @@ public class JobGroupController { @RequestMapping("/save") @ResponseBody + @PermissionLimit(adminuser = true) public ReturnT save(XxlJobGroup xxlJobGroup){ // valid @@ -102,6 +106,7 @@ public class JobGroupController { @RequestMapping("/update") @ResponseBody + @PermissionLimit(adminuser = true) public ReturnT update(XxlJobGroup xxlJobGroup){ // valid if (xxlJobGroup.getAppname()==null || xxlJobGroup.getAppname().trim().length()==0) { @@ -170,6 +175,7 @@ public class JobGroupController { @RequestMapping("/remove") @ResponseBody + @PermissionLimit(adminuser = true) public ReturnT remove(int id){ // valid @@ -189,6 +195,7 @@ public class JobGroupController { @RequestMapping("/loadById") @ResponseBody + @PermissionLimit(adminuser = true) public ReturnT loadById(int id){ XxlJobGroup jobGroup = xxlJobGroupDao.load(id); return jobGroup!=null?new ReturnT(jobGroup):new ReturnT(ReturnT.FAIL_CODE, null);