Update Windows support.

This commit is contained in:
Sean Chittenden 2016-12-02 18:05:18 +11:00
parent 5fc97b997d
commit 594e75a301
No known key found for this signature in database
GPG Key ID: 4EBC9DC16C2E5E16
2 changed files with 16 additions and 20 deletions

View File

@ -1,9 +1,6 @@
package sockaddr
import (
"errors"
"os/exec"
)
import "os/exec"
// defaultWindowsIfNameCmd is the comamnd to run on Windows to get the default
// interface.
@ -20,23 +17,22 @@ func defaultWindowsIPConfigCmd() []string {
// getDefaultIfName is a Windows-specific function for extracting the name of
// the interface from `netstat -rn` and `ipconfig`.
func getDefaultIfName() (string, error) {
ipAddr, err := getWindowsIPOnDefaultRoute()
if err != nil {
return "", err
}
return ipAddr, nil
}
func getWindowsIPOnDefaultRoute() (string, error) {
var cmd []string = defaultWindowsIfNameCmd()
out, err := exec.Command(cmd[0], cmd[1:]...).Output()
ifNameOut, err := exec.Command(cmd[0], cmd[1:]...).Output()
if err != nil {
return "", err
}
var defaultIPAddr string
if defaultIPAddr, err = parseDefaultIPAddrWindowsRoute(string(out)); err != nil {
return "", errors.New("No IP on default route found")
cmd = defaultWindowsIPConfigCmd()
ipconfigOut, err := exec.Command(cmd[0], cmd[1:]...).Output()
if err != nil {
return "", err
}
return defaultIPAddr, nil
ifName, err := parseDefaultIfNameWindows(string(ifNameOut), string(ipconfigOut))
if err != nil {
return "", err
}
return ifName, nil
}

6
vendor/vendor.json vendored
View File

@ -420,10 +420,10 @@
"revisionTime": "2016-09-30T03:51:02Z"
},
{
"checksumSHA1": "wGgPqc+2Lwn6qbDjM15SLKktd+Y=",
"checksumSHA1": "LmCRW89WaBzau5RaVIhx8QHwLYo=",
"path": "github.com/hashicorp/go-sockaddr",
"revision": "3fe949359e7faa30c9dc5b4f921c7beddba1a27c",
"revisionTime": "2016-12-02T06:02:17Z"
"revision": "33afa667d8f9a6ca9d435a8f8c6e87af423c9356",
"revisionTime": "2016-12-02T07:02:37Z"
},
{
"checksumSHA1": "Y+c+ahUug8/vK+cWRLatV5aB4ps=",