lib: Factor out getting IP address from net.Addr (#8538)

... and add fast paths for common cases.
This commit is contained in:
greatroar
2022-09-14 08:44:46 +02:00
committed by GitHub
parent 6e768a8387
commit 8065cf7e97
7 changed files with 26 additions and 29 deletions
+2 -6
View File
@@ -50,6 +50,7 @@ import (
"github.com/syncthing/syncthing/lib/build"
"github.com/syncthing/syncthing/lib/dialer"
"github.com/syncthing/syncthing/lib/nat"
"github.com/syncthing/syncthing/lib/osutil"
)
func init() {
@@ -303,12 +304,7 @@ func localIP(ctx context.Context, url *url.URL) (net.IP, error) {
}
defer conn.Close()
localIPAddress, _, err := net.SplitHostPort(conn.LocalAddr().String())
if err != nil {
return nil, err
}
return net.ParseIP(localIPAddress), nil
return osutil.IPFromAddr(conn.LocalAddr())
}
func getChildDevices(d upnpDevice, deviceType string) []upnpDevice {