1
0
mirror of https://github.com/fumiama/water.git synced 2026-06-21 03:11:01 +08:00

fix nil adapter

This commit is contained in:
fumiama
2021-12-29 22:00:44 +08:00
parent 90abaa32e4
commit a18737bcce

View File

@@ -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
} }