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

@ -61,6 +61,11 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne
}
var lc net.ListenConfig
lc.Control = func(network, address string, c syscall.RawConn) error {
for _, ctl := range d.controllers {
if err := ctl(network, address, c); err != nil {
errors.LogInfoInner(ctx, err, "failed to apply external controller")
}
}
return c.Control(func(fd uintptr) {
if sockopt != nil {
if err := applyOutboundSocketOptions(network, "", fd, sockopt); err != nil {