Loop over tiled_logs in addition to logs, when resolving SCT log_id's
This commit is contained in:
@@ -396,15 +396,19 @@ func FetchCTLogList(url string) (map[string]CTLogInfo, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var list struct {
|
type logEntry struct {
|
||||||
Operators []struct {
|
|
||||||
Name string `json:"name"`
|
|
||||||
Logs []struct {
|
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
LogID string `json:"log_id"`
|
LogID string `json:"log_id"`
|
||||||
URL string `json:"url"`
|
URL string `json:"url"`
|
||||||
|
SubmissionURL string `json:"submission_url"`
|
||||||
|
MonitoringURL string `json:"monitoring_url"`
|
||||||
State map[string]json.RawMessage `json:"state"`
|
State map[string]json.RawMessage `json:"state"`
|
||||||
} `json:"logs"`
|
}
|
||||||
|
var list struct {
|
||||||
|
Operators []struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Logs []logEntry `json:"logs"`
|
||||||
|
TiledLogs []logEntry `json:"tiled_logs"`
|
||||||
} `json:"operators"`
|
} `json:"operators"`
|
||||||
}
|
}
|
||||||
if err := json.Unmarshal(data, &list); err != nil {
|
if err := json.Unmarshal(data, &list); err != nil {
|
||||||
@@ -413,7 +417,7 @@ func FetchCTLogList(url string) (map[string]CTLogInfo, error) {
|
|||||||
|
|
||||||
result := make(map[string]CTLogInfo)
|
result := make(map[string]CTLogInfo)
|
||||||
for _, op := range list.Operators {
|
for _, op := range list.Operators {
|
||||||
for _, log := range op.Logs {
|
for _, log := range append(append([]logEntry{}, op.Logs...), op.TiledLogs...) {
|
||||||
raw, err := base64.StdEncoding.DecodeString(log.LogID)
|
raw, err := base64.StdEncoding.DecodeString(log.LogID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
@@ -424,9 +428,16 @@ func FetchCTLogList(url string) (map[string]CTLogInfo, error) {
|
|||||||
state = k
|
state = k
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
url := log.URL
|
||||||
|
if url == "" {
|
||||||
|
url = log.MonitoringURL
|
||||||
|
}
|
||||||
|
if url == "" {
|
||||||
|
url = log.SubmissionURL
|
||||||
|
}
|
||||||
result[hexID] = CTLogInfo{
|
result[hexID] = CTLogInfo{
|
||||||
Description: log.Description,
|
Description: log.Description,
|
||||||
URL: log.URL,
|
URL: url,
|
||||||
Operator: op.Name,
|
Operator: op.Name,
|
||||||
State: state,
|
State: state,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user