|
|
|
|
@ -146,13 +146,15 @@ func (e *userspaceEngine) onOpenTimeout(flow flowtrack.Tuple) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
n := pip.Node |
|
|
|
|
if n.DiscoKey.IsZero() { |
|
|
|
|
e.logf("open-conn-track: timeout opening %v; peer node %v running pre-0.100", flow, n.Key.ShortString()) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
if n.DERP == "" { |
|
|
|
|
e.logf("open-conn-track: timeout opening %v; peer node %v not connected to any DERP relay", flow, n.Key.ShortString()) |
|
|
|
|
return |
|
|
|
|
if !n.IsWireGuardOnly { |
|
|
|
|
if n.DiscoKey.IsZero() { |
|
|
|
|
e.logf("open-conn-track: timeout opening %v; peer node %v running pre-0.100", flow, n.Key.ShortString()) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
if n.DERP == "" { |
|
|
|
|
e.logf("open-conn-track: timeout opening %v; peer node %v not connected to any DERP relay", flow, n.Key.ShortString()) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ps, found := e.getPeerStatusLite(n.Key) |
|
|
|
|
@ -187,15 +189,19 @@ func (e *userspaceEngine) onOpenTimeout(flow flowtrack.Tuple) { |
|
|
|
|
_ = ps.LastHandshake |
|
|
|
|
|
|
|
|
|
online := "?" |
|
|
|
|
if n.Online != nil { |
|
|
|
|
if *n.Online { |
|
|
|
|
online = "yes" |
|
|
|
|
} else { |
|
|
|
|
online = "no" |
|
|
|
|
if n.IsWireGuardOnly { |
|
|
|
|
online = "wg" |
|
|
|
|
} else { |
|
|
|
|
if n.Online != nil { |
|
|
|
|
if *n.Online { |
|
|
|
|
online = "yes" |
|
|
|
|
} else { |
|
|
|
|
online = "no" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if n.LastSeen != nil && online != "yes" { |
|
|
|
|
online += fmt.Sprintf(", lastseen=%v", durFmt(*n.LastSeen)) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if n.LastSeen != nil && online != "yes" { |
|
|
|
|
online += fmt.Sprintf(", lastseen=%v", durFmt(*n.LastSeen)) |
|
|
|
|
} |
|
|
|
|
e.logf("open-conn-track: timeout opening %v to node %v; online=%v, lastRecv=%v", |
|
|
|
|
flow, n.Key.ShortString(), |
|
|
|
|
|