filtering: fix config write

This commit is contained in:
Stanislav Chzhen 2025-10-09 18:25:52 +03:00
parent f1bf45aa42
commit 50a76760db
2 changed files with 13 additions and 7 deletions

View File

@ -194,8 +194,9 @@ func (d *DNSFilter) handleRewriteUpdate(w http.ResponseWriter, r *http.Request)
return
}
rwDel.Enabled = d.conf.Rewrites[index].Enabled
if updateJSON.Update.Enabled == aghalg.NBNull {
rwAdd.Enabled = d.conf.Rewrites[index].Enabled
rwAdd.Enabled = rwDel.Enabled
} else {
rwAdd.Enabled = updateJSON.Update.Enabled == aghalg.NBTrue
}
@ -207,12 +208,14 @@ func (d *DNSFilter) handleRewriteUpdate(w http.ResponseWriter, r *http.Request)
"removed rewrite element",
"domain", rwDel.Domain,
"answer", rwDel.Answer,
"enabled", rwDel.Enabled,
)
d.logger.DebugContext(
ctx,
"added rewrite element",
"domain", rwAdd.Domain,
"answer", rwAdd.Answer,
"enabled", rwAdd.Enabled,
)
}

View File

@ -17,9 +17,11 @@ import (
// LegacyRewrite is a single legacy DNS rewrite record.
//
// Instances of *LegacyRewrite must never be nil.
// Instances of *LegacyRewrite must not be nil.
//
// NOTE: Keep fields in sync with [cloneRewrites].
type LegacyRewrite struct {
// Domain is the domain pattern for which this rewrite should work.
// Domain is the pattern to which this rewrite applies.
Domain string `yaml:"domain"`
// Answer is the IP address, canonical name, or one of the special
@ -233,10 +235,11 @@ func cloneRewrites(entries []*LegacyRewrite) (clone []*LegacyRewrite) {
clone = make([]*LegacyRewrite, len(entries))
for i, rw := range entries {
clone[i] = &LegacyRewrite{
Domain: rw.Domain,
Answer: rw.Answer,
IP: rw.IP,
Type: rw.Type,
Domain: rw.Domain,
Answer: rw.Answer,
IP: rw.IP,
Type: rw.Type,
Enabled: rw.Enabled,
}
}