diff --git a/pkg/normalize/flatten.go b/pkg/normalize/flatten.go index cc5122b33..02f8de818 100644 --- a/pkg/normalize/flatten.go +++ b/pkg/normalize/flatten.go @@ -71,7 +71,7 @@ func flattenSPFs(cfg *models.DNSConfig) []error { if err := cache.Save("spfcache.updated.json"); err != nil { errs = append(errs, err) } else { - errs = append(errs, Warning{fmt.Errorf("%d spf record lookups are out of date with cache (%s). Wrote changes to dnscache.updated.json. Please rename and commit", len(changed), strings.Join(changed, ","))}) + errs = append(errs, Warning{fmt.Errorf("%d spf record lookups are out of date with cache (%s). Wrote changes to spfcache.updated.json. Please rename and commit:\nmv spfcache.updated.json spfcache.json", len(changed), strings.Join(changed, ","))}) } } } diff --git a/pkg/spflib/resolver.go b/pkg/spflib/resolver.go index e0997aa05..d01a46a57 100644 --- a/pkg/spflib/resolver.go +++ b/pkg/spflib/resolver.go @@ -125,11 +125,15 @@ func (c *cache) ResolveErrors() (errs []error) { return } func (c *cache) Save(filename string) error { - for _, entry := range c.records { + outRecs := make(map[string]*cacheEntry, len(c.records)) + for k, entry := range c.records { + // move resolved data into cached field + // only take those we actually resolved if entry.resolvedSPF != "" { entry.SPF = entry.resolvedSPF + outRecs[k] = entry } } - dat, _ := json.MarshalIndent(c.records, "", " ") + dat, _ := json.MarshalIndent(outRecs, "", " ") return ioutil.WriteFile(filename, dat, 0644) }