mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-06-12 13:24:13 +08:00
Report invalid DNS address early
This commit is contained in:
parent
e528d425a1
commit
0f8bd01aad
@ -93,7 +93,9 @@ func NewHTTPS(ctx context.Context, logger log.ContextLogger, tag string, options
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
serverAddr := options.DNSServerAddressOptions.Build()
|
serverAddr := options.DNSServerAddressOptions.Build()
|
||||||
if serverAddr.Port == 0 {
|
if !serverAddr.Addr.IsValid() {
|
||||||
|
return nil, E.New("invalid server address: ", serverAddr)
|
||||||
|
} else if serverAddr.Port == 0 {
|
||||||
serverAddr.Port = 443
|
serverAddr.Port = 443
|
||||||
}
|
}
|
||||||
return NewHTTPSRaw(
|
return NewHTTPSRaw(
|
||||||
|
@ -89,7 +89,9 @@ func NewHTTP3(ctx context.Context, logger log.ContextLogger, tag string, options
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
serverAddr := options.DNSServerAddressOptions.Build()
|
serverAddr := options.DNSServerAddressOptions.Build()
|
||||||
if serverAddr.Port == 0 {
|
if !serverAddr.Addr.IsValid() {
|
||||||
|
return nil, E.New("invalid server address: ", serverAddr)
|
||||||
|
} else if serverAddr.Port == 0 {
|
||||||
serverAddr.Port = 443
|
serverAddr.Port = 443
|
||||||
}
|
}
|
||||||
return &HTTP3Transport{
|
return &HTTP3Transport{
|
||||||
|
@ -16,6 +16,7 @@ import (
|
|||||||
sQUIC "github.com/sagernet/sing-quic"
|
sQUIC "github.com/sagernet/sing-quic"
|
||||||
"github.com/sagernet/sing/common"
|
"github.com/sagernet/sing/common"
|
||||||
"github.com/sagernet/sing/common/bufio"
|
"github.com/sagernet/sing/common/bufio"
|
||||||
|
E "github.com/sagernet/sing/common/exceptions"
|
||||||
"github.com/sagernet/sing/common/logger"
|
"github.com/sagernet/sing/common/logger"
|
||||||
M "github.com/sagernet/sing/common/metadata"
|
M "github.com/sagernet/sing/common/metadata"
|
||||||
N "github.com/sagernet/sing/common/network"
|
N "github.com/sagernet/sing/common/network"
|
||||||
@ -55,7 +56,9 @@ func NewQUIC(ctx context.Context, logger log.ContextLogger, tag string, options
|
|||||||
tlsConfig.SetNextProtos([]string{"doq"})
|
tlsConfig.SetNextProtos([]string{"doq"})
|
||||||
}
|
}
|
||||||
serverAddr := options.DNSServerAddressOptions.Build()
|
serverAddr := options.DNSServerAddressOptions.Build()
|
||||||
if serverAddr.Port == 0 {
|
if !serverAddr.Addr.IsValid() {
|
||||||
|
return nil, E.New("invalid server address: ", serverAddr)
|
||||||
|
} else if serverAddr.Port == 0 {
|
||||||
serverAddr.Port = 853
|
serverAddr.Port = 853
|
||||||
}
|
}
|
||||||
return &Transport{
|
return &Transport{
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/sagernet/sing-box/option"
|
"github.com/sagernet/sing-box/option"
|
||||||
"github.com/sagernet/sing/common"
|
"github.com/sagernet/sing/common"
|
||||||
"github.com/sagernet/sing/common/buf"
|
"github.com/sagernet/sing/common/buf"
|
||||||
|
E "github.com/sagernet/sing/common/exceptions"
|
||||||
M "github.com/sagernet/sing/common/metadata"
|
M "github.com/sagernet/sing/common/metadata"
|
||||||
N "github.com/sagernet/sing/common/network"
|
N "github.com/sagernet/sing/common/network"
|
||||||
|
|
||||||
@ -37,7 +38,9 @@ func NewTCP(ctx context.Context, logger log.ContextLogger, tag string, options o
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
serverAddr := options.DNSServerAddressOptions.Build()
|
serverAddr := options.DNSServerAddressOptions.Build()
|
||||||
if serverAddr.Port == 0 {
|
if !serverAddr.Addr.IsValid() {
|
||||||
|
return nil, E.New("invalid server address: ", serverAddr)
|
||||||
|
} else if serverAddr.Port == 0 {
|
||||||
serverAddr.Port = 53
|
serverAddr.Port = 53
|
||||||
}
|
}
|
||||||
return &TCPTransport{
|
return &TCPTransport{
|
||||||
|
@ -54,7 +54,9 @@ func NewTLS(ctx context.Context, logger log.ContextLogger, tag string, options o
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
serverAddr := options.DNSServerAddressOptions.Build()
|
serverAddr := options.DNSServerAddressOptions.Build()
|
||||||
if serverAddr.Port == 0 {
|
if !serverAddr.Addr.IsValid() {
|
||||||
|
return nil, E.New("invalid server address: ", serverAddr)
|
||||||
|
} else if serverAddr.Port == 0 {
|
||||||
serverAddr.Port = 853
|
serverAddr.Port = 853
|
||||||
}
|
}
|
||||||
return &TLSTransport{
|
return &TLSTransport{
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/sagernet/sing-box/log"
|
"github.com/sagernet/sing-box/log"
|
||||||
"github.com/sagernet/sing-box/option"
|
"github.com/sagernet/sing-box/option"
|
||||||
"github.com/sagernet/sing/common/buf"
|
"github.com/sagernet/sing/common/buf"
|
||||||
|
E "github.com/sagernet/sing/common/exceptions"
|
||||||
"github.com/sagernet/sing/common/logger"
|
"github.com/sagernet/sing/common/logger"
|
||||||
M "github.com/sagernet/sing/common/metadata"
|
M "github.com/sagernet/sing/common/metadata"
|
||||||
N "github.com/sagernet/sing/common/network"
|
N "github.com/sagernet/sing/common/network"
|
||||||
@ -44,7 +45,9 @@ func NewUDP(ctx context.Context, logger log.ContextLogger, tag string, options o
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
serverAddr := options.DNSServerAddressOptions.Build()
|
serverAddr := options.DNSServerAddressOptions.Build()
|
||||||
if serverAddr.Port == 0 {
|
if !serverAddr.Addr.IsValid() {
|
||||||
|
return nil, E.New("invalid server address: ", serverAddr)
|
||||||
|
} else if serverAddr.Port == 0 {
|
||||||
serverAddr.Port = 53
|
serverAddr.Port = 53
|
||||||
}
|
}
|
||||||
return NewUDPRaw(logger, dns.NewTransportAdapterWithRemoteOptions(C.DNSTypeUDP, tag, options), transportDialer, serverAddr), nil
|
return NewUDPRaw(logger, dns.NewTransportAdapterWithRemoteOptions(C.DNSTypeUDP, tag, options), transportDialer, serverAddr), nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user