fix: proxyDialer panic when domain name was not resolved

This commit is contained in:
wwqgtxx
2023-04-12 12:49:53 +08:00
parent 17922dc857
commit 20eb168315
5 changed files with 45 additions and 35 deletions

View File

@ -464,6 +464,18 @@ func NewAddress(metadata *C.Metadata) Address {
}
}
func NewAddressNetAddr(addr net.Addr) (Address, error) {
addrStr := addr.String()
if addrPort, err := netip.ParseAddrPort(addrStr); err == nil {
return NewAddressAddrPort(addrPort), nil
}
metadata := &C.Metadata{}
if err := metadata.SetRemoteAddress(addrStr); err != nil {
return Address{}, err
}
return NewAddress(metadata), nil
}
func NewAddressAddrPort(addrPort netip.AddrPort) Address {
var addrType byte
port := addrPort.Port()