diff options
Diffstat (limited to 'cmd/relayd/fingerprint.go')
| -rw-r--r-- | cmd/relayd/fingerprint.go | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/cmd/relayd/fingerprint.go b/cmd/relayd/fingerprint.go index 7ef2d13..1a30a57 100644 --- a/cmd/relayd/fingerprint.go +++ b/cmd/relayd/fingerprint.go @@ -41,12 +41,16 @@ func applyTLSFingerprinter(server *http.Server) { } server.ConnContext = func(ctx context.Context, c net.Conn) context.Context { ctx = context.WithValue(ctx, tlsFingerprintKey{}, &TLSFingerprint{}) - tcpFP, err := assignTCPFingerprint(c) - if err == nil { - ctx = context.WithValue(ctx, tcpFingerprintKey{}, tcpFP) - } else { - slog.Debug("ja4t error", "err", err) + + if tc, ok := c.(*tls.Conn); ok { + tcpFP, err := assignTCPFingerprint(tc.NetConn()) + if err == nil { + ctx = context.WithValue(ctx, tcpFingerprintKey{}, tcpFP) + } else { + slog.Debug("ja4t error", "err", err) + } } + return ctx } } |
