From c69709c1ec3ac887f089f7ed43ce3a69c022ddd0 Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Thu, 19 May 2022 10:20:20 +0200 Subject: [PATCH 1/4] Move ROLIE feed to respective folder. For Issue #143, #144 --- cmd/csaf_aggregator/indices.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/csaf_aggregator/indices.go b/cmd/csaf_aggregator/indices.go index fb2c778..34adcba 100644 --- a/cmd/csaf_aggregator/indices.go +++ b/cmd/csaf_aggregator/indices.go @@ -139,10 +139,12 @@ func (w *worker) writeIndex(label string, summaries []summary) error { func (w *worker) writeROLIE(label string, summaries []summary) error { - fname := "csaf-feed-tlp-" + strings.ToLower(label) + ".json" + labelFolder := strings.ToLower(label) + + fname := "csaf-feed-tlp-" + labelFolder + ".json" feedURL := w.cfg.Domain + "/.well-known/csaf-aggregator/" + - w.provider.Name + "/" + fname + w.provider.Name + "/" + labelFolder + "/" + fname entries := make([]*csaf.Entry, len(summaries)) @@ -197,7 +199,7 @@ func (w *worker) writeROLIE(label string, summaries []summary) error { // Sort by descending updated order. rolie.SortEntriesByUpdated() - path := filepath.Join(w.dir, fname) + path := filepath.Join(w.dir, labelFolder, fname) return util.WriteToFile(path, rolie) } From 6295466ef52a85e65bd69be58290a8a8a8b6eaa5 Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Thu, 19 May 2022 11:33:11 +0200 Subject: [PATCH 2/4] Partially role back last commit. WIP --- cmd/csaf_aggregator/indices.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/csaf_aggregator/indices.go b/cmd/csaf_aggregator/indices.go index 34adcba..9b7ab27 100644 --- a/cmd/csaf_aggregator/indices.go +++ b/cmd/csaf_aggregator/indices.go @@ -144,7 +144,7 @@ func (w *worker) writeROLIE(label string, summaries []summary) error { fname := "csaf-feed-tlp-" + labelFolder + ".json" feedURL := w.cfg.Domain + "/.well-known/csaf-aggregator/" + - w.provider.Name + "/" + labelFolder + "/" + fname + w.provider.Name + "/" + fname entries := make([]*csaf.Entry, len(summaries)) @@ -199,7 +199,7 @@ func (w *worker) writeROLIE(label string, summaries []summary) error { // Sort by descending updated order. rolie.SortEntriesByUpdated() - path := filepath.Join(w.dir, labelFolder, fname) + path := filepath.Join(w.dir, fname) return util.WriteToFile(path, rolie) } From a2d96872e1d59706135fb40dfdae877c18a71ed2 Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Thu, 19 May 2022 11:43:20 +0200 Subject: [PATCH 3/4] Started to work on a prefixed pmd. WIP --- csaf/models.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/csaf/models.go b/csaf/models.go index 89cb7db..e2ec961 100644 --- a/csaf/models.go +++ b/csaf/models.go @@ -608,8 +608,10 @@ func NewProviderMetadata(canonicalURL string) *ProviderMetadata { // and tlps feeds. func NewProviderMetadataDomain(domain string, tlps []TLPLabel) *ProviderMetadata { + prefix := "/.well-known/csaf" + pm := NewProviderMetadata( - domain + "/.well-known/csaf/provider-metadata.json") + domain + prefix + "/provider-metadata.json") if len(tlps) == 0 { return pm @@ -622,7 +624,7 @@ func NewProviderMetadataDomain(domain string, tlps []TLPLabel) *ProviderMetadata for i, t := range tlps { lt := strings.ToLower(string(t)) feed := "csaf-feed-tlp-" + lt + ".json" - url := JSONURL(domain + "/.well-known/csaf/" + lt + "/" + feed) + url := JSONURL(prefix + "/" + lt + "/" + feed) t := t feeds[i] = Feed{ From a50ed4ab01b64202fefb69ba2e359c9278233bb8 Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Thu, 19 May 2022 12:22:06 +0200 Subject: [PATCH 4/4] Write correct url prefix to provider-metadata. --- cmd/csaf_aggregator/indices.go | 4 ++-- cmd/csaf_aggregator/mirror.go | 4 ++-- csaf/models.go | 8 ++++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmd/csaf_aggregator/indices.go b/cmd/csaf_aggregator/indices.go index 9b7ab27..34adcba 100644 --- a/cmd/csaf_aggregator/indices.go +++ b/cmd/csaf_aggregator/indices.go @@ -144,7 +144,7 @@ func (w *worker) writeROLIE(label string, summaries []summary) error { fname := "csaf-feed-tlp-" + labelFolder + ".json" feedURL := w.cfg.Domain + "/.well-known/csaf-aggregator/" + - w.provider.Name + "/" + fname + w.provider.Name + "/" + labelFolder + "/" + fname entries := make([]*csaf.Entry, len(summaries)) @@ -199,7 +199,7 @@ func (w *worker) writeROLIE(label string, summaries []summary) error { // Sort by descending updated order. rolie.SortEntriesByUpdated() - path := filepath.Join(w.dir, fname) + path := filepath.Join(w.dir, labelFolder, fname) return util.WriteToFile(path, rolie) } diff --git a/cmd/csaf_aggregator/mirror.go b/cmd/csaf_aggregator/mirror.go index 4fad34a..1e75e41 100644 --- a/cmd/csaf_aggregator/mirror.go +++ b/cmd/csaf_aggregator/mirror.go @@ -203,8 +203,8 @@ func (w *worker) writeProviderMetadata() error { fname := filepath.Join(w.dir, "provider-metadata.json") - pm := csaf.NewProviderMetadataDomain( - w.cfg.Domain, + pm := csaf.NewProviderMetadataPrefix( + w.cfg.Domain+"/.well-known/csaf-aggreator/"+w.provider.Name, w.labelsFromSummaries()) // Figure out the role diff --git a/csaf/models.go b/csaf/models.go index e2ec961..035bb60 100644 --- a/csaf/models.go +++ b/csaf/models.go @@ -607,11 +607,15 @@ func NewProviderMetadata(canonicalURL string) *ProviderMetadata { // NewProviderMetadataDomain creates a new provider with the given URL // and tlps feeds. func NewProviderMetadataDomain(domain string, tlps []TLPLabel) *ProviderMetadata { + return NewProviderMetadataPrefix(domain+"/.well-known/csaf", tlps) +} - prefix := "/.well-known/csaf" +// NewProviderMetadataPrefix creates a new provider with a given prefix +// and tlps feeds. +func NewProviderMetadataPrefix(prefix string, tlps []TLPLabel) *ProviderMetadata { pm := NewProviderMetadata( - domain + prefix + "/provider-metadata.json") + prefix + "/provider-metadata.json") if len(tlps) == 0 { return pm