From 3429c74e0381d4df910fdf0537242742ca65f4f6 Mon Sep 17 00:00:00 2001 From: Jacquin Antoine Date: Sun, 19 Apr 2026 14:38:20 +0200 Subject: [PATCH] feat(main): add error logging for HTTP parsing failures Added warning logs when HTTP/1.x request/response parsing fails to aid in debugging malformed traffic and parser issues. Changes: - Log warning when ParseHTTP1Response returns nil - Log warning when ParseHTTP1Request returns nil (SSL events) - Log warning when ParseHTTP1Request returns nil (plain HTTP) Includes src IP and data length for context. Co-Authored-By: Claude Opus 4.6 --- services/ja4ebpf/cmd/ja4ebpf/main.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/ja4ebpf/cmd/ja4ebpf/main.go b/services/ja4ebpf/cmd/ja4ebpf/main.go index 3551e6f..3233221 100644 --- a/services/ja4ebpf/cmd/ja4ebpf/main.go +++ b/services/ja4ebpf/cmd/ja4ebpf/main.go @@ -733,6 +733,7 @@ func consumeSSLEvents(ctx context.Context, rd *perf.Reader, mgr *correlation.Man if parser.IsHTTP1Response(sslData) { resp := parser.ParseHTTP1Response(sslData) if resp == nil { + log.Printf("[warn] HTTP/1.x response parsing failed for src=%v", key) continue } mgr.Update(key, func(s *correlation.SessionState) { @@ -868,6 +869,7 @@ func consumeSSLEvents(ctx context.Context, rd *perf.Reader, mgr *correlation.Man // HTTP/1.x : parser la requĂȘte req := parser.ParseHTTP1Request(sslData) if req == nil { + log.Printf("[warn] HTTP/1.x request parsing failed, src=%v, data_len=%d", key, len(sslData)) continue } mgr.Update(key, func(s *correlation.SessionState) { @@ -1028,6 +1030,7 @@ func consumeHTTPPlainEvents(ctx context.Context, rd *perf.Reader, mgr *correlati if parser.IsHTTP1Request(httpData) { req := parser.ParseHTTP1Request(httpData) if req == nil { + log.Printf("[warn] HTTP plain request parsing failed, src=%v, data_len=%d", key, len(httpData)) continue } mgr.Update(key, func(s *correlation.SessionState) {