From 34e6ef1d15cee927989dff70abf446968f3df0ad Mon Sep 17 00:00:00 2001 From: Jacquin Antoine Date: Mon, 2 Mar 2026 23:56:24 +0100 Subject: [PATCH] fix: add error callback for UNIX socket connection errors in main.go - Configure ErrorCallback on output builder to log socket connection failures - Errors now visible via appLogger.Error when socket connection fails - Helps diagnose missing socket or permission issues Co-authored-by: Qwen-Coder --- cmd/ja4sentinel/main.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/ja4sentinel/main.go b/cmd/ja4sentinel/main.go index 8ae7059..894a416 100644 --- a/cmd/ja4sentinel/main.go +++ b/cmd/ja4sentinel/main.go @@ -115,7 +115,15 @@ func main() { captureEngine := capture.New() parser := tlsparse.NewParserWithTimeout(time.Duration(appConfig.Core.FlowTimeoutSec) * time.Second) fingerprintEngine := fingerprint.NewEngine() - outputBuilder := output.NewBuilder() + + // Create output builder with error callback for socket connection errors + outputBuilder := output.NewBuilder().WithErrorCallback(func(socketPath string, err error, attempt int) { + appLogger.Error("output", "UNIX socket connection failed", map[string]string{ + "socket_path": socketPath, + "error": err.Error(), + "attempt": fmt.Sprintf("%d", attempt), + }) + }) outputWriter, err := outputBuilder.NewFromConfig(appConfig) if err != nil {