From 882975ce5a47a0b014b333c0c02b2a3dc36cbb8e Mon Sep 17 00:00:00 2001 From: patterniha <71074308+patterniha@users.noreply.github.com> Date: Thu, 15 May 2025 17:45:03 +0330 Subject: [PATCH] DNS Host: Removing code that was not being executed and should not be executed. (#4721) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removing a piece of code that was not being executed and should not be executed. * Remove d.dns --------- Co-authored-by: 风扇滑翔翼 --- app/dispatcher/default.go | 18 ++---------------- app/dns/dns.go | 16 ---------------- features/dns/client.go | 4 ---- 3 files changed, 2 insertions(+), 36 deletions(-) diff --git a/app/dispatcher/default.go b/app/dispatcher/default.go index 54864cbb..c24e0bbc 100644 --- a/app/dispatcher/default.go +++ b/app/dispatcher/default.go @@ -96,7 +96,6 @@ type DefaultDispatcher struct { router routing.Router policy policy.Manager stats stats.Manager - dns dns.Client fdns dns.FakeDNSEngine } @@ -107,7 +106,7 @@ func init() { core.OptionalFeatures(ctx, func(fdns dns.FakeDNSEngine) { d.fdns = fdns }) - return d.Init(config.(*Config), om, router, pm, sm, dc) + return d.Init(config.(*Config), om, router, pm, sm) }); err != nil { return nil, err } @@ -116,12 +115,11 @@ func init() { } // Init initializes DefaultDispatcher. -func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager, dns dns.Client) error { +func (d *DefaultDispatcher) Init(config *Config, om outbound.Manager, router routing.Router, pm policy.Manager, sm stats.Manager) error { d.ohm = om d.router = router d.policy = pm d.stats = sm - d.dns = dns return nil } @@ -407,18 +405,6 @@ func sniffer(ctx context.Context, cReader *cachedReader, metadataOnly bool, netw func (d *DefaultDispatcher) routedDispatch(ctx context.Context, link *transport.Link, destination net.Destination) { outbounds := session.OutboundsFromContext(ctx) ob := outbounds[len(outbounds)-1] - if hosts, ok := d.dns.(dns.HostsLookup); ok && destination.Address.Family().IsDomain() { - proxied := hosts.LookupHosts(ob.Target.String()) - if proxied != nil { - ro := ob.RouteTarget == destination - destination.Address = *proxied - if ro { - ob.RouteTarget = destination - } else { - ob.Target = destination - } - } - } var handler outbound.Handler diff --git a/app/dns/dns.go b/app/dns/dns.go index 3b9cfbcb..a0b620c3 100644 --- a/app/dns/dns.go +++ b/app/dns/dns.go @@ -243,22 +243,6 @@ func (s *DNS) LookupIP(domain string, option dns.IPOption) ([]net.IP, uint32, er return nil, 0, dns.ErrEmptyResponse } -// LookupHosts implements dns.HostsLookup. -func (s *DNS) LookupHosts(domain string) *net.Address { - domain = strings.TrimSuffix(domain, ".") - if domain == "" { - return nil - } - // Normalize the FQDN form query - addrs := s.hosts.Lookup(domain, *s.ipOption) - if len(addrs) > 0 { - errors.LogInfo(s.ctx, "domain replaced: ", domain, " -> ", addrs[0].String()) - return &addrs[0] - } - - return nil -} - func (s *DNS) sortClients(domain string) []*Client { clients := make([]*Client, 0, len(s.clients)) clientUsed := make([]bool, len(s.clients)) diff --git a/features/dns/client.go b/features/dns/client.go index 7dc576fb..2a2bd148 100644 --- a/features/dns/client.go +++ b/features/dns/client.go @@ -24,10 +24,6 @@ type Client interface { LookupIP(domain string, option IPOption) ([]net.IP, uint32, error) } -type HostsLookup interface { - LookupHosts(domain string) *net.Address -} - // ClientType returns the type of Client interface. Can be used for implementing common.HasType. // // xray:api:beta