TUN inbound: Reuse existing Wintun adapter by name on Windows again (#6811)

Fixes https://github.com/XTLS/Xray-core/issues/6780
This commit is contained in:
Artem Lytkin
2026-09-27 20:39:17 +00:00
committed by GitHub
parent 47a2c2ffdc
commit 5dda894e29
+6 -1
View File
@@ -78,8 +78,13 @@ func open(name, desc string) (*wintun.Adapter, error) {
// generate a deterministic GUID from the adapter name
id := md5.Sum([]byte(name))
guid := (*windows.GUID)(unsafe.Pointer(&id[0]))
// try to open existing adapter by name
adapter, err := wintun.OpenAdapter(name)
if err == nil {
return adapter, nil
}
// try to create adapter anew
adapter, err := wintun.CreateAdapter(name, desc, guid)
adapter, err = wintun.CreateAdapter(name, desc, guid)
if err == nil {
return adapter, nil
}