Skip to content

Commit

Permalink
main: imp code
Browse files Browse the repository at this point in the history
  • Loading branch information
Mizzick committed Jun 13, 2024
1 parent a2c62a0 commit 3d4c172
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ func runPprof(l *slog.Logger) {

err := srv.ListenAndServe()
if err != nil && !errors.Is(err, http.ErrServerClosed) {
panic(fmt.Errorf("pprof failed to listen to %s: %v", pprofAddr, err))
l.Error("pprof failed to listen %v", "addr", pprofAddr, slogutil.KeyError, err)
}
}()
}
Expand Down Expand Up @@ -482,6 +482,8 @@ func isEmpty(uc *proxy.UpstreamConfig) (ok bool) {
}

// initUpstreams inits upstream-related config fields.
//
// TODO(d.kolyshev): Join errors.
func (opts *Options) initUpstreams(
ctx context.Context,
l *slog.Logger,
Expand Down Expand Up @@ -611,9 +613,9 @@ func (opts *Options) initEDNS(
return nil
}

config.EDNSAddr = net.ParseIP(opts.EDNSAddr)
if config.EDNSAddr == nil {
return fmt.Errorf("parsing %q", opts.EDNSAddr)
config.EDNSAddr, err = netutil.ParseIP(opts.EDNSAddr)
if err != nil {
return fmt.Errorf("parsing edns-addr: %w", err)
}

return nil
Expand All @@ -628,6 +630,7 @@ func (opts *Options) initBogusNXDomain(ctx context.Context, l *slog.Logger, conf
for i, s := range opts.BogusNXDomain {
p, err := proxynetutil.ParseSubnet(s)
if err != nil {
// TODO(a.garipov): Consider returning this err as a proper error.
l.WarnContext(ctx, "parsing bogus nxdomain", "index", i, slogutil.KeyError, err)
} else {
config.BogusNXDomain = append(config.BogusNXDomain, p)
Expand Down Expand Up @@ -756,6 +759,7 @@ func initDNSCryptListenAddrs(config *proxy.Config, options *Options, addrs []net
// options. In case no addresses are specified by options returns a slice with
// the IPv4 unspecified address "0.0.0.0".
func parseListenAddrs(options *Options) (addrs []netip.Addr, err error) {
// TODO(d.kolyshev): Join errors.
for i, a := range options.ListenAddrs {
var ip netip.Addr
ip, err = netip.ParseAddr(a)
Expand All @@ -778,6 +782,8 @@ func parseListenAddrs(options *Options) (addrs []netip.Addr, err error) {
}

// initSubnets sets the DNS64 configuration into conf.
//
// TODO(d.kolyshev): Join errors.
func (opts *Options) initSubnets(conf *proxy.Config) (err error) {
if conf.UseDNS64 = opts.DNS64; conf.UseDNS64 {
for i, p := range opts.DNS64Prefix {
Expand Down Expand Up @@ -837,7 +843,7 @@ func (c *ipv6Configuration) handleDNSRequest(p *proxy.Proxy, ctx *proxy.DNSConte

// NewTLSConfig returns the TLS config that includes a certificate. Use it for
// server TLS configuration or for a client certificate. If caPath is empty,
// system CAs are be used.
// system CAs will be used.
func newTLSConfig(options *Options) (c *tls.Config, err error) {
// Set default TLS min/max versions
tlsMinVersion := tls.VersionTLS10
Expand Down

0 comments on commit 3d4c172

Please sign in to comment.