fix(evidence): traffic_search 描述迁移出错不再中断后续 reporter 迁移
description UPDATE 失败时原会 return 整个 seedFindingWorkflowTools,连累 independent 的 v2_reporter 迁移一起被跳过。改为出错仅 log、不置 flag(下次 启动重试),继续执行后续迁移。
This commit is contained in:
1 parent
7c8b55ca6c
commit
5db71f7c53
1 file changed
+5
-2
@@ -21,10 +21,13 @@ func (s *Server) seedFindingWorkflowTools() {
|
|||||||
// authoritative and must survive upgrades.
|
// authoritative and must survive upgrades.
|
||||||
legacy := "查询记录代理已抓取的目标流量(必须指定 host,可再按 URL 子串或正文关键词过滤)。body_contains 会在已抓取的请求/响应头与正文中做全文搜索,支持任意子串和中文(至少 3 个字符),可用来找响应里的密码、密钥、报错、内网地址等。仅返回极轻量索引(id/method/url/status/resp_len),不含任何响应内容。默认只返回 3 条、每页最多 10 条;结果多时用 page 翻页(page=0 起);要看某条的请求/响应原文用 traffic_get(id)。回看已访问资源、找端点先用它,避免重复 curl 同一 URL。"
|
legacy := "查询记录代理已抓取的目标流量(必须指定 host,可再按 URL 子串或正文关键词过滤)。body_contains 会在已抓取的请求/响应头与正文中做全文搜索,支持任意子串和中文(至少 3 个字符),可用来找响应里的密码、密钥、报错、内网地址等。仅返回极轻量索引(id/method/url/status/resp_len),不含任何响应内容。默认只返回 3 条、每页最多 10 条;结果多时用 page 翻页(page=0 起);要看某条的请求/响应原文用 traffic_get(id)。回看已访问资源、找端点先用它,避免重复 curl 同一 URL。"
|
||||||
if _, err := s.m.pg.Exec(`UPDATE tools SET description=$1,updated_at=now() WHERE key='traffic_search' AND system AND description=$2`, traffic.TrafficSearchDescription, legacy); err != nil {
|
if _, err := s.m.pg.Exec(`UPDATE tools SET description=$1,updated_at=now() WHERE key='traffic_search' AND system AND description=$2`, traffic.TrafficSearchDescription, legacy); err != nil {
|
||||||
|
// Log and leave the flag unset so the next startup retries; do not
|
||||||
|
// return, or a transient error here would also skip the reporter
|
||||||
|
// migration below — the two are independent.
|
||||||
log.Printf("[evidence] upgrade traffic_search description: %v", err)
|
log.Printf("[evidence] upgrade traffic_search description: %v", err)
|
||||||
return
|
} else {
|
||||||
|
_ = s.m.pg.SetSetting(hostSearchDescriptionFlag, "true")
|
||||||
}
|
}
|
||||||
_ = s.m.pg.SetSetting(hostSearchDescriptionFlag, "true")
|
|
||||||
}
|
}
|
||||||
const flag = "finding_workflow_tools_v2_reporter"
|
const flag = "finding_workflow_tools_v2_reporter"
|
||||||
if value, _, _ := s.m.pg.GetSetting(flag); value == "true" {
|
if value, _, _ := s.m.pg.GetSetting(flag); value == "true" {
|
||||||
|
|||||||
Reference in new issue
Block a user