mirror of
https://github.com/XTLS/Xray-core.git
synced 2026-01-12 21:57:15 +08:00
Wireguard: Decouple server endpoint DNS from address option (#5417)
* Wireguard: Decouple server endpoint DNS from address option Previously, Wireguard server endpoint's domain resolution was incorrectly constrained by the local `address` option. For example, `ForceIPv6v4` might fail to resolve AAAA records for the server domain if no IPv6 was explicitly configured in the `address` option. This commit decouples the server endpoint's domain resolution from the local `address` configuration. It ensures the Wireguard server address is resolved independently, allowing its `domainStrategy` to function correctly without being limited by the client's local network or `address` settings. * Delete code instead of commenting it out
This commit is contained in:
@@ -300,14 +300,14 @@ func (h *Handler) createIPCRequest() string {
|
|||||||
errors.LogInfo(h.bind.ctx, "createIPCRequest use dialer dest ip: ", addr)
|
errors.LogInfo(h.bind.ctx, "createIPCRequest use dialer dest ip: ", addr)
|
||||||
} else {
|
} else {
|
||||||
ips, _, err := h.dns.LookupIP(addr.Domain(), dns.IPOption{
|
ips, _, err := h.dns.LookupIP(addr.Domain(), dns.IPOption{
|
||||||
IPv4Enable: h.hasIPv4 && h.conf.preferIP4(),
|
IPv4Enable: h.conf.preferIP4(),
|
||||||
IPv6Enable: h.hasIPv6 && h.conf.preferIP6(),
|
IPv6Enable: h.conf.preferIP6(),
|
||||||
})
|
})
|
||||||
{ // Resolve fallback
|
{ // Resolve fallback
|
||||||
if (len(ips) == 0 || err != nil) && h.conf.hasFallback() {
|
if (len(ips) == 0 || err != nil) && h.conf.hasFallback() {
|
||||||
ips, _, err = h.dns.LookupIP(addr.Domain(), dns.IPOption{
|
ips, _, err = h.dns.LookupIP(addr.Domain(), dns.IPOption{
|
||||||
IPv4Enable: h.hasIPv4 && h.conf.fallbackIP4(),
|
IPv4Enable: h.conf.fallbackIP4(),
|
||||||
IPv6Enable: h.hasIPv6 && h.conf.fallbackIP6(),
|
IPv6Enable: h.conf.fallbackIP6(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user