@@ -10,7 +10,7 @@ import (
1010
1111func BindToInterface (finder InterfaceFinder , interfaceName string , interfaceIndex int ) Func {
1212 return func (network , address string , conn syscall.RawConn ) error {
13- return BindToInterface0 (finder , conn , network , address , interfaceName , interfaceIndex )
13+ return BindToInterface0 (finder , conn , network , address , interfaceName , interfaceIndex , false )
1414 }
1515}
1616
@@ -20,16 +20,16 @@ func BindToInterfaceFunc(finder InterfaceFinder, block func(network string, addr
2020 if err != nil {
2121 return err
2222 }
23- return BindToInterface0 (finder , conn , network , address , interfaceName , interfaceIndex )
23+ return BindToInterface0 (finder , conn , network , address , interfaceName , interfaceIndex , false )
2424 }
2525}
2626
27- func BindToInterface0 (finder InterfaceFinder , conn syscall.RawConn , network string , address string , interfaceName string , interfaceIndex int ) error {
27+ func BindToInterface0 (finder InterfaceFinder , conn syscall.RawConn , network string , address string , interfaceName string , interfaceIndex int , preferInterfaceName bool ) error {
2828 if interfaceName == "" && interfaceIndex == - 1 {
2929 return E .New ("interface not found: " , interfaceName )
3030 }
3131 if addr := M .ParseSocksaddr (address ).Addr ; addr .IsValid () && N .IsVirtual (addr ) {
3232 return nil
3333 }
34- return bindToInterface (conn , network , address , finder , interfaceName , interfaceIndex )
34+ return bindToInterface (conn , network , address , finder , interfaceName , interfaceIndex , preferInterfaceName )
3535}
0 commit comments