tcp: fix parsing

This commit is contained in:
2026-05-14 15:34:12 +00:00
parent eb4b4f1644
commit bc25169f41
2 changed files with 11 additions and 3 deletions
+10 -2
View File
@@ -30,12 +30,14 @@ type tlsStream struct {
reqUpdated bool reqUpdated bool
reqLSM *utils.LinearStateMachine reqLSM *utils.LinearStateMachine
reqDone bool reqDone bool
reqFed int
respBuf *utils.ByteBuffer respBuf *utils.ByteBuffer
respMap analyzer.PropMap respMap analyzer.PropMap
respUpdated bool respUpdated bool
respLSM *utils.LinearStateMachine respLSM *utils.LinearStateMachine
respDone bool respDone bool
respFed int
clientHelloLen int clientHelloLen int
serverHelloLen int serverHelloLen int
@@ -64,7 +66,10 @@ func (s *tlsStream) Feed(rev, start, end bool, skip int, data []byte) (u *analyz
var update *analyzer.PropUpdate var update *analyzer.PropUpdate
var cancelled bool var cancelled bool
if rev { if rev {
s.respBuf.Append(data) if len(data) > s.respFed {
s.respBuf.Append(data[s.respFed:])
s.respFed = len(data)
}
s.respUpdated = false s.respUpdated = false
cancelled, s.respDone = s.respLSM.Run() cancelled, s.respDone = s.respLSM.Run()
if s.respUpdated { if s.respUpdated {
@@ -75,7 +80,10 @@ func (s *tlsStream) Feed(rev, start, end bool, skip int, data []byte) (u *analyz
s.respUpdated = false s.respUpdated = false
} }
} else { } else {
s.reqBuf.Append(data) if len(data) > s.reqFed {
s.reqBuf.Append(data[s.reqFed:])
s.reqFed = len(data)
}
s.reqUpdated = false s.reqUpdated = false
cancelled, s.reqDone = s.reqLSM.Run() cancelled, s.reqDone = s.reqLSM.Run()
if s.reqUpdated { if s.reqUpdated {
+1 -1
View File
@@ -58,7 +58,7 @@ func generateNftRules(local, rst bool, numQueues int) (*nftTableSpec, error) {
} }
} else { } else {
table.Chains = []nftChainSpec{ table.Chains = []nftChainSpec{
{Chain: "FORWARD", Header: "type filter hook forward priority filter; policy accept;"}, {Chain: "FORWARD", Header: "type filter hook forward priority mangle; policy accept;"},
} }
} }
for i := range table.Chains { for i := range table.Chains {