mirror of
https://github.com/MetaCubeX/mihomo.git
synced 2026-10-10 12:13:10 +08:00
chore: clear parameter passing
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
)
|
||||
|
||||
type ResolverEnhancer struct {
|
||||
ipv6 bool
|
||||
mode C.DNSMode
|
||||
fakeIPPool *fakeip.Pool
|
||||
fakeIPPool6 *fakeip.Pool
|
||||
@@ -169,6 +170,7 @@ type EnhancerConfig struct {
|
||||
|
||||
func NewEnhancer(cfg EnhancerConfig) *ResolverEnhancer {
|
||||
e := &ResolverEnhancer{
|
||||
ipv6: cfg.IPv6,
|
||||
mode: cfg.EnhancedMode,
|
||||
useHosts: cfg.UseHosts,
|
||||
}
|
||||
|
||||
+4
-4
@@ -196,14 +196,14 @@ func withFakeIP(skipper *fakeip.Skipper, fakePool *fakeip.Pool, fakePool6 *fakei
|
||||
}
|
||||
}
|
||||
|
||||
func withResolver(resolver *Resolver) handler {
|
||||
func withResolver(resolver resolver.Resolver, ipv6 bool) handler {
|
||||
return func(ctx *icontext.DNSContext, r *D.Msg) (*D.Msg, error) {
|
||||
ctx.SetType(icontext.DNSTypeRaw)
|
||||
|
||||
q := r.Question[0]
|
||||
|
||||
// return a empty AAAA msg when ipv6 disabled
|
||||
if !resolver.ipv6 && q.Qtype == D.TypeAAAA {
|
||||
if !ipv6 && q.Qtype == D.TypeAAAA {
|
||||
return handleMsgWithEmptyAnswer(r), nil
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ func compose(middlewares []middleware, endpoint handler) handler {
|
||||
return h
|
||||
}
|
||||
|
||||
func newHandler(resolver *Resolver, mapper *ResolverEnhancer) handler {
|
||||
func newHandler(resolver resolver.Resolver, mapper *ResolverEnhancer) handler {
|
||||
var middlewares []middleware
|
||||
|
||||
if mapper.useHosts {
|
||||
@@ -245,5 +245,5 @@ func newHandler(resolver *Resolver, mapper *ResolverEnhancer) handler {
|
||||
middlewares = append(middlewares, withMapping(mapper.mapping))
|
||||
}
|
||||
|
||||
return compose(middlewares, withResolver(resolver))
|
||||
return compose(middlewares, withResolver(resolver, mapper.ipv6))
|
||||
}
|
||||
|
||||
+1
-1
@@ -24,6 +24,6 @@ func (s *Service) ServeMsg(ctx context.Context, msg *D.Msg) (*D.Msg, error) {
|
||||
|
||||
var _ resolver.Service = (*Service)(nil)
|
||||
|
||||
func NewService(resolver *Resolver, mapper *ResolverEnhancer) *Service {
|
||||
func NewService(resolver resolver.Resolver, mapper *ResolverEnhancer) *Service {
|
||||
return &Service{handler: newHandler(resolver, mapper)}
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ func updateDNS(c *config.DNS, generalIPv6 bool) {
|
||||
m.PatchFrom(old.(*dns.ResolverEnhancer))
|
||||
}
|
||||
|
||||
s := dns.NewService(r.Resolver, m)
|
||||
s := dns.NewService(r, m)
|
||||
|
||||
resolver.DefaultResolver = r
|
||||
resolver.DefaultHostMapper = m
|
||||
|
||||
Reference in New Issue
Block a user