Report invalid DNS address early

This commit is contained in:
安容
2025-04-26 14:03:51 +08:00
committed by 世界
parent e528d425a1
commit 0f8bd01aad
6 changed files with 21 additions and 6 deletions

View File

@@ -89,7 +89,9 @@ func NewHTTP3(ctx context.Context, logger log.ContextLogger, tag string, options
return nil, err
}
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
}
return &HTTP3Transport{

View File

@@ -16,6 +16,7 @@ import (
sQUIC "github.com/sagernet/sing-quic"
"github.com/sagernet/sing/common"
"github.com/sagernet/sing/common/bufio"
E "github.com/sagernet/sing/common/exceptions"
"github.com/sagernet/sing/common/logger"
M "github.com/sagernet/sing/common/metadata"
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"})
}
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
}
return &Transport{