mirror of
https://github.com/fumiama/water.git
synced 2026-06-21 19:48:21 +08:00
fix nil adapter
This commit is contained in:
@@ -336,16 +336,21 @@ func openDev(config Config) (ifce *Interface, err error) {
|
|||||||
return openTap(config)
|
return openTap(config)
|
||||||
}
|
}
|
||||||
// TUN
|
// TUN
|
||||||
|
var ad *wintun.Adapter
|
||||||
if config.InterfaceName == "" {
|
if config.InterfaceName == "" {
|
||||||
config.InterfaceName = "Wintun"
|
config.InterfaceName = "WinTun"
|
||||||
}
|
}
|
||||||
ad, err := wintun.OpenAdapter(config.InterfaceName)
|
ad, err = wintun.OpenAdapter(config.InterfaceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
ad, err = wintun.CreateAdapter(config.InterfaceName, "Wintun", nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
}
|
}
|
||||||
s, err := ad.StartSession(65536)
|
s, err := ad.StartSession(65536)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return
|
||||||
}
|
}
|
||||||
return &Interface{ReadWriteCloser: &wintunRWC{s: s, ad: ad}, name: config.InterfaceName}, nil
|
return &Interface{ReadWriteCloser: &wintunRWC{s: s, ad: ad}, name: config.InterfaceName}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user