Skip to content

Commit f3462cc

Browse files
committed
dnsx/alg: m debug logs
1 parent e65b029 commit f3462cc

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

intra/dnsx/alg.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -261,12 +261,16 @@ func (t *dnsgateway) q(t1, t2 Transport, preset []*netip.Addr, network string, q
261261

262262
if err != nil {
263263
if ansin == nil {
264-
log.D("alg: abort; r: 0, qerr %v", err)
264+
log.I("alg: abort; r: 0, qerr %v", err)
265265
return nil, err
266266
}
267267
log.D("alg: err but r ok; ans: %d, qerr %v", xdns.Len(ansin), err)
268268
}
269269

270+
if ansin == nil { // may be nil on errors
271+
return nil, err
272+
}
273+
270274
qname, _ := xdns.NormalizeQName(xdns.QName(ansin))
271275

272276
summary.QName = qname
@@ -281,9 +285,13 @@ func (t *dnsgateway) q(t1, t2 Transport, preset []*netip.Addr, network string, q
281285
summary.UpstreamBlocks = true
282286
}
283287

288+
log.D("alg: q(%s) ans(%d) hasaaaq(%t) hasans(%t) rgood(%t) ans0000(%t)", qname, xdns.Ans(ansin), hasaaaaq, hasans, rgood, ans0000)
289+
284290
if !hasans && hasaaaaq && !ans0000 { // synth aaaa from a, if needed
285-
ans64 := t.dns64.D64(network, ansin, t1) // d64 is disabled by default
286-
if rgood = xdns.HasRcodeSuccess(ans64); rgood { // reaffirm rgood
291+
ans64 := t.dns64.D64(network, ansin, t1) // d64 is disabled by default
292+
rgood = xdns.HasRcodeSuccess(ans64)
293+
log.D("alg: d64: q(%s) ans64(%d) rgood64(%t)", qname, xdns.Len(ans64), rgood)
294+
if rgood { // reaffirm rgood
287295
ansin = ans64
288296
withDNS64Summary(ans64, summary)
289297
} // else: ans64 is nil on no D64 or error
@@ -324,10 +332,10 @@ func (t *dnsgateway) q(t1, t2 Transport, preset []*netip.Addr, network string, q
324332
t.Lock()
325333
defer t.Unlock()
326334

327-
algip4hints := []*netip.Addr{}
328-
algip6hints := []*netip.Addr{}
329-
algip4s := []*netip.Addr{}
330-
algip6s := []*netip.Addr{}
335+
algip4hints := make([]*netip.Addr, 0, len(ip4hints))
336+
algip6hints := make([]*netip.Addr, 0, len(ip6hints))
337+
algip4s := make([]*netip.Addr, 0, len(a4))
338+
algip6s := make([]*netip.Addr, 0, len(a6))
331339
for i, ip4 := range ip4hints {
332340
realip = append(realip, ip4)
333341
// 0th algip is reserved for A records

intra/xdns/dnsutil.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1176,6 +1176,20 @@ func Len(msg *dns.Msg) int {
11761176
return len(msg.Question)
11771177
}
11781178

1179+
func Ans(msg *dns.Msg) (s string) {
1180+
if msg != nil {
1181+
a := msg.Answer
1182+
if len(a) > 0 {
1183+
for _, rr := range a {
1184+
if rr != nil {
1185+
s += rr.String() + " "
1186+
}
1187+
}
1188+
}
1189+
}
1190+
return
1191+
}
1192+
11791193
func IsServFailOrInvalid(msg *dns.Msg) bool {
11801194
if msg == nil {
11811195
return true // invalid

0 commit comments

Comments
 (0)