Skip to content

Commit 92950f2

Browse files
committed
tcp,udp,icmp: m debug logs for preflow
1 parent 09b2663 commit 92950f2

1 file changed

Lines changed: 17 additions & 9 deletions

File tree

intra/common.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,14 @@ func (h *baseHandler) onFlow(localaddr, target netip.AddrPort) (fm *Mark, undidA
178178
preuid = pre.UID
179179
}
180180
} else {
181-
log.W("com: %s: onFlow: preflow: uid %s is not a number; use %s", h.proto, pre.UID, uid)
181+
log.E("com: %s: onFlow: preflow: uid %s is not a number; use %s; err? %v", h.proto, pre.UID, uid, cerr)
182182
}
183183
}
184184

185+
if settings.Debug {
186+
log.VV("com: %s: onFlow: preflow: has? %t, preuid: %s for %s => %s", h.proto, hasPre, preuid, src, dst)
187+
}
188+
185189
// alg happens after nat64, and so, alg knows nat-ed ips and un-nats them;
186190
// that is, real ips ("ips") are already un-nated where applicable.
187191
undidAlg, ips, doms, pdoms, blocklists = h.undoAlg(target.Addr(), preuid)
@@ -190,13 +194,16 @@ func (h *baseHandler) onFlow(localaddr, target netip.AddrPort) (fm *Mark, undidA
190194
hasNewIPs := false
191195
if hasPre {
192196
for d := range strings.SplitSeq(doms, ",") {
193-
if len(d) <= 0 && settings.Debug {
194-
log.V("com: %s: onFlow: preflow: empty domain in %v from %v => %v for %s; skip!",
195-
h.proto, doms, src, target, preuid)
197+
nodomain := len(d) <= 0
198+
if nodomain && settings.Debug {
199+
logwif(len(d) <= 0)("com: %s: onFlow: preflow: %v from %v => %v for %s; nodomain? %t",
200+
h.proto, doms, src, target, preuid, nodomain)
196201
continue
197202
}
198203
newips, err := dialers.ResolveFor(d, preuid)
199204
hasNewIPs = err == nil && len(newips) > 0
205+
logwif(!hasNewIPs)("com: %s: onFlow: preflow: resolved alg domain %s? %t; new ips %v for %s => %s; preuid: %s",
206+
h.proto, d, hasNewIPs, newips, src, dst, preuid)
200207
if hasNewIPs { // already unalg'd by ipmapper
201208
// _, ips, doms, pdoms, blocklists = h.undoAlg(target.Addr())
202209
ips = dnsx.Netip2Csv(newips)
@@ -213,13 +220,14 @@ func (h *baseHandler) onFlow(localaddr, target netip.AddrPort) (fm *Mark, undidA
213220
} // else: if we've got target and/or old ips, dial them
214221
} else {
215222
if settings.Debug {
216-
log.D("com: %s: onFlow: noalg? %t or hasips? %t", h.proto, !undidAlg, hasOldIPs)
223+
log.D("com: %s: onFlow: noalg? %t or hasips? %t for %s => %s; preuid %s",
224+
h.proto, !undidAlg, hasOldIPs, src, dst, preuid)
217225
}
218226
}
219227

220228
if settings.Debug && (len(ips) <= 0 || len(doms) <= 0) {
221-
log.D("com: %s: onFlow: no realips(%s) or domains(%s + %s), for src=%s dst=%s",
222-
h.proto, ips, doms, pdoms, localaddr, target)
229+
log.D("com: %s: onFlow: no realips(%s) or domains(%s + %s), for src=%s dst=%s; preuid=%s; alg? %t",
230+
h.proto, ips, doms, pdoms, localaddr, target, preuid, undidAlg)
223231
}
224232

225233
fm, ok := core.Grx(h.proto+".flow", func(_ context.Context) (*Mark, error) {
@@ -510,7 +518,7 @@ func makeIPPorts(ips []netip.Addr, origipp netip.AddrPort, maybeIncludeOrig bool
510518

511519
origip := origipp.Addr()
512520
origport := origipp.Port()
513-
willIncludeOrig := maybeIncludeOrig && ((use4 && origip.Is4()) || (use6 && origip.Is6()))
521+
willIncludeOrig := maybeIncludeOrig && ((use4 && orig4) || (use6 && orig6))
514522
r := make([]netip.AddrPort, 0, cap)
515523
// override alg-ip with the first real-ip
516524
for _, v := range ips { // may contain unspecifed ips
@@ -534,7 +542,7 @@ func makeIPPorts(ips []netip.Addr, origipp netip.AddrPort, maybeIncludeOrig bool
534542
if len(r) > 0 {
535543
s := core.ShuffleInPlace(r)
536544
if willIncludeOrig {
537-
return append([]netip.AddrPort{origipp}, s...)
545+
s = append([]netip.AddrPort{origipp}, s...)
538546
}
539547
return s
540548
}

0 commit comments

Comments
 (0)