Fix issues related to android client (#4616)

* WireGuard: Fix tunnel not closed

* Dialer: Apply controllers in lc.Control
This commit is contained in:
Cl-He-O 2025-04-14 15:08:26 +00:00 committed by GitHub
parent 53552d73cc
commit 7a2f42f8d5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 20 additions and 0 deletions

View file

@ -77,6 +77,20 @@ func New(ctx context.Context, conf *DeviceConfig) (*Handler, error) {
}, nil
}
func (h *Handler) Close() (err error) {
go func() {
h.wgLock.Lock()
defer h.wgLock.Unlock()
if h.net != nil {
_ = h.net.Close()
h.net = nil
}
}()
return nil
}
func (h *Handler) processWireGuard(ctx context.Context, dialer internet.Dialer) (err error) {
h.wgLock.Lock()
defer h.wgLock.Unlock()