mirror of
https://github.com/jmcorgan/fips.git
synced 2026-10-06 11:38:24 +00:00
The DNS responder's exit report followed a loop that never returns, so it was unreachable, and a panic in the DNS task or either TUN thread unwound past its report. In each case the node stayed healthy with the child gone, and the DNS address stayed published for a socket nobody answered on. Each child body now runs inside a small wrapper that catches a panic, logs it, and reports the exit on either outcome. A deliberate stop still reports nothing, since aborting the task drops the wrapper before it can send. Tests cover both wrappers on panic and on return, the abort case, and the rx loop's handling of a DNS exit: the node degrades and retracts the responder's address.