surround interface name with double quote in case of name have space
This commit is contained in:
parent
11d4838804
commit
ffecc464fe
@ -28,7 +28,7 @@ func createTun(cfg TunConfig) (conn net.Conn, itf *net.Interface, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := fmt.Sprintf("netsh interface ip set address name=%s "+
|
cmd := fmt.Sprintf("netsh interface ip set address name=\"%s\" "+
|
||||||
"source=static addr=%s mask=%s gateway=none",
|
"source=static addr=%s mask=%s gateway=none",
|
||||||
ifce.Name(), ip.String(), ipMask(ipNet.Mask))
|
ifce.Name(), ip.String(), ipMask(ipNet.Mask))
|
||||||
log.Log("[tun]", cmd)
|
log.Log("[tun]", cmd)
|
||||||
@ -70,7 +70,7 @@ func createTap(cfg TapConfig) (conn net.Conn, itf *net.Interface, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ip != nil && ipNet != nil {
|
if ip != nil && ipNet != nil {
|
||||||
cmd := fmt.Sprintf("netsh interface ip set address name=%s "+
|
cmd := fmt.Sprintf("netsh interface ip set address name=\"%s\" "+
|
||||||
"source=static addr=%s mask=%s gateway=none",
|
"source=static addr=%s mask=%s gateway=none",
|
||||||
ifce.Name(), ip.String(), ipMask(ipNet.Mask))
|
ifce.Name(), ip.String(), ipMask(ipNet.Mask))
|
||||||
log.Log("[tap]", cmd)
|
log.Log("[tap]", cmd)
|
||||||
@ -105,7 +105,7 @@ func addTunRoutes(ifName string, gw string, routes ...IPRoute) error {
|
|||||||
|
|
||||||
deleteRoute(ifName, route.Dest.String())
|
deleteRoute(ifName, route.Dest.String())
|
||||||
|
|
||||||
cmd := fmt.Sprintf("netsh interface ip add route prefix=%s interface=%s store=active",
|
cmd := fmt.Sprintf("netsh interface ip add route prefix=%s interface=\"%s\" store=active",
|
||||||
route.Dest.String(), ifName)
|
route.Dest.String(), ifName)
|
||||||
if gw != "" {
|
if gw != "" {
|
||||||
cmd += " nexthop=" + gw
|
cmd += " nexthop=" + gw
|
||||||
@ -127,7 +127,7 @@ func addTapRoutes(ifName string, gw string, routes ...string) error {
|
|||||||
|
|
||||||
deleteRoute(ifName, route)
|
deleteRoute(ifName, route)
|
||||||
|
|
||||||
cmd := fmt.Sprintf("netsh interface ip add route prefix=%s interface=%s store=active",
|
cmd := fmt.Sprintf("netsh interface ip add route prefix=%s interface=\"%s\" store=active",
|
||||||
route, ifName)
|
route, ifName)
|
||||||
if gw != "" {
|
if gw != "" {
|
||||||
cmd += " nexthop=" + gw
|
cmd += " nexthop=" + gw
|
||||||
@ -142,7 +142,7 @@ func addTapRoutes(ifName string, gw string, routes ...string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func deleteRoute(ifName string, route string) error {
|
func deleteRoute(ifName string, route string) error {
|
||||||
cmd := fmt.Sprintf("netsh interface ip delete route prefix=%s interface=%s store=active",
|
cmd := fmt.Sprintf("netsh interface ip delete route prefix=%s interface=\"%s\" store=active",
|
||||||
route, ifName)
|
route, ifName)
|
||||||
args := strings.Split(cmd, " ")
|
args := strings.Split(cmd, " ")
|
||||||
return exec.Command(args[0], args[1:]...).Run()
|
return exec.Command(args[0], args[1:]...).Run()
|
||||||
|
Loading…
Reference in New Issue
Block a user