mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2026-08-04 15:28:58 +00:00
filtering: imp answer field validation;
This commit is contained in:
parent
3adfbb9f3d
commit
c6c19ae3d4
1 changed files with 9 additions and 0 deletions
|
|
@ -10,6 +10,7 @@ import (
|
|||
|
||||
"github.com/AdguardTeam/golibs/errors"
|
||||
"github.com/AdguardTeam/golibs/logutil/slogutil"
|
||||
"github.com/AdguardTeam/golibs/netutil"
|
||||
"github.com/miekg/dns"
|
||||
)
|
||||
|
||||
|
|
@ -93,6 +94,14 @@ func (rw *LegacyRewrite) normalize(ctx context.Context, l *slog.Logger) (err err
|
|||
ip, err := netip.ParseAddr(rw.Answer)
|
||||
if err != nil {
|
||||
l.DebugContext(ctx, "normalizing legacy rewrite", slogutil.KeyError, err)
|
||||
|
||||
// Not an IP address, treat as CNAME target, but validate as a domain
|
||||
// name first.
|
||||
err = netutil.ValidateDomainName(rw.Answer)
|
||||
if err != nil {
|
||||
return fmt.Errorf("invalid CNAME target %q: %w", rw.Answer, err)
|
||||
}
|
||||
|
||||
rw.Type = dns.TypeCNAME
|
||||
|
||||
return nil
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue