initEDNS inits EDNS-related config fields.
( ctx context.Context, l *slog.Logger, config *proxy.Config, )
| 282 | |
| 283 | // initEDNS inits EDNS-related config fields. |
| 284 | func (conf *configuration) initEDNS( |
| 285 | ctx context.Context, |
| 286 | l *slog.Logger, |
| 287 | config *proxy.Config, |
| 288 | ) (err error) { |
| 289 | if conf.EDNSAddr == "" { |
| 290 | return nil |
| 291 | } |
| 292 | |
| 293 | if !conf.EnableEDNSSubnet { |
| 294 | l.WarnContext(ctx, "--edns is required", "--edns-addr", conf.EDNSAddr) |
| 295 | |
| 296 | return nil |
| 297 | } |
| 298 | |
| 299 | config.EDNSAddr, err = netutil.ParseIP(conf.EDNSAddr) |
| 300 | if err != nil { |
| 301 | return fmt.Errorf("parsing edns-addr: %w", err) |
| 302 | } |
| 303 | |
| 304 | return nil |
| 305 | } |
| 306 | |
| 307 | // initBogusNXDomain inits BogusNXDomain structure. |
| 308 | func (conf *configuration) initBogusNXDomain( |