@@ -274,38 +274,38 @@ type HTTPConfig struct {
274274}
275275
276276// validateConfig verifies that the supplied configuration is valid and returns
277- // an error if it's not.
277+ // an error if it's not. c must be non-nil and valid.
278278//
279279// TODO(s.chzhen): Use [validate.Interface] from golibs.
280- func (p * Proxy ) validateConfig () (err error ) {
281- err = p .UpstreamConfig .validate ()
280+ func (p * Proxy ) validateConfig (c * Config ) (err error ) {
281+ err = c .UpstreamConfig .validate ()
282282 if err != nil {
283283 return fmt .Errorf ("general upstreams: %w" , err )
284284 }
285285
286- err = ValidatePrivateConfig (p .PrivateRDNSUpstreamConfig , p . privateNets )
286+ err = ValidatePrivateConfig (c .PrivateRDNSUpstreamConfig , c . PrivateSubnets )
287287 if err != nil {
288- if p .UsePrivateRDNS || errors .Is (err , upstream .ErrNoUpstreams ) {
288+ if c .UsePrivateRDNS || errors .Is (err , upstream .ErrNoUpstreams ) {
289289 return fmt .Errorf ("private rdns upstreams: %w" , err )
290290 }
291291 }
292292
293- err = p .Fallbacks .validate ()
294- // Allow [Proxy .Fallbacks] to be nil, but not empty. nil means not to use
293+ err = c .Fallbacks .validate ()
294+ // Allow [Config .Fallbacks] to be nil, but not empty. nil means not to use
295295 // fallbacks at all.
296296 if errors .Is (err , upstream .ErrNoUpstreams ) {
297297 return fmt .Errorf ("fallbacks: %w" , err )
298298 }
299299
300- switch p .UpstreamMode {
300+ switch c .UpstreamMode {
301301 case
302302 "" ,
303303 UpstreamModeFastestAddr ,
304304 UpstreamModeLoadBalance ,
305305 UpstreamModeParallel :
306306 // Go on.
307307 default :
308- return fmt .Errorf ("upstream mode: %w: %q" , errors .ErrBadEnumValue , p .UpstreamMode )
308+ return fmt .Errorf ("upstream mode: %w: %q" , errors .ErrBadEnumValue , c .UpstreamMode )
309309 }
310310
311311 err = p .validateBasicAuth ()
@@ -320,20 +320,20 @@ func (p *Proxy) validateConfig() (err error) {
320320
321321// logConfigInfo logs proxy configuration information.
322322func (p * Proxy ) logConfigInfo () {
323- if p .CacheMinTTL > 0 || p .CacheMaxTTL > 0 {
324- p .logger .Info ("cache ttl override is enabled" , "min" , p .CacheMinTTL , "max" , p .CacheMaxTTL )
323+ if p .cacheMinTTL > 0 || p .cacheMaxTTL > 0 {
324+ p .logger .Info ("cache ttl override is enabled" , "min" , p .cacheMinTTL , "max" , p .cacheMaxTTL )
325325 }
326326
327- if p .RefuseAny {
327+ if p .refuseAny {
328328 p .logger .Info ("server will refuse requests of type any" )
329329 }
330330
331- if len (p .BogusNXDomain ) > 0 {
332- p .logger .Info ("bogus-nxdomain ip specified" , "prefix_len" , len (p .BogusNXDomain ))
331+ if len (p .bogusNXDomain ) > 0 {
332+ p .logger .Info ("bogus-nxdomain ip specified" , "prefix_len" , len (p .bogusNXDomain ))
333333 }
334334
335- if p .UpstreamMode != "" {
336- p .logger .Info ("upstream mode is set" , "mode" , p .UpstreamMode )
335+ if p .upstreamMode != "" {
336+ p .logger .Info ("upstream mode is set" , "mode" , p .upstreamMode )
337337 }
338338}
339339
@@ -351,12 +351,12 @@ func (p *Proxy) validateListenAddrs() (err error) {
351351 return fmt .Errorf ("invalid tls configuration: %w" , err )
352352 }
353353
354- if p .DNSCryptResolverCert == nil || p .DNSCryptProviderName == "" {
355- if p .DNSCryptTCPListenAddr != nil {
354+ if p .dnsCryptResolverCert == nil || p .dnsCryptProviderName == "" {
355+ if p .dnsCryptTCPListenAddr != nil {
356356 return errors .Error ("cannot create dnscrypt tcp listener without dnscrypt config" )
357357 }
358358
359- if p .DNSCryptUDPListenAddr != nil {
359+ if p .dnsCryptUDPListenAddr != nil {
360360 return errors .Error ("cannot create dnscrypt udp listener without dnscrypt config" )
361361 }
362362 }
@@ -367,19 +367,19 @@ func (p *Proxy) validateListenAddrs() (err error) {
367367// validateTLSConfig returns an error if proxy TLS configuration parameters are
368368// needed but aren't provided.
369369func (p * Proxy ) validateTLSConfig () (err error ) {
370- if p .TLSConfig != nil {
370+ if p .tlsConf != nil {
371371 return nil
372372 }
373373
374- if p .TLSListenAddr != nil {
374+ if p .tlsListenAddr != nil {
375375 return errors .Error ("tls listener configuration not found" )
376376 }
377377
378- if p .HTTPConfig != nil && p .HTTPConfig .ListenAddresses != nil {
378+ if p .httpConf != nil && p .httpConf .ListenAddresses != nil {
379379 return errors .Error ("https listener configuration not found" )
380380 }
381381
382- if p .QUICListenAddr != nil {
382+ if p .quicListenAddr != nil {
383383 return errors .Error ("quic listener configuration not found" )
384384 }
385385
@@ -388,11 +388,11 @@ func (p *Proxy) validateTLSConfig() (err error) {
388388
389389// hasListenAddrs - is there any addresses to listen to?
390390func (p * Proxy ) hasListenAddrs () (ok bool ) {
391- return p .UDPListenAddr != nil ||
392- p .TCPListenAddr != nil ||
393- p .TLSListenAddr != nil ||
394- (p .HTTPConfig != nil && p .HTTPConfig .ListenAddresses != nil ) ||
395- p .QUICListenAddr != nil ||
396- p .DNSCryptUDPListenAddr != nil ||
397- p .DNSCryptTCPListenAddr != nil
391+ return p .udpListenAddr != nil ||
392+ p .tcpListenAddr != nil ||
393+ p .tlsListenAddr != nil ||
394+ (p .httpConf != nil && p .httpConf .ListenAddresses != nil ) ||
395+ p .quicListenAddr != nil ||
396+ p .dnsCryptUDPListenAddr != nil ||
397+ p .dnsCryptTCPListenAddr != nil
398398}
0 commit comments