4d4690b535
- serial/handler.go: capture xnet.Pipe return value in Handle() and forwardSerial() - serial/handler.go: log Warnf when chain dial returns (nil,nil) before falling back - sni/handler.go: use defer for read deadline reset to prevent stale deadline - sni/handler.go: unrecognized protocol returns nil (clean close) instead of error - sni/metadata.go: update readTimeout comment to reflect dual usage (deadline + SnifferBuilder)