编号:H-05 严重级:medium 工作线:管理后端(internal/admin) + 后台网页(web/) 来源:审查 A-12 依赖:无 被依赖:无
采用审查 A-12 的方案:validateEndpointFields 增加 MaxScheduleSeconds 参数,开通、修改、导入三处都限制 0 ≤ 默认延迟 ≤ 上限,与端自己改默认延迟时的校验一致。界面的 n-input-number 加 :max 与上限提示由网页线在 W-05 完成。
validateEndpointFields
MaxScheduleSeconds
n-input-number
:max
internal/admin/endpoints.go、endpoints_csv.go。
internal/admin/endpoints.go
endpoints_csv.go
与 H-03、H-04 相邻,管理后端线内顺序合入。
三个入口超过上限都返回 400 或对应的行错误。
以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。解决方案以本 issue 上方的"结论与统一方案"为准;原文里的方案与之不一致时,按上方执行。
>= 0
max_schedule_seconds
bad_request
delaySec*1000
endpoints.go:232-240,344-348,631-633
endpoints_csv.go:183-191
identity/self.go:47-51
message/submit.go:303-312
h.cfg.Limits.MaxScheduleSeconds
endpoints.go
EndpointsView.vue
复审基线:main 4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。
4059a15
已合入 origin/main 0c9b459。落地提交 b3787a0 fix: 校验端默认延迟不超过调度上限 (#48)。
0c9b459
b3787a0
No dependencies set.
The note is not visible to the blocked user.
编号:H-05 严重级:medium 工作线:管理后端(internal/admin) + 后台网页(web/) 来源:审查 A-12
依赖:无 被依赖:无
结论与统一方案
采用审查 A-12 的方案:
validateEndpointFields增加MaxScheduleSeconds参数,开通、修改、导入三处都限制 0 ≤ 默认延迟 ≤ 上限,与端自己改默认延迟时的校验一致。界面的n-input-number加:max与上限提示由网页线在 W-05 完成。改动文件
internal/admin/endpoints.go、endpoints_csv.go。与其他问题的交互 / 冲突说明
与 H-03、H-04 相邻,管理后端线内顺序合入。
验收与测试
三个入口超过上限都返回 400 或对应的行错误。
问题明细(各区审查原文,证据含文件与行号)
[A-12] 默认延迟没有上限,端可能再也发不出消息
>= 0。设置超过max_schedule_seconds的值后,这个端每条不带显式延迟的消息都会以bad_request失败,看起来像故障。delaySec*1000在极大值时会溢出。endpoints.go:232-240,344-348,631-633。endpoints_csv.go:183-191。identity/self.go:47-51。message/submit.go:303-312。validateEndpointFields增加参数h.cfg.Limits.MaxScheduleSeconds,限制 0 ≤ 延迟 ≤ 上限,开通、修改、导入三处都用。前端n-input-number加:max,并在输入框旁提示上限。endpoints.go、endpoints_csv.go、EndpointsView.vue。复审基线:main
4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。已合入 origin/main
0c9b459。落地提交b3787a0fix: 校验端默认延迟不超过调度上限 (#48)。