From 0420ffbf578f058d422a8ebde0a00941da436476 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 21 Feb 2025 09:34:44 +0100 Subject: [PATCH] fix unmarshalling of expr.Ct source register (#301) --- expr/ct.go | 3 +++ expr/ct_test.go | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/expr/ct.go b/expr/ct.go index 127b6fd..0d58f2b 100644 --- a/expr/ct.go +++ b/expr/ct.go @@ -186,6 +186,9 @@ func (e *Ct) unmarshal(fam byte, data []byte) error { e.Register = ad.Uint32() case unix.NFTA_CT_DIRECTION: e.Direction = ad.Uint32() + case unix.NFTA_CT_SREG: + e.SourceRegister = true + e.Register = ad.Uint32() } } return ad.Err() diff --git a/expr/ct_test.go b/expr/ct_test.go index b495860..6b77c8a 100644 --- a/expr/ct_test.go +++ b/expr/ct_test.go @@ -38,6 +38,14 @@ func TestCt(t *testing.T) { Direction: 1, // direction: reply }, }, + { + name: "Unmarshal Ct source register case", + ct: Ct{ + Register: 1, + Key: CtKeySRC, + SourceRegister: true, + }, + }, } for _, tt := range tests {