Skip to content

Commit 7f09de5

Browse files
committed
ipn/wg,ipn/proxies: m refactor proxy pinning logic
1 parent 6b69b1e commit 7f09de5

3 files changed

Lines changed: 10 additions & 10 deletions

File tree

intra/dnsx/alg.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,8 +1800,8 @@ func ChooseHealthyProxy(who string, ipps []netip.AddrPort, pids []string, px ipn
18001800
errs = append(errs, err)
18011801
}
18021802
}
1803-
logeif(!foundProxy)("%s: proxy for %s(%d); choosing %s among %v; errs? %v",
1804-
who, cipp, len(ipps), pid, pids, core.JoinErr(errs...))
1803+
logeif(!foundProxy)("%s: proxy for %s [among %v]; choosing %s among %v; errs? %v",
1804+
who, cipp, ipps, pid, pids, core.JoinErr(errs...))
18051805
return
18061806
}
18071807

intra/ipn/proxies.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -430,17 +430,17 @@ func (px *proxifier) ProxyTo(ipp netip.AddrPort, uid string, pids []string) (_ P
430430
if len(pids) == 1 { // there's no other pid to choose from
431431
// skip hasroute, as there is only one pid to route to
432432
p, err := px.pinID(uid, ipp, pids[0]) // repin
433-
// alwaysPin is set to true, so return p even if err is not nil
434-
if alwaysPin && p != nil {
435-
err = nil
436-
}
437433
if err != nil || p == nil {
438434
err = core.OneErr(err, errProxyNotFound)
439435
stalledSec = px.stall(uid + ippstr)
440436
}
441437
logev(err)("proxy: pin: %s+%s; pin pid0: %s (stalled? %ds); err? %v",
442438
uid, ippstr, pids[0], stalledSec, err)
443-
return p, err
439+
// alwaysPin is set to true, so wipe out err; return p, even if err is not nil
440+
if alwaysPin && p != nil {
441+
return p, nil
442+
}
443+
return nil, err
444444
}
445445

446446
var lopinned string

intra/ipn/wg/wgconn.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ func (s *StdNetBind) Open(uport uint16) ([]conn.ReceiveFunc, uint16, error) {
260260
var tries int
261261

262262
if s.ipv4 != nil || s.ipv6 != nil {
263-
log.W("wg: bind: %s already open", s.id)
263+
log.W("wg: bind: %s already open at :%d", s.id, uport)
264264
return nil, 0, conn.ErrBindAlreadyOpen
265265
}
266266

@@ -302,8 +302,8 @@ again:
302302
fns = append(fns, s.makeReceiveFn(ipv6))
303303
}
304304

305-
log.I("wg: bind: %s opened port(%d) for v4? %t v6? %t",
306-
s.id, port, ipv4 != nil, ipv6 != nil)
305+
log.I("wg: bind: %s opened port(requested %d => using %d) for v4? %t v6? %t",
306+
s.id, uport, port, ipv4 != nil, ipv6 != nil)
307307
if len(fns) == 0 {
308308
return nil, 0, syscall.EAFNOSUPPORT
309309
}

0 commit comments

Comments
 (0)