From 60dc6f4528e5b18afdb84db4082c56ba9311b599 Mon Sep 17 00:00:00 2001 From: Nova Date: Fri, 28 Feb 2025 22:36:38 +0330 Subject: [PATCH] fix panic on nil defaultInterfaceMonitor --- core/server/internal/boxdns/dns_manager_windows.go | 6 ++++++ core/server/internal/boxdns/monitor_windows.go | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/core/server/internal/boxdns/dns_manager_windows.go b/core/server/internal/boxdns/dns_manager_windows.go index 27656a3..f736449 100644 --- a/core/server/internal/boxdns/dns_manager_windows.go +++ b/core/server/internal/boxdns/dns_manager_windows.go @@ -30,6 +30,9 @@ func HandleInterfaceChange(_ *control.Interface, _ int) { } func getDefaultInterfaceGuid() (string, error) { + if DefaultIfcMonitor == nil { + return "", E.New("No default interface monitor") + } ifc := DefaultIfcMonitor.DefaultInterface() if ifc == nil { log.Println("Default interface is nil!") @@ -53,6 +56,9 @@ func getDefaultInterfaceGuid() (string, error) { } func getDefaultInterfaceLUID() (winipcfg.LUID, error) { + if DefaultIfcMonitor == nil { + return 0, E.New("No default interface monitor") + } ifc := DefaultIfcMonitor.DefaultInterface() if ifc == nil { log.Println("Default interface is nil!") diff --git a/core/server/internal/boxdns/monitor_windows.go b/core/server/internal/boxdns/monitor_windows.go index 5d36ccc..e27b3bb 100644 --- a/core/server/internal/boxdns/monitor_windows.go +++ b/core/server/internal/boxdns/monitor_windows.go @@ -15,6 +15,10 @@ import ( var DefaultIfcMonitor tun.DefaultInterfaceMonitor func monitorForUnderlyingDNS(customDNS []netip.Addr) { + if DefaultIfcMonitor == nil { + log.Println("Default interface monitor not available!") + return + } ifc := DefaultIfcMonitor.DefaultInterface() if ifc == nil { log.Println("Default interface is nil!")